一个可能很弱智的问题(20分)

  • 主题发起人 Babyfloppy
  • 开始时间
B

Babyfloppy

Unregistered / Unconfirmed
GUEST, unregistred user!
打开delphi 的IDE,选择 菜单项View/toolbar ,看到了后面的选项
没有? 那个check后的对号打在了一个有立体感的方块内,而我查了
好半天menuitem的属性,只能作到有对号选定,却无法作到那个方块,
使对号能在其中.
哪位能不吝赐教,感谢了.
 
如果用标准menu控件, 那么在OnDrawItem事件里自己画
 
你自己画一张对号的bitmap,赋给menuitem.bitmap
改变menuitem.checked属性,你就可以发现了
 
我开始也这么想过,可我想 可能 delphi中提供了这个东西吧?
它不是提供了checked 后在菜单项前面打了个勾么?
 
呵呵,正好错开了
 
eYes说的没错,或者使用第三方的COOLMENU/VENUS/ANIMENU等构件
 
Another_eyes: 谢谢你的方法,可你说自己画,能否再详细些,我不知如何在
在delphi下怎么自己画图,(是否要用自己用程序画?)


she:你说的事先画一张图,那么是否要封装在程序里呢?还是放在软件包里?
要是封装在程序里,该如何作呢?要是放在包里,如果程序很小,本就想只有一个
exe文件,要为此功能而多添一个bmp文件,我觉得好象不妥.你说呢?

感谢大家帮助.
 
你用画笔画一张20x20大小的黑白图的对号(很小),存成x.bmp;
下面以弹出菜单为例:
在IDE中双击放在form上的代表popupmenu的小方块控件,开始编辑菜单项,
点中某菜单项,然后切换到Object Inspector,在第二行你会发现一个叫
Bitmap的属性,初始值为(None),其右有一个小方块,上面有'...'样子的
三个点,点击这个小方块,会弹出一个文件选择框,选择x.bmp,
然后’确定’,万事OK了
 
she:
你这样做如果把程序copy到外边去就不行了.还必须跟个x.bmp.
能不能把它封装到程序里面去?
 
老大,拜托你试一试好不好,不行你再说话
 
she说的方法是把bmp编译到exe里面了,不用担心.
实在不行用res也可以.
 
有趣,自己画就是设置为Owner Draw然后自己在上面画。
RX里有个例子,满好玩的
 
如此简单的问题却让这么多人着急,真伤心:-(
只要放一个TImageList,如:ImageList1,
把TMainMenu或TPopupMenu的Images设成ImageList1,
OK!!Too Easy!!

其实只要Images不为空,TMenuItem的Check效果就如你说的那样!!
 
希望有一天偶也能得一点专家分 .
 
zhshf:
我用了Imagelist可是不行啊!
D4
 
在你想让它CHECK的TMenuItem(如:MenuItem1)的Click事件里写这么一句话:
MenuItem1.Checked:=not MenuItem1.Checked;
这次一定OK!
:)
 
接受答案了.
 
顶部