//农机调度项目代码 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结构分析
最新推荐文章于 2020-04-09 21:28:11 发布
NOTIFYICONDATA结构
2008-11-30 21:15