// TrayIcons.h // // Single icon per use; otherwise, you'll have to // rewrite the m_bTrayIsActivated logic to keep // track of which icon is activated. // // Revision Log // // Date Who SAR Notes // ========== === ======= ===================================== // 2001-10-12 mph Initial coding by Mark Henri of // MPH Software - markhenri@attbi.com // // // #ifdef SAMPLE_CODE #include "Icon.h" #include "TrayIcons.h" CTrayIcons _trayIcon; rfc::SmallIcon _smallIcon; _smallIcon.Load( dlg->_instance, IDI_MAIN ); _trayIcon.AddTaskBarIcon( hwnd, 1, dlg->_smallIcon, "SessionServer", WM_USER+1 ); #endif #ifndef TRAYICONS_H #define TRAYICONS_H #include #include "Icon.h" #include typedef std::vector ICONS; class CTrayIcons { public: CTrayIcons(); ~CTrayIcons(); BOOL AddIcon( HINSTANCE i, int iconResId ); BOOL AddTaskBarIcon( HWND hwnd, UINT uID, HICON hicon, LPSTR lpszTip, UINT a_uCallbackMessageValue ); BOOL AddTaskBarIcon( HWND hwnd, UINT uID, LPSTR lpszTip, UINT a_uCallbackMessageValue ); BOOL AddTaskBarIcon( HINSTANCE instance, HWND hwnd, UINT uID, int i, LPSTR lpszTip, UINT a_uCallbackMessageValue ); BOOL ModifyTaskBarIcon( HWND hwnd, UINT uID, HICON hicon ); BOOL ModifyTaskBarIcon( HICON hicon ); BOOL ChooseTaskBarIcon( int i ); BOOL NextIcon(); BOOL DeleteTaskBarIcon( HWND hwnd, UINT uID ); BOOL DeleteTaskBarIcon() { DeleteTaskBarIcon( _hwnd, _id ); } protected: BOOL m_bTrayIsActivated; HWND _hwnd; UINT _id; ICONS _icons; }; #endif