2014-11-18 23:08:34 +08:00
|
|
|
////////////////////////////////////////////////////////////////
|
|
|
|
// CTrayIcon Copyright 1996 Microsoft Systems Journal.
|
|
|
|
//
|
|
|
|
// If this code works, it was written by Paul DiLascia.
|
|
|
|
// If not, I don't know who wrote it.
|
|
|
|
|
|
|
|
#ifndef _TRAYICON_H
|
|
|
|
#define _TRAYICON_H
|
|
|
|
|
|
|
|
////////////////
|
|
|
|
// CTrayIcon manages an icon in the Windows 95 system tray.
|
|
|
|
//
|
|
|
|
class /*AFX_EXT_CLASS*/ CTrayIcon : public CCmdTarget {
|
|
|
|
protected:
|
|
|
|
DECLARE_DYNAMIC(CTrayIcon)
|
|
|
|
NOTIFYICONDATA m_nid; // struct for Shell_NotifyIcon args
|
|
|
|
|
|
|
|
public:
|
|
|
|
CTrayIcon(UINT uID);
|
|
|
|
~CTrayIcon();
|
|
|
|
|
|
|
|
// Call this to receive tray notifications
|
|
|
|
void SetNotificationWnd(CWnd* pNotifyWnd, UINT uCbMsg);
|
|
|
|
|
|
|
|
// SetIcon functions. To remove icon, call SetIcon(0)
|
|
|
|
//
|
|
|
|
BOOL SetIcon(UINT uID); // main variant you want to use
|
|
|
|
BOOL SetIcon(HICON hicon, LPCSTR lpTip);
|
|
|
|
BOOL SetIcon(LPCTSTR lpResName, LPCSTR lpTip)
|
|
|
|
{ return SetIcon(lpResName ?
|
|
|
|
AfxGetApp()->LoadIcon(lpResName) : NULL, lpTip); }
|
|
|
|
BOOL SetStandardIcon(LPCTSTR lpszIconName, LPCSTR lpTip)
|
|
|
|
{ return SetIcon(::LoadIcon(NULL, lpszIconName), lpTip); }
|
|
|
|
|
|
|
|
virtual LRESULT OnTrayNotification(WPARAM uID, LPARAM lEvent);
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|