Delph组件如何使用自己的图标

http://blog.csdn.net/henreash/article/details/7298451

用Delphi开发的的组件如何使用自己设置的图标呢?它里面又有什么奥秘呢?.组件使用自己的图标要进行以下几步:

(1)知晓组件的信息: 我要注册的组件名为TNWTReport,在NWTReport.pas单元中.

(2)制作一个和你的组件所在的单元文件同名的dcr文件,这里即为NWTReport.dcr,在该文件中添加一个24*24的BITMAP文件,名称一定要与你的组件名称一致,且全部大写,这里即为 TNWTREPORT.

(3)将该NWTReport.dcr放在组件单元NWTReport.pas的同一目录下

(4)重新在你的组件包NWTReport7.dpk中,Add组件单元NWTReport.pas,此时组件包NWTReport7.dpk中将自动添加一个dcr文件NWTReport.dcr.

(5)重新编译,安装,即可了.

注:以上工作可以用DELPHI自带的Image Editor软件完成. DCR实际上是资源文件,可以包含若干24X24大小16色的Bitmap,这些Bitmap只在设计时用到,就是显示在Component Platte中的那些代表控件的图标。当IDE加载一个组件包xxx.bpl时, 它会在该包所在的目录下查找一个名为 xxx.dcr 的文件,找到的话则加载该文件,对于该包中名为 YYY 的Component,会在该资源中查找名为 YYY 的资源项(bitmap),找到则调用该资 源项在Component Platte中绘图代表YYY这个组件。找不到则使用缺省的Bitmap来绘图表示包中的组件。运行时不会用到这些Bitmap,所以这种文件不会被编译到dcu或exe(bpl)中。任何 能打开 res 文件的工具应该都能打开 DCR 件,打开后每一项都可以存为bmp文件的,就可以再利用了.

在Delphi2007中发现如果包的工程文件dpk与控件单元不在同一目录下,如果将dcr文件与dpk同目录则控件面板中显示图标,但拖放到窗体后不显示.反之控件面板不显示.将dcr与控件单元同目录,重启系统后则全部正常显示.

原文地址:https://www.cnblogs.com/xiefang2008/p/6024893.html