www.pudn.com > vc-network-communication.rar > TrayNotify.h


/*------------------------------------------------------------------------------*\ 
 ============================= 
   模块名称: TrayNotify.h 
 ============================= 
 
 [目的] 
  
   方便任务栏托盘区图标的使用. 
 
 [描述] 
  
   这是一个封装了任务栏托盘区图标所有操作的类,有了它就可以很方便地控制任务栏 
   托盘区图标。 
  
 [用法] 
  
   这个模块用法很简单,我想用不着更多的说明. :-) 
 
 [依赖性] 
 
   无 
 
 [修改记录] 
  
  日期:     01-10-7   
  版本:     1.01        
  作者:     Brant Q 
  备注: 
    	 
 [版权] 
	 
	  2000-2002  115软件工厂  版权所有 
 
 [声明] 
      
	  此软件为免费软件,源代码公开。允许个人使用和修改此代码而无需任何授权,但 
   禁止用于商业目的以及任何非个人行为. 
 
   如果你在使用了此代码之后能发给我一封email,我将非常高兴. 
 
   如有疑问或建议请通过 
 
   1.电子邮件:cola_tin@163.net 
   2.个人主页:http://115fac.yeah.net 
 
   与我联系. 
    
                                               
\*------------------------------------------------------------------------------*/ 
 
#ifndef _TRAYNOTIFY_H_ 
#define _TRAYNOTIFY_H_ 
 
class CTrayNotify 
{ 
public: 
	 
	CTrayNotify(); 
	virtual    ~CTrayNotify(); 
 
    //设置和得到图标 
	void       SetIcon(const HICON hIcon,BOOL bEnable=TRUE); 
	HICON      GetIcon() const; 
 
	//设置和得到消息 
	void       SetMsg(UINT uMsg,BOOL bEnable=TRUE); 
	UINT       GetMsg(); 
 
    //设置和得到提示 
	void       SetTip(const char *szTip,BOOL bEnable=TRUE); 
	void       GetTip(char* szTip,UINT uTxtLen) const; 
 
	//设置和得到关联的窗口句柄 
	BOOL       SetHwnd(const HWND hWnd); 
	HWND       GetHwnd() const; 
 
	//设置和得到ID号 
	void       SetID(const UINT uID); 
	UINT       GetID() const; 
	 
	//设置和得到uFlags 
	void       SetFlag(UINT uFlag); 
	UINT       GetFlag() const; 
	 
	//当用调用过SetIcon之类的函数后,不会立即更新,而必须调用此函数更新 
	BOOL       Refresh(); 
 
	//控制图标是否可见 
	BOOL       ShowIcon(BOOL bShow); 
 
	//修改并更新 
	BOOL       Modify(const NOTIFYICONDATA& nid); 
 
	//得到NOTIFYICONDATA数据结构 
	void       GetNid(NOTIFYICONDATA* pNid) const; 
 
	//图标是否可见 
	BOOL       IsIconShow() const; 
 
	//去掉图标,并将NOTIFYICONDATA结构清零 
	void       Reset(); 
 
protected: 
 
	BOOL m_bShow; 
 
	NOTIFYICONDATA m_nid; 
 
private: 
	 
}; 
 
 
#endif 
//文件尾