+ -
当前位置:首页 → 问答吧 → TrackPopupMenu弹出菜单后父窗口的消息响应问题

TrackPopupMenu弹出菜单后父窗口的消息响应问题

时间:2011-12-07

来源:互联网

我在程序中制作了一个菜单项,但是不是直接用来放到对话框上的
我在对话框上输出了几个词组,当鼠标点击文字时,将在对应文字下方弹出菜单
弹出菜单的代码如下
C/C++ code

         m_nMenuSel = MenuItemChecked(hWnd, point); // 判断是否点击文字。返回文字在数组中的索引
    if(-1 != m_nMenuSel)
    {
        CMenu menu;
        menu.LoadMenu(IDR_MENU2);
        CMenu *pPopup = menu.GetSubMenu(m_nMenuSel);
        CPoint ptMenu;
        ptMenu.x = m_rcMenu[m_nMenuSel].left;
        ptMenu.y = m_rcMenu[m_nMenuSel].bottom;
        ClientToScreen(hWnd, &ptMenu);
        //SetForegroundWindow(hWnd);
        pPopup->TrackPopupMenu(TPM_LEFTALIGN|TPM_LEFTBUTTON|TPM_VERTICAL,ptMenu.x,ptMenu.y,NULL);

        //SetFocus(hWnd);

        return TRUE;
    }



弹出正常,问题就在于,当弹出菜单后,窗口的消息就由当前菜单来处理了,鼠标移动等消息捕获不到了

我想做成一般菜单的那种,鼠标滑过哪个菜单项就在其下弹出其对应菜单。
而现在弹出菜单后,除非点击窗口,不然鼠标消息捕获不到··代码中
SetForegroundWindow(hWnd);
试过了,没有效果··

请问该如何解决呢?

作者: jiratao   发布时间: 2011-12-07

没人知道吗??
我就想实现像迅雷或者其他软件那样,在自己绘制的标题栏上添加一组菜单按钮,鼠标点击弹出一个菜单后,鼠标滑过某个菜单按钮就自动弹出菜单,这样的效果。
求指导,求解决

作者: jiratao   发布时间: 2011-12-08