系统拖盘的问题, 急
我用MFC AppWizard(exe)生成了一个单文档应用程序框架, 然后在它的CMainFrame class的构造函数CMainFrame()中加入添加系统拖盘的代码:
HICON hicon = NULL;
NOTIFYICONDATA m_nid;
hicon = AfxGetApp() -> LoadIcon(IDR_MYTRAYTYPE);
m_nid.cbSize = sizeof(NOTIFYICONDATA);
m_nid.hIcon = hicon;
m_nid.hWnd = this -> m_hWnd;
strcpy(m_nid.szTip, "Tip");
m_nid.uCallbackMessage = WM_TRAYNOTIFY;
m_nid.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP;
m_nid.uID = 10;
Shell_NotifyIcon(NIM_ADD, &m_nid);
然后在CMainFrame中加入自定义事件WM_TRAYNOTIFY响应函数
LRESULT CMainFrame::OnTrayNotify(WPARAM wParam,LPARAM lParam)
{
return 1;
}
和响应的加入MFC的事件Map中的代码
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
ON_WM_CREATE()
//}}AFX_MSG_MAP
ON_MESSAGE(WM_TRAYNOTIFY, OnTrayNotify)
END_MESSAGE_MAP()
程序编译运行成功, 系统拖盘区出现我的图标, 但我的鼠标一放上去, 此图标就会消失, 并且我的事件处理函数未被运行.
各位大哥帮忙看看这是什么原因.