// Windows/Control/ToolBar.h #ifndef __WINDOWS_CONTROL_TOOLBAR_H #define __WINDOWS_CONTROL_TOOLBAR_H #include "../Window.h" namespace NWindows { namespace NControl { class CToolBar: public NWindows::CWindow { public: void AutoSize() { SendMessage(TB_AUTOSIZE, 0, 0); } DWORD GetButtonSize() { return (DWORD)SendMessage(TB_GETBUTTONSIZE, 0, 0); } bool GetMaxSize(LPSIZE size) #ifdef UNDER_CE { // maybe it must be fixed for more than 1 buttons DWORD val = GetButtonSize(); size->cx = LOWORD(val); size->cy = HIWORD(val); return true; } #else { return LRESULTToBool(SendMessage(TB_GETMAXSIZE, 0, (LPARAM)size)); } #endif bool EnableButton(UINT buttonID, bool enable) { return LRESULTToBool(SendMessage(TB_ENABLEBUTTON, buttonID, MAKELONG(BoolToBOOL(enable), 0))); } void ButtonStructSize() { SendMessage(TB_BUTTONSTRUCTSIZE, sizeof(TBBUTTON)); } HIMAGELIST SetImageList(UINT listIndex, HIMAGELIST imageList) { return HIMAGELIST(SendMessage(TB_SETIMAGELIST, listIndex, (LPARAM)imageList)); } bool AddButton(UINT numButtons, LPTBBUTTON buttons) { return LRESULTToBool(SendMessage(TB_ADDBUTTONS, numButtons, (LPARAM)buttons)); } #ifndef _UNICODE bool AddButtonW(UINT numButtons, LPTBBUTTON buttons) { return LRESULTToBool(SendMessage(TB_ADDBUTTONSW, numButtons, (LPARAM)buttons)); } #endif }; }} #endif