6 个解决方案
#1
不是当前窗口怎么会弹出菜单?
是不是,弹出位置不对ScreenToClient();ClientToScreen();
CMainFrame *pMain=(CMainFrame *)AfxGetApp()->m_pMainWnd;
得到其它窗口指针的方法
pContextMenu->TrackPopupMenu(TPM_LEFTALIGN|TPM_LEFTBUTTON|TPM_RIGHTBUTTON,point.x,point.y,this);
将this替换即可
是不是,弹出位置不对ScreenToClient();ClientToScreen();
CMainFrame *pMain=(CMainFrame *)AfxGetApp()->m_pMainWnd;
得到其它窗口指针的方法
pContextMenu->TrackPopupMenu(TPM_LEFTALIGN|TPM_LEFTBUTTON|TPM_RIGHTBUTTON,point.x,point.y,this);
将this替换即可
#2
楼主散分,我接分!
#3
呵呵!这个问题我前不久刚碰到过。
我自己做了个自画菜单,程序主窗口已经hide掉了,只有一个托盘图标,这时使用TrackPopupMenu并且如果不加SetForegroundWindow()的话呢,菜单就会一直显示着,除非你选择了其中某一个菜单项。
所以记住了,以后在使用TrackPopupMenu()的时候前面一定要加句SetForegroundWindow()。
呵呵!就这么简单的问题我搞了两天,用尽了所有的办法!
我自己做了个自画菜单,程序主窗口已经hide掉了,只有一个托盘图标,这时使用TrackPopupMenu并且如果不加SetForegroundWindow()的话呢,菜单就会一直显示着,除非你选择了其中某一个菜单项。
所以记住了,以后在使用TrackPopupMenu()的时候前面一定要加句SetForegroundWindow()。
呵呵!就这么简单的问题我搞了两天,用尽了所有的办法!
#4
楼上的不错
#5
没遇到过这种情况,我的都是一直开着
#6
smatter(充内行) : thanks, 我也遇到相同的问题, 并用你的方法解决掉了
#1
不是当前窗口怎么会弹出菜单?
是不是,弹出位置不对ScreenToClient();ClientToScreen();
CMainFrame *pMain=(CMainFrame *)AfxGetApp()->m_pMainWnd;
得到其它窗口指针的方法
pContextMenu->TrackPopupMenu(TPM_LEFTALIGN|TPM_LEFTBUTTON|TPM_RIGHTBUTTON,point.x,point.y,this);
将this替换即可
是不是,弹出位置不对ScreenToClient();ClientToScreen();
CMainFrame *pMain=(CMainFrame *)AfxGetApp()->m_pMainWnd;
得到其它窗口指针的方法
pContextMenu->TrackPopupMenu(TPM_LEFTALIGN|TPM_LEFTBUTTON|TPM_RIGHTBUTTON,point.x,point.y,this);
将this替换即可
#2
楼主散分,我接分!
#3
呵呵!这个问题我前不久刚碰到过。
我自己做了个自画菜单,程序主窗口已经hide掉了,只有一个托盘图标,这时使用TrackPopupMenu并且如果不加SetForegroundWindow()的话呢,菜单就会一直显示着,除非你选择了其中某一个菜单项。
所以记住了,以后在使用TrackPopupMenu()的时候前面一定要加句SetForegroundWindow()。
呵呵!就这么简单的问题我搞了两天,用尽了所有的办法!
我自己做了个自画菜单,程序主窗口已经hide掉了,只有一个托盘图标,这时使用TrackPopupMenu并且如果不加SetForegroundWindow()的话呢,菜单就会一直显示着,除非你选择了其中某一个菜单项。
所以记住了,以后在使用TrackPopupMenu()的时候前面一定要加句SetForegroundWindow()。
呵呵!就这么简单的问题我搞了两天,用尽了所有的办法!
#4
楼上的不错
#5
没遇到过这种情况,我的都是一直开着
#6
smatter(充内行) : thanks, 我也遇到相同的问题, 并用你的方法解决掉了