菜单问题;急死我了。

mjxllj 2003-04-29 05:52:47
有一个MainMenu菜单,要用回车使它的第一个子菜单弹出来,不能用Mouse;
...全文
31 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
niuzhenjun 2003-04-30
  • 打赏
  • 举报
回复
//需要判断Key是不是13即回车
void __fastcall TForm1::Edit2KeyPress(TObject *Sender, char &Key)
{

HWND hWnd = this->Handle;
SetForegroundWindow(hWnd);
keybd_event(VK_MENU, 0, 0, 0); //向窗口发送Alt键
keybd_event('F', 0, 0, 0); //向窗口发送F键,必须和你需要显示的菜单快捷键对上

//以下两行不要立即调用,否则看不到效果,但是必须调用(可能你需要在其他地方调用),否则系统默认你按了Alt键
keybd_event('F', KEYEVENTF_KEYUP, 0, 0); //释放F键
keybd_event(VK_MENU, KEYEVENTF_KEYUP, 0, 0); //释放Alt键

}
xuv2002 2003-04-30
  • 打赏
  • 举报
回复
看我的方法吧
http://expert.csdn.net/Expert/topic/1724/1724418.xml?temp=.5325739
huang_jihua 2003-04-30
  • 打赏
  • 举报
回复
楼上的方法应该可以,我还想到一个方法,就是用POPUPMENU代替你的MENU,就可以用
POPUPMENU的DoPopup()了。
eastnofail 2003-04-30
  • 打赏
  • 举报
回复
可以这样呀,把你的菜单设置一个快捷键,比如(&F)然后当窗口按下回车的时候发送一个(ALT+F)的键盘消息不久ok了,我做完试了一下,是可以的
yyfzy 2003-04-30
  • 打赏
  • 举报
回复
用Click()只能是执行,而不能显示菜单

昨天晚上我试了很久,但还早不到解决的办法
huang_jihua 2003-04-30
  • 打赏
  • 举报
回复
楼上的,你要弹开FILE(里面还有EDIT,OPEN等菜单)这个菜单,你可以用FILE这个菜单项的CLICK。
mjxllj 2003-04-30
  • 打赏
  • 举报
回复
老大,我只要菜单弹出来,不是要执行某一菜单项目。
ninyjun2008 2003-04-29
  • 打赏
  • 举报
回复
在主窗体的KEYDOWN事件中(KEYPREVIEW属性=true)

写if (Key==13) MenuItem->OnClick;
搞定,

接分!!!!
csdsq 2003-04-29
  • 打赏
  • 举报
回复
用方向键比较好吧.为什么要用回车呢?

13,825

社区成员

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

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