当前位置 :| 主页>知识库>

把资源集成在delphi控件中

来源:易族智汇 作者:李志富 时间:2009-05-13 Tag:控件   资源   点击:30

在delhpi控件中如果用到了TBitBtn的话,可能我们需要直接将位图储存在控件中。具体做法是:

编辑一个文本文件,格式如下:
名称 Bitmap 文件名
存为扩展名为.rc的文件,如
btns.rc
backbmp Bitmap backbmp.bmp

注意,要将backbmp.bmp与btns.rc放置在同一文件夹下。

运行命令行:
brcc32.exe btns.rc

则会在该文件夹下生成btns.RES资源文件。

在控件的implementation下加上一行
{$R btns.RES}
//当然了,btns.RES文件要在对应的文件夹下

将位图加入到TBitBtn中:
BitBtn1.Glyph.LoadFromResourceName(Hinstance,'backbmp');
好了,看看结果吧。

但用这种方法有一个问题,就是当位图是前后重复的(一个为正常,另一个为Disabled状态位图)时候会造成整个图都被显示出来,而Enabled=false时的位图却是空的,如下图

因为Delphi的TBitBtn控件未对LoadFromResourceName方法做操作,导致位图未被其内置的TImageList拆分。要解决也简单,只要以赋值的方式操作其Glyph对象就行了。如下:
bmp:TBitmap;

...

bmp:= TBitmap.Create;
bmp.LoadFromResourceName(Hinstance,'backbmp');
BitBtn1.Glyph := bmp;
//好了吧

 


上一篇:文章内容偶尔乱码解决办法
下一篇:没有了
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册
联系我们

业务联系:刘先生
电话:010-84821737
手机:13331002660
Q Q:25106942
技术支持:李先生
电话:010-84825799
Q Q:20487473


邮箱:enation@126.com