右键单击托盘后,弹出一菜单,关闭不了,只有选择某一项或在程序窗口内单击鼠标是才能关闭菜单,为什么会这样?
下面是部分程序:
else if(lParam==WM_RBUTTONDOWN)//鼠标右键单击弹出菜单
{
CMenu menu;
menu.LoadMenu(IDR_APP_MENU); //载入事先定义的菜单
CMenu* pMenu=menu.GetSubMenu(0);
CPoint pos;
GetCursorPos(&pos);
pMenu->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,pos.x,pos.y,AfxGetMainWnd(),NULL);
::PostMessage( m_hWnd, WM_NULL, 0, 0 );
pMenu->DestroyMenu();
}
下面是部分程序:
else if(lParam==WM_RBUTTONDOWN)//鼠标右键单击弹出菜单
{
CMenu menu;
menu.LoadMenu(IDR_APP_MENU); //载入事先定义的菜单
CMenu* pMenu=menu.GetSubMenu(0);
CPoint pos;
GetCursorPos(&pos);
pMenu->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,pos.x,pos.y,AfxGetMainWnd(),NULL);
::PostMessage( m_hWnd, WM_NULL, 0, 0 );
pMenu->DestroyMenu();
}
解决方案 »
- MFC中cview与mainFrm数据传输
- readString读取文件
- 一个老话题里的新问题《transparent flash control in plain C++》
- *************VC中我有一个全局线程函数,用于网络监听,有新用户连接时,将新用户信息显示在TreeView上,如何在线程函数中访问TreeView
- 关于CFrameWnd中获得CView的指针
- 为什么加入“custom control"控件后,调试运行程序却没有反应呢?谢谢参与
- 如何对CListCtrl中不同的Item设置不同的文本颜色??
- 关于用VC6开发NT SERVICE程序的方法
- 关于拷贝构造函数
- 请教播放avi文件的vc编程问题 !急急急!
- 如何用程序控制交换机端口的打开和关闭问题
- access问题
::PostMessage( m_hWnd, WM_NULL, 0, 0 );
~~~~~~~~~~~~::SendMessage看看
pMenu->DestroyMenu();
POINT point;
HMENU hMenu, hSubMenu;
// Get mouse position
GetCursorPos(&point);
// Popup context menu
hMenu = LoadMenu(hInst, MAKEINTRESOURCE(IDR_MYMENU));
hSubMenu = GetSubMenu(hMenu, 0);
SetMenuDefaultItem(hSubMenu, IDM_DEFAULTCMD, FALSE);
SetForegroundWindow(hMainDlg); // Per KB Article Q135788
TrackPopupMenu(hSubMenu,
TPM_LEFTBUTTON|TPM_RIGHTBUTTON|TPM_LEFTALIGN,
point.x, point.y, 0, hWnd, NULL);
PostMessage(hMainDlg, WM_NULL, 0, 0); // Per KB Article Q135788
DestroyMenu(hMenu);
在GetCursorPos(&pos);侯加
::SetForegroundWindow(nid.hWnd); //nid为托盘结构体
谢谢大家的参与!