我在如下语句中调用color属性
procedure ColorSet(ASender: TControl;SectionName:String);
var
IniSetting: TIniFile;
iRed,iGreen,iBlue: Byte;
begin
IniSetting := TIniFile.Create(g_wsrzSetIniFile);
iRed := IniSetting.ReadInteger(SectionName,'red',250);
iGreen := IniSetting.ReadInteger(SectionName,'green',250);
iBlue := IniSetting.ReadInteger(SectionName,'blue',250);
ASender.Color := RGB(iRed,iGreen,iBlue);
IniSetting.Free;
end;编译时在语句ASender.Color := RGB(iRed,iGreen,iBlue);提示color没有定义。在当前单元里我已经包含了Controls,Graphics单元。请大侠们帮下忙,谢谢!
procedure ColorSet(ASender: TControl;SectionName:String);
var
IniSetting: TIniFile;
iRed,iGreen,iBlue: Byte;
begin
IniSetting := TIniFile.Create(g_wsrzSetIniFile);
iRed := IniSetting.ReadInteger(SectionName,'red',250);
iGreen := IniSetting.ReadInteger(SectionName,'green',250);
iBlue := IniSetting.ReadInteger(SectionName,'blue',250);
ASender.Color := RGB(iRed,iGreen,iBlue);
IniSetting.Free;
end;编译时在语句ASender.Color := RGB(iRed,iGreen,iBlue);提示color没有定义。在当前单元里我已经包含了Controls,Graphics单元。请大侠们帮下忙,谢谢!
TMyControl = class(TControl)...TMyControl(ASender).Color := RGB(iRed,iGreen,iBlue);
我目的是想控制panel,frame,dbgrid的颜色。如果用你的方法我是不是应该又加些代码呢?谢谢
if ASender is Tframe then tFrame(ASender).color ...
if ASender is .....................
你也可以用别的方式,但要检查是否存在Color 这个属性。还有,你的颜色保存的时候可以不用分开为R,G,B,颜色是整形,你强制类型转化一下即可;