初学者的menu问题,急啊,各位大虾看看吧? 将TMainMenu或者TPopupmenu的OwnerDraw属性设为True。就可以了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 小妹再问一个弱智问题,ownerdraw属性 +onMeasureItemonDrawItem一般用来做什么?这2个事件的触发顺序及用法可以简单介绍一下吗?我增加了showmessage后一运行就死机?谢啦! onDrawItem是给你自己画菜单用的~~~怎么那么多小妹? 在OnDraw事件中最好不要写ShowMessage,会引起死循环的。 呵呵~~TO:chechy(chechy)你怎么知道我的头发都快要掉光了??哈哈~~ TO: nicho(妮可) ~~小妹当然好了~~:)~~欢迎~~~是呀!!OnDraw是时时触发的~~~~ onMeasureItem是用来在自己画菜单时之前测定每一项的高度,你可通过给参数“Height”赋值以达到目的。但是这时的自画风格应该设为:DrawVarialble(可能是这样写的吧,意思是“可变的”)。这两个事件都在菜单重画时触发,但首先是onMeasureItem事件,然后是onDrawItem事件。 呵呵~~是呀!!可以在onMeasureItem里面设定菜单的高度~~在OnDraw里面设定菜单的字体以及颜色等等~~使之与高度相匹配~~这样好看一些~~:) OnMeasureItem是要设定需要画的菜单的长和宽。通常是不用写的,除非你想让菜单折行。OnDrawItem才是经常要处理的。基本上在这里写代码。最简单的代码就是DrawText(Canvas.Handle, PChar((Sender as TMenuItem).Caption), -1, ARect, DT_LEFT or DT_VCENTER); TO: nicho(妮可) ~~~小妹~~chechy(chechy) 可是很厉害的~~你可以拜他为师呀~~ 在OnDrawItem中写ShowMessage,实际上又诱发MenuItem重绘,重新触发OnDrawItem。这样引起死循环。 真的啊,chechy(chechy) ,我刚开始学习delphi,这么笨的徒弟你肯收吗?要什么拜师礼吗?:) tikkypeng(千两狂死郎)你就不要客气了,收了这个徒弟吧。你水平也不错啊! 拜见tikkypeng,chechy两位师伯! 有关DbgridEH 能否用SQL对ACCESS数据库进行备份为恢复?? 具体代码该如何写?? 数据库记录修改的小问题?想得分的快进,在线等. 如果已经在我机器上安装了.net框架还能否安装delphi7呢? 各位高手请告知我一些BS结构的知识,分数多的是 用ado连接access数据库移植的问题 BDE连接sybase11.9.2,怎么设置才能让login时的用户名加密传送?让sniffer抓不到? dll 的问题,还有MSCOM控件... 有谁用过wise安装工具? Delphi如何与单片机通信 我想用UNIX的连接终端的串口连接我的计算机,请问该如何做? 我该咋办?
ownerdraw属性 +
onMeasureItem
onDrawItem
一般用来做什么?这2个事件的触发顺序及用法可以简单介绍一下吗?我增加了showmessage后一运行就死机?
谢啦!
是呀!!OnDraw是时时触发的~~~~
事件。
可以在onMeasureItem里面设定菜单的高度~~
在OnDraw里面设定菜单的字体以及颜色等等~~使之与高度相匹配~~
这样好看一些~~:)
OnDrawItem才是经常要处理的。基本上在这里写代码。
最简单的代码就是
DrawText(Canvas.Handle, PChar((Sender as TMenuItem).Caption), -1, ARect, DT_LEFT or DT_VCENTER);
要什么拜师礼吗?:)