/*++ Copyright (C) 1996-1999 Microsoft Corporation Module Name: toolbar.h Abstract: --*/ #include #ifdef _WIN32_IE #if _WIN32_IE < 0x0400 #undef _WIN32_IE #define _WIN32_IE 0x0400 // for color scheme info #endif // < 0x0400 #endif // defined #include #include #include "polyline.h" #include "smonctrl.h" #ifndef _TOOLBAR_H_ #define _TOOLBAR_H_ #include "resource.h" // button ID's // these must correspond to the individual button // locations in the toolbar bitmap enum sysmonTb { sysmonTbBlank = -1, sysmonTbNew = 0, sysmonTbClear, sysmonTbCurrentActivity, sysmonTbLogData, sysmonTbChartDisplay, sysmonTbHistogramDisplay, sysmonTbReportDisplay, sysmonTbAdd, sysmonTbDelete, sysmonTbHighlight, sysmonTbCopy, sysmonTbPaste, sysmonTbProperties, sysmonTbFreeze, sysmonTbUpdate, sysmonTbHelp, sysmonTbLastButton = sysmonTbHelp }; // define Toolbar bitmap fields #define TBF_sysmonTbNew (DWORD)(0x00000001 << (DWORD)sysmonTbNew) #define TBF_sysmonTbCurrentActivity (DWORD)(0x00000001 << (DWORD)sysmonTbCurrentActivity) #define TBF_sysmonTbLogData (DWORD)(0x00000001 << (DWORD)sysmonTbLogData) #define TBF_sysmonTbChartDisplay (DWORD)(0x00000001 << (DWORD)sysmonTbChartDisplay) #define TBF_sysmonTbHistogramDisplay (DWORD)(0x00000001 << (DWORD)sysmonTbHistogramDisplay) #define TBF_sysmonTbReportDisplay (DWORD)(0x00000001 << (DWORD)sysmonTbReportDisplay) #define TBF_sysmonTbAdd (DWORD)(0x00000001 << (DWORD)sysmonTbAdd) #define TBF_sysmonTbDelete (DWORD)(0x00000001 << (DWORD)sysmonTbDelete) #define TBF_sysmonTbCopy (DWORD)(0x00000001 << (DWORD)sysmonTbCopy) #define TBF_sysmonTbPaste (DWORD)(0x00000001 << (DWORD)sysmonTbPaste) #define TBF_sysmonTbProperties (DWORD)(0x00000001 << (DWORD)sysmonTbProperties) #define TBF_sysmonTbFreeze (DWORD)(0x00000001 << (DWORD)sysmonTbFreeze) #define TBF_sysmonTbUpdate (DWORD)(0x00000001 << (DWORD)sysmonTbUpdate) #define TBF_sysmonTbHelp (DWORD)(0x00000001 << (DWORD)sysmonTbHelp) // define bitmap & button sizes #define SMTB_BM_X 16 #define SMTB_BM_Y 15 //#define SMTB_BT_X 20 //#define SMTB_BT_Y 20 // this constant defines the buttons that are defined by default // it can be edited as desired to alter the default appearance // of the bitmap. #define TBF_DefaultButtons (DWORD)(\ TBF_sysmonTbNew | \ TBF_sysmonTbCurrentActivity | \ TBF_sysmonTbLogData | \ TBF_sysmonTbChartDisplay | \ TBF_sysmonTbHistogramDisplay | \ TBF_sysmonTbReportDisplay | \ TBF_sysmonTbAdd | \ TBF_sysmonTbDelete | \ TBF_sysmonTbCopy | \ TBF_sysmonTbPaste | \ TBF_sysmonTbProperties | \ TBF_sysmonTbUpdate | \ TBF_sysmonTbFreeze | \ TBF_sysmonTbHelp ) class CSysmonControl; class CSysmonToolbar { private: LONG GetToolbarCmdId (UINT nBtnId); void PostEnableButton ( UINT nBtnId, BOOL bState ); HWND m_hToolbarWnd; RECT m_rectToolbar; CSysmonControl *m_pCtrl; DWORD m_dwToolbarFlags; TBBUTTON *m_pTbArray; DWORD m_dwBtnCnt; BOOL m_bVisible; public: CSysmonToolbar (void); ~CSysmonToolbar (void); BOOL Init (CSysmonControl *pCtrl, HWND hWnd); BOOL SizeComponents (LPRECT pRect); BOOL EnableButton (UINT nBtnId, BOOL bState); BOOL RemoveButton (UINT nBtnId); BOOL ShowToolbar (BOOL bVisible); BOOL SyncToolbar (void); BOOL SetBackgroundColor (COLORREF ocBackClr); LONG Height (void); BOOL GetRect (LPRECT pRect); LRESULT DoCmd (WPARAM wParam, LPARAM lParam); }; typedef CSysmonToolbar *PSYSMONTOOLBAR; #endif //_TOOLBAR_H_