有一个更好的办法,你可以用bitbtn来完成你的工作,因为在bitbtn中有一个属性numglyphs,它可以指定位图的数量,最大数为4,这四个图分别表示在你的按钮:获得焦点,被按下,失去焦点,变灰时的位图,我想这四种状态应该满足你的要求了吧!
解决方案 »
- delphi 自动更新,数据库怎么储存exe?
- 我用QuickRep做报表,在本机可以打印出来,但在网络打印机打印出空空的一张白纸
- 请问各大师如何在DBGrid或DBGridEh表格中的不同的数据显示不同的颜色?
- 如何通过输入的参数(string类型),来调用Timage控件的picture属性啊~
- Delphi7作的界面有汉字为什么是英文版的windows XP上显示为乱码(显示为:"???")?急急,在线等待!
- 软件快作完了,大家来评评,先发个demo
- 我的listbox设置成每项前有一个checkbox,如何单击某一行的checkbox,让行的焦点也变为此行?
- 什么函数返回ASCII码的对应的字符
- delphi5 用微软soap tollkit3.0,连接wsdl时报错!!!
- 用findfirst 和 findnext怎么样区分文件和目录?
- 关于WebSnap的简单问题!!
- 为什么我自己的机器不能访问http://www.csdn.net
2、可以自己派生timage控件,加一些属性方法,重载一些东西就可以了
2、可以自己派生timage控件,加一些属性方法,重载一些东西就可以了
e-mail:[email protected]
http://sd.88vip.com/images/THIS.jpg
e-mail:[email protected]
1. 此组件上面可以画图或贴图像;
2. 它的边缘可以不出现;
3. 能响应OnMouseMove事件,当此事件出现时,表明鼠标正移到它上面;根据以上要求可知:
* 普通的Tbutton类组件是不行的,因为button上无法画图,也无法使边缘不出现;
* 但Tspeedbutton组件就能实现:
1.贴图就是改变其gliph;
2.要使其边缘可以不出现,只要将 flat属性设置为true即可;
3.响应onMouseMove事件的功能则显然总是具有的; 但除此而外,还有别的组件也可以用来多媒体按钮,例如,最常用的就是利用Image组件.利用image组件制作'多媒体'按钮的好处在于它的边框本来就不存在的;由于没有边界,所以,只要把image上所贴图像的边缘颜色和它背景的颜色一样,你就可把按钮设计成为任意的形状.
Image1的OnMouseMove
Image1.Picture.loadfromfile(picture1);Form1的OnMouseMove
Image1.Picture.loadfromfile(picture2);
给他加入OnMouseLeave
Type TMyImage=class(TImage);
pravite
FOnMouseLeave:TNotifyEvent;
procedure CMMouseLeave(var Message:TMessage);message CM_MOUSELEAVE;published
property
OnMouseLeave:TNotifyEvent read FOnMouseLeave write FOnMouseLeave;
......
procedure TMyImage.CMMouseLeave(var Message:TMessage);
begin
inherited;
if Assigned(FOnMouseLeave) then
FOnMouseLeave(self);
end;
用这个控件吧:1stClass
如果你找不到,告诉我mail,给你发一个,还有其他的关于界面的控件(含有demo),能做出很漂亮的界面,可以一起发给你.