请问关于图标色彩失真的问题(100分)

  • 主题发起人 主题发起人 atoi
  • 开始时间 开始时间
A

atoi

Unregistered / Unconfirmed
GUEST, unregistred user!
我我想在自己开发的控件里面显示一个图标,这个控件集成自TCustomLabel。我为这个控件添加了一个Picture属性,类型是TPicture,并用一个资源文件静态编译了一个图标进去,并在代码中使用windows api LoadImage从资源中读取这个图标并赋值给Picture属性,并最终使用TCanvas.Draw方法画在label上。现在的问题是在设计时这个控件工作的很好,但是一旦程序运行起来,图标显示的色彩就会成了16色,请问这可能是什么原因造成的?
相关代码如下:

FPicture: TPicture;
property Picture: TPicture read FPicture write SetPicture;

{$R icon.res}
constructor TMyLabel.Create(AOwner: TComponent);
var
hRes: THandle;
begin
inherited;

hRes := LoadImage(HInstance, 'ICON_HINT', IMAGE_ICON, 16, 16, 0);
FPicture.Icon.Handle := hRes;
end;
procedure TMyLabel.Paint;
var
x_offset: Integer;
begin
Canvas.Draw(5, 5, FPicture.Graphic);
end;

procedure TMyLabel.SetPicture(Picture: TPicture);
begin
FPicture.Assign(Picture);
end;
 
TMyLabel继承什么类?他的画布是16色的吗?
 
继承的是TCustomLabel啊
 
提前一下,亟待解答
 
我会,www.ysza.com,qq:171833017
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部