VS2008向MFC 對話框 添加托盤圖標(顯示和消失)
2014年5月29日19:52:05
1、使用VS2008創建一個空的MFC對話框程序。
在頭文件中添加:
#define WM_SHOWTASK (WM_USER+10)
2、在類中添加NOTIFYICONDATA nid;
3、在OnInitDialog()函數中添加:
nid.cbSize=(DWORD)sizeof(NOTIFYICONDATA);
nid.hWnd=this-> m_hWnd;
nid.uID=IDR_MAINFRAME;
nid.uFlags=NIF_ICON|NIF_MESSAGE|NIF_TIP ;
nid.uCallbackMessage=WM_SHOWTASK;//自定義的消息名稱
nid.hIcon=LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME));
_tcscpy_s(nid.szTip,sizeof(nid.szTip), _T("計劃任務提醒 "));//信息提示條爲“計劃任務提醒”
Shell_NotifyIcon(NIM_ADD,&nid);//在托盤區添加圖標
4、重載虛函數DestroyWindow():
virtual BOOL DestroyWindow();
BOOL CtestttDlg::DestroyWindow()
{
Shell_NotifyIcon(NIM_DELETE, &nid);//刪除圖標
return CDialog::DestroyWindow();
}