ImageList为什么不能读这种位图?(100分)

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

Hjg

Unregistered / Unconfirmed
GUEST, unregistred user!
我用BC5.02'抠'下来一个软件的工具条的图标,上面有的图标是256色的有的图标是16色的(都是以位图的形式抓下来的)。我想编一个一样的工具条,我用了以下代码:(Delphi)
{$R AA.RES} //载入我的资源文件
....
bmp:=TBitmap.Create;
bmp.LoadResourceName(hInstance,'Bmp1');//Bmp1是一个位图资源名
ImageList1.Add(Bmp,Nil);
....
如果Bmp1是256色,没有任何问题,如果是16色(比如象“打开文件”的图标),就会出现‘Invalid Image Size' 的错误信息。但如果使用SpeedButton也没事(SpeedButton.Gryph:=Bmp).
Help Me! 各位大侠!
 
Delphi Help:
The TImageList component is a collection of same-sized images, each of which can be referred to by its index.

建议使用TLMDLImageList.
TImageList只能 <color = red> Same-sized </color>
 
to kangxy:
哪儿能找到TLMDLImageList, 怎么用?
 
delphi5.4u.ra 用netscape , 202.11.10.2:80 LMD的控件包
如果上不去.自己用TList or TSTringList.AddObject 也可.
记住要释放内存, TList.Clear or TStringList.Clear并不释放Object
 
不是位图颜色问题, 而是位图的大小不对, ImageList位图缺省为16*16.
编程时有控件编辑器帮你处理大小问题, 在运行中则需要自己动手.
 
to cmxu:
我用的的确是16*16,可还是不行
 
多人接受答案了。
 
后退
顶部