NOTIFYICONDATA结构
//農機調度項目代碼
NOTIFYICONDATA m_notifyData;
m_notifyIcon.ChangeIcon(IDI_PAUSE, _T("監控終端server已暫停"));
void CMyNotifyIcon::AddIcon(UINT idResourceIcon, LPCTSTR tip)
{
?HICON hIcon = AfxGetApp()->LoadIcon(idResourceIcon);
?ASSERT(hIcon != NULL);
?m_notifyData.hIcon = hIcon;
?wsprintf(m_notifyData.szTip, _T("%s"), tip);
?m_notifyData.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP;
?Shell_NotifyIcon(NIM_ADD, &m_notifyData);
}
?
---- NOTIFYICONDATA結構包括了系統用來處理托盤圖標的信息,它包括選擇的圖標、回調消息、提示消息、圖標相應的窗體等內容。其定義為:
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
?
??? 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结构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DevExpress GridContr
- 下一篇: 【CCL】连通区域提取