急!!关于按钮上显示位图的问题!!(怎样不准备单独的位图文件?)在线等待!(50分)

  • 主题发起人 主题发起人 eryu
  • 开始时间 开始时间
E

eryu

Unregistered / Unconfirmed
GUEST, unregistred user!
我需要在程序运行时动态的改变按钮上的位图,一般是把准备好的图片放在某个目录里,然
后程序运行时去动态的调用它们,但这样的话,在程序发布时也必须准备这些位图文件。
我想在程序发布时不单独准备这些位图,而能够动态的改变按钮上的位图,请问应该怎么做?
在程序设计时应该怎样“准备”这些位图?
急!在线等待!
请帮忙UP,谢谢!!
 
放到 imagelist 中
 
imagelist?
没用过,
具体怎么用啊?能讲讲吗?
谢谢了!
 
用Toolbar + Imagelist
双击ImageList控件,载入位图。
将Toolbar的images属性设为ImageList1
在Toolbar上点右键,点new button,然后设置该toolbutton的ImageIndex属性。
这些问题其实应该是你自己看书解决的。
 
可以编写图象资源,编写资源脚本(RC文件),列出图象文件以及相应资源
的名称,打开文本文件(在任意编辑器中),编写以下代码:
W1 BITMAP "w1.bmp"
W2 BITMAP "w2.bmp"
W3 BITMAP "w3.bmp"
................
将准备好了的RC文件使用DELPHI中的资源编译器编译为RES文件(用BRCC32)
然后向程序中纳入新资源(刚才编辑的资源文件)就可以了!
 
我不是用toolbutton,
是BitBtn?
没有ImageIndex这个属性啊。
 
to dhycq:
不明白,在文本文件编辑那些是什么意思?
这些路径怎么办?
 
补充一下,定义程序的资源后,需要从资源中装载位图,对于TBITMAP对象,
可以使用LoadFromResourceName对象方法,也可以使用LoadFromResourceID对象
方法。两个对象方法的第一个参数是应用程序的句柄,HInstance,在DELPHI中
是一个全局变量
 
用ImageList就可以了。
var
TemBitmap: array[0..1] of TBitmap;
FormCreate中:
TemBitmap[0] := TBitmap.Create;
TemBitmap[1] := TBitmap.Create;
ImageList1.GetBitmap(0,TemBitmap[0]);
ImageList1.GetBitmap(1,TemBitmap[1]);
改变图片时:
btnTop.Glyph := TemBitmap[0];
或btnTop.Glyph := TemBitmap[1];
FormClose中:
TemBitmap[1].FreeImage;
TemBitmap[2].FreeImage;
 
有点明白了,等会儿试试,先谢谢大家了!
 
用文本编辑器可以带路径的,你自己试试吧。
按扭中调用资源例如:
bmp:tbitmap
bmp:=tbitmap.create;
bmp.loadfromresourcename(hinstance,'w1');
.....
自己试试吧
 
通过资源: *.rc -->*.Res
如果不知道如果编辑资源文件或如何将RC编译成RES,查一下以前的贴子。
 
接受答案了.
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部