www.pudn.com > mu_explorer.rar > BBSystemTray.h
// BBSystemTray.h: interface for the CBBSystemTray class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_BBSYSTEMTRAY_H__DFF71E02_F359_457E_B2BD_DACC1311C222__INCLUDED_) #define AFX_BBSYSTEMTRAY_H__DFF71E02_F359_457E_B2BD_DACC1311C222__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include///////////////////////////////////////////////////////////////////////////// /* 功能: 托盘图标实现类 通过本类,可以方便简单的管理好托盘图标 整理: 邓振波 E_Mail: bozi@china.com 时间: 2001.4.20 使用: 1。定义一个类CBBSystemTray m_wndSystemTray 如果是在整个应用程序中需要用,建议在MaiFrame中定义 2。调用Create方法,如无特殊的需要,可以用 Create(LPCTSTR szToolTipText, HICON hIcon, UINT uMenuID) 指明提示的信息,图标句柄,和右键显示的菜单ID。 3。可选项:设置默认的菜单,即双击图标时候执行的菜单操作 4。如果需要更改提示内容、图标以及删除图标等等,请用相应的函数 说明: 本类析构的时候自动删除图标,无需手工删除图标 */ //////////////////////////////////////////////////////////////////////////// //自定义的默认的消息处理消息 #define WM_DEFAULT_NOTIFY_MESSAGE WM_USER+289 class CBBSystemTray : public CWnd { // Construction/destruction public: CBBSystemTray(); virtual ~CBBSystemTray(); DECLARE_DYNAMIC(CBBSystemTray) // Operations public: // 建立图标 BOOL Create(LPCTSTR szToolTipText,HICON hIcon,UINT uMenuID); // 建立图标 Create(CWnd* pParent, UINT uCallbackMessage, LPCTSTR szTip, HICON icon, UINT uID); //改变提示 BOOL SetTooltipText(LPCTSTR pszTooltipText);//改变提示 CString GetTooltipText() const;//得到提示文本 //改变图标 BOOL SetIcon(HICON hIcon);//改变图标 BOOL SetIcon(UINT nIDResource);//改变图标 //获得图标 HICON GetIcon() const;//获得图标 void RemoveIcon();//删除图标 void GetMenuDefaultItem(UINT& uItem, BOOL& bByPos);//得到默认图标的项 BOOL SetMenuDefaultItem(UINT uItem, BOOL bByPos=TRUE);//设置默认图标 BOOL SetNotificationWnd(CWnd* pNotifyWnd);//设置自定义消息处理的窗口,如无特殊的需要,一般用默认处理即可 CWnd* GetNotificationWnd() const;//获得自定义消息处理的窗口 //默认的处理Tray消息的过程,如果需要,可以重载 virtual LRESULT OnTrayNotification(WPARAM uID, LPARAM lEvent);//默认的处理Tray消息的过程,如果需要,可以重载 // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CBBSystemTray) protected: virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam); //}}AFX_VIRTUAL // Implementation protected: BOOL m_bAdded; //图标是否存在 NOTIFYICONDATA m_tnd; //主要的实现图标操作的结构 UINT m_nDefaultMenuItemID;//默认菜单的ID BOOL m_bDefaultMenuItemByPos;//是否当前位置的项 BOOL Init(); // Generated message map functions protected: //{{AFX_MSG(CBBSystemTray) //}}AFX_MSG DECLARE_MESSAGE_MAP() }; #endif // !defined(AFX_BBSYSTEMTRAY_H__DFF71E02_F359_457E_B2BD_DACC1311C222__INCLUDED_)