📄 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 <afxtempl.h>
/////////////////////////////////////////////////////////////////////////////
/*
功能: 托盘图标实现类
通过本类,可以方便简单的管理好托盘图标
整理: 邓振波
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_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -