//農機調度項目代碼 NOTIFYICONDATA m_notifyData; m_notifyIcon.ChangeIcon(IDI_PAUSE, _T("監控終端服務器已暫停")); void CMyNotifyIcon::AddIcon(UINT idResourceIcon, LPCTSTR tip) m_notifyData.hIcon = hIcon; m_notifyData.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP; Shell_NotifyIcon(NIM_ADD, &m_notifyData);
---- NOTIFYICONDATA結構包含了系統用來處理托盤圖標的信息,它包括選擇的圖標、回調消息、提示消息、圖標對應的窗口等內容。其定義爲:
typedef struct _NOTIFYICONDATA { DWORD cbSize; //以字節爲單位的這個結構的大小 HWND hWnd; //接收托盤圖標通知消息的窗口句柄 UINT uID; //應用程序定義的該圖標的ID號 UINT uFlags; //設置該圖標的屬性 UINT uCallbackMessage; //應用程序定義的消息ID號,此消息傳遞給hWnd HICON hIcon; //圖標的句柄 char szTip[64]; //鼠標停留在圖標上顯示的提示信息 } NOTIFYICONDATA, *PNOTIFYICONDATA; 該結構中,成員uFlags可以使下列之一或組合: NIF_ICON 設置成員hIcon有效 NIF_MESSAGE 設置成員uCallbackMessage有效 NIF_TIP 設置成員szTip有效
---- 二、Shell_NotifyIcon函數 ---- 全局函數Shell_NotifyIcon() 用於在托盤上增加、刪除或修改圖標。其原型爲:
WINSHELLAPI BOOL WINAPI Shell_NotifyIcon( DWORD dwMessage, PNOTIFYICONDATA pnid);
---- Pnid是上面的NOTIFYICONDATA結構的指針; dwMessage是被傳遞的消息,可以是以下消息之一: NIM_ADD 增加圖標 NIM_DELETE 刪除圖標 NIM_MODIFY 修改圖標
---- 爲使應用程序退出時圖標消失,映射WM_DESTROY消息,在OnDestroy()函數中加入: ::Shell_NotifyIcon(NIM_DELETE,&m_tnid);
|
NOTIFYICONDATA結構分析
NOTIFYICONDATA結構
2008-11-30 21:15
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.