手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>delphi>列表

用Delphi制作个性化的菜单

来源:互联网 作者:西部数码 时间:2008-04-09
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

在此,我们必须首先把准备将其制作成有个性特征的菜单设为自绘式。


二、关于背景的重绘


通常Windows程序的标准菜单,在其被下拉或弹出时,鼠标在上移动时出现的选择条背景是一单一的颜色,现在我们要将其重绘为有渐变色效果的背景,另外如果要在其背景上绘制图形(您见过这样的菜单吗?),则应先绘图、后绘渐变的背景。这些绘制工作的完成只需简单使用Delphi提供的画布(Canvas)对象。


三、关于重绘图标


如果菜单上有图标,则最好为各菜单项指定ImageIndex索引号,而不要使用其Bitmap属性。这样在为各菜单项指定了ImageIndex索引号后,可以直接用其TImageListDraw方法在同一个画布上绘制相应的图标。


四、关于重绘菜单文本


在重绘菜单时,为了不破坏其背景,应将文本的背景模式设为透明,这要用到一个Windows API函数SetBkMode(),其在C 中定义的原形如下:
int SetBkMode(


HDC hdc,


int iBkMode // flag specifying background mode


);


其中:hdc – 是绘图设备句柄,在Delphi中可为TcanvasHandle

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!