我做了一个单文档应用程序,程序启动后就在 SYSTEM TRAY 添加一个图标,然后隐藏主窗口。在 SYSTEM TRAY 的右键消息处理中,弹出一个菜单。(主窗口一直隐藏)
问题是,这个右键菜单只有在我选择了其中一项时,才会消失,否则无论我点其他或桌面任何位置,这个菜单都不会消失,这不应该吧?
各位帮帮忙,想想办法吧!
附部分代码:
// 向 System Tray 添加一个图标
         NOTIFYICONDATA m_tnd;
         m_tnd.cbSize = sizeof(NOTIFYICONDATA);
m_tnd.hWnd = GetSafeHwnd();
m_tnd.uID = 0;
m_tnd.uVersion = NOTIFYICON_VERSION;
m_tnd.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP ;
m_tnd.uCallbackMessage = WM_TRAY_NOTIFY;
strcpy( m_tnd.szTip, "拨号网络计时器" );
m_tnd.hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
Shell_NotifyIcon(NIM_ADD, &m_tnd);
// 右键消息处理部分,用于显示弹出菜单
POINT pt ;
GetCursorPos (&pt) ;
CMenu* pPop = m_popMenu.GetSubMenu(0);
pPop->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, pt.x, pt.y, this);