做了一个基于SDI的程序,解决方案里面有多个工程,view里面调用了另外一个工程的对话框。这样的话在view区域点击鼠标无法收起菜单!只有在菜单栏的空白处点鼠标才能收起菜单。我发送WM_LBUTTONDOWN消息给MainFrm和view,都不能收起菜单!请教用什么方法可以收起菜单?

解决方案 »

  1.   

    在TrackPopupMenu前面调用SetForegroundWindow();
      

  2.   


    不是,是SDI的默认菜单。没有显式调用TrackPopupMenu()
      

  3.   

    你是发送WM_LBUTTDOWN消息来模拟鼠标点击菜单的过程?
      

  4.   

    我用鼠标点击菜单让菜单弹出后,在view区域再次点击鼠标,菜单无法收回。
      

  5.   

    问题解决了,通过发送WM_LBUTTONDOWN消息给MainFrm,然后由MainFrm发WM_LBUTTONDOWN消息给menubar控件就可以了。