⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bbsystemtray.h

📁 波子浏览器
💻 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 + -