大家好:
    mainmenu控件没有setfocus属性,请问怎样实现从子程序返回主程序后让主程序上的mainmenu控件或mainmenu控件的一个子菜单成为当前焦点。
                                                 王振亚
                                               2003.10.24

解决方案 »

  1.   

    利用菜单的热键,可以用sendmessage发送一个消息.如文件下的save可以用发送一个alt+F的消息.再发送一个alt+S的消息.呵,这样就执行了!:)
      

  2.   

    谢谢破天惊先生,但我是个delphi生手,您能不能附上详细代码。再一次感谢您。
                                                                王振亚
                                                               2003.10.25
      

  3.   

    mainmenu的defaut属性的作用是什么呢?是不是就是获得焦点的作用呢?
      

  4.   

    模拟键盘按键://mainmenu获得焦点keybd_event(VK_MENU,mapvirtualkey(VK_MENU,0),0,0);//模拟按下 ALTkeybd_event(VK_MENU,mapvirtualkey(VK_MENU,0),keyeventf_keyup,0);//模拟释放 ALT如果想让子菜单获得焦点,可以模拟按下子菜单的快捷键(在设计菜单时加上)或者模拟方向键来将焦点移到目标子菜单上,模拟按下子菜单的快捷键会触发该子菜单的OnClick事件,所以如果只是要获取焦点的效果,就要结合模拟方向键来实现//假设要让要让mainmenu-->(&F)File-->(&O)Open获得焦点(Open排在第二位置)keybd_event(Ord('F'),mapvirtualkey(Ord('F'),0),0,0); //模拟按下 Fkeybd_event(Ord('F'),,mapvirtualkey(Ord('F'),0),keyeventf_keyup,0); //模拟释放 Fkeybd_event(VK_Down,mapvirtualkey(VK_Down,0),0,0); //模拟按下 下箭头keybd_event(VK_Down,mapvirtualkey(VK_Down,0),keyeventf_keyup,0); //模拟释放 下箭头keybd_event(VK_Down,mapvirtualkey(VK_Down,0),0,0); //keybd_event(VK_Down,mapvirtualkey(VK_Down,0),keyeventf_keyup,0); //