如何使动态生成的菜单项不要自动加上&快捷键?(30分)

  • 主题发起人 主题发起人 coolqiang
  • 开始时间 开始时间
C

coolqiang

Unregistered / Unconfirmed
GUEST, unregistred user!
我在程序中动态生成几个菜单项,发现系统自动加上了(&0)、(&1)等我不需要的东西。
for i := 0 to n-1 do
begin
PopupItems := TMenuItem.Create(Self);
PopupItems.Caption := '菜单' + IntToStr(i);
PopupMenu.Items.Add(PopupItems);
end;
 
set property:AutoHotkeys to maManual
 
PopupItems.AutoHotkeys := maManual;
 
我试过了,还是不行!
我仔细查看了Help,发现这个AutoHotkeys不是指生不生成&加速键,而是指系统为避免菜
单加速键冲突而进行的调整方式,以保证每个菜单的加速键唯一,不与其它菜单冲突,如
果为maAutomatic,就是自动调整,如果是maManual就是程序中调用相关代码调整,还有
个maParent。
所以,这个AutoHotkeys解决不了我的问题。
顺便说一下,以前用CheckListBox时也发现过类似问题,居然在其中的Item里也把&后的
字符作为加速键,真是莫名其妙!
 
好象没办法的,以前的贴子上也说过,你就将就着用吧,因为这个破特性,搞得我要
在动态生成的菜单中同时加上标题和hint,然后要用的时候取hint。真拿他没办法。
 
只能从TMenu那里入手咯,不过改控件始终不是已经很好的事情,或许你试试其它的控件吧。
 
看我这个帖子
http://211.101.4.25/delphibbs/dispq.asp?lid=641812
 
嗯,对了
 
接受答案了.
 
后退
顶部