小问题:如何在PopupMenu弹出菜单后,自动选中其中某一选项

snowfield 2005-03-21 08:47:43
我希望在PopupMenu弹出菜单后,其中某一选项自动高亮。应该如何实现?谢谢!
...全文
315 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jishiping 2005-03-23
  • 打赏
  • 举报
回复
也许笨的方法,就是如楼上说的,用keybd_event来模拟按键。
void __fastcall TForm1::PopupMenu1Popup(TObject *Sender)
{
//这儿的 NUM 就是菜单的位置,不包含分隔菜单-
for(int n=0; n<NUM; n++) {
if (n!=0) Sleep(5);
keybd_event(VK_DOWN, 0, 0, 0);
keybd_event(VK_DOWN, 0, KEYEVENTF_KEYUP, 0);
}
}
setdefault 2005-03-22
  • 打赏
  • 举报
回复
在OnPopup里面加上下面这句试试
keybd_event(VK_DOWN, 0, 0, 0);
snowfield 2005-03-22
  • 打赏
  • 举报
回复
我试过了,将个菜单项的default设置为true,只是字体变黑,按回车菜单就消失,但并没有执行相应的菜单项下的命令。实在不知道是怎么回事。
jishiping 2005-03-22
  • 打赏
  • 举报
回复
将个菜单项的default设置为true了,在弹出时,该选项变黑,此时按回车就执行该项目命令。
snowfield 2005-03-22
  • 打赏
  • 举报
回复
比如鼠标移到某个菜单项上时,就会变为高亮。此时再回车就回执行该项目命令。
现在我就是希望弹出菜单后,其中一项自动变为高亮,就好象鼠标移过去了一样。当然如要执行还需要再按回车。

我将个菜单项的default设置为true了,但在弹出时,该选项只是变黑而已,不知为何,并未变为高亮,好象并没什么作用。

请指教!
milkwayhong 2005-03-21
  • 打赏
  • 举报
回复
4242
jishiping 2005-03-21
  • 打赏
  • 举报
回复
自动高亮是什么意思?自由鼠标移到某个菜单上面,这个菜单才会高亮。也许楼主可以通过设定菜单的Default来达到你的要求。

13,870

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧