怎样把控件的COLOR值转换为RGB值,比如255 255 255?(50分)

  • 主题发起人 主题发起人 hlsoft
  • 开始时间 开始时间
H

hlsoft

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样把控件的COLOR值转换为RGB值,比如255 255 255?
 
function ColorToRGB
 
function TEMSWebModule.RGBColor(Color: TColor): string;
var
RValue, GValue, BValue: integer; //RGB颜色值
begin
RValue := GetRValue(Color);
GValue := GetGValue(Color);
BValue := GetBValue(Color);
Result := 'RGB(' + IntToStr(RValue) + ',' + IntToStr(GValue) +
',' + IntToStr(BValue) + ')';
end;
 
var
c:tcolor;
begin
c:=edit1.Color;
showmessage(inttostr(getRvalue(c)));
showmessage(inttostr(getGvalue(c)));
showmessage(inttostr(getBvalue(c)));
 
GetRValue对一些COLOR为clwindow没有作用,返回的是值“4,0,0”,根本不是RGB值!
怎么办?
 
你选值的时候.可以先判断一下是不是Tcolor类型.
假如color的值大于0就是..如果不大于0就不是..
比如clwindow的值就是-2147483633
而clWhite的值就是16777215
然后 ColorToRGB(color)就可以啦.
 
当COLOR为clWindow时,怎么把clwindow变成RGB呢?
 
后退
顶部