<b>工具栏中的主菜单实现自定义快速键的办法</b>[VC/C++编程]
本文“<b>工具栏中的主菜单实现自定义快速键的办法</b>[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
假如做过“把主菜单放到工具栏里”的兄弟们城市发现一个问题:那就是系统会自动给菜单选项加上热键(假如你的菜单选项是英文,那么会在第一个字母下加横线,假如你的菜单选项是中文,那么会在菜单选项的背面加上近似(Y)、(Z)的快速键),而使你自己定义的快速键失效!(注:我后来发现,假如自己加的是近似(H)的快速键时,就不会呈现这样的问题.而只有当我们加的是近似Ctrl+A,F1,Ctrl+Alt+D等的快速键时才会呈现问题;别的当为TMainMenu设置了Images属性后,也就是说给菜单项加了图片,英文菜单的问题会消逝,但中文菜单的问题仍然存在.这此中的缘由,我也搞不清楚).即便我们设置mainMenu的AutoHotkeys=maManual也办理不了.
当初我在碰到这个问题后,一筹莫展,只好向高手们请教.后来在BCB_FANS和JSP两位垂老的帮忙下,才办理问题.因此,这篇文章实际上是整理的两位垂老的办法.
首先,让我们去掉系统自动加的热键.
当我们把菜单放到工具栏里后,我们在程序运行时看到的菜单其实不是我们在计划时加的TMainMenu,而是系统暂时new的一个TPopupMenu,而这个暂时的菜单的AutoHotkeys属性默许为maAutomatic,所以就会给菜单自动加上热键.这个问题是BCB_FANS发现的(我不大概有这么利害,呵呵),他的原话是这样的:
“实际上显示菜单的时刻,TToolBar并非利用本来已经计划好的菜单了,而是重新成立一个暂时的TPopupMenu,并把本来的那个菜单的菜单项增添到这个TPopupMenu当中,最后才显示这个暂时的TPopupMenu.这个TPopupMenu的AutoHotkeys为maAutomatical,并且没有任何方法可以掌握这个暂时的TPopupMenu的属性.所以显示出来的菜单城市自动增添快速字符.”
以上是“<b>工具栏中的主菜单实现自定义快速键的办法</b>[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |