Initial
This commit is contained in:
141
toolbar/HOLD/ADDBMP.HPP
Normal file
141
toolbar/HOLD/ADDBMP.HPP
Normal file
@@ -0,0 +1,141 @@
|
||||
#ifndef _TOOLBAR_ADDBITMAP_HPP_
|
||||
#define _TOOLBAR_ADDBITMAP_HPP_
|
||||
#ifndef _COMMON_WINDOWS_HPP_
|
||||
#include <common/windows.hpp>
|
||||
#endif
|
||||
#ifndef _COMMON_COMMCTRL_HPP_
|
||||
#include <common/commctrl.hpp>
|
||||
#endif
|
||||
#ifndef _COMMON_STRING_HPP_
|
||||
#include <common/string.hpp>
|
||||
#endif
|
||||
|
||||
class AddBitmap : private TBADDBITMAP
|
||||
{
|
||||
public:
|
||||
AddBitmap(void);
|
||||
AddBitmap(UINT bitmapID,HINSTANCE hProcessInstance=::GetModuleHandle(0));
|
||||
AddBitmap(const String &strBitmapName,HINSTANCE hProcessInstance=::GetModuleHandle(0));
|
||||
AddBitmap(const AddBitmap &someAddBitmap);
|
||||
AddBitmap(const TBADDBITMAP &someTBADDBITMAP);
|
||||
virtual ~AddBitmap();
|
||||
AddBitmap &operator=(const AddBitmap &someAddBitmap);
|
||||
AddBitmap &operator=(const TBADDBITMAP &someTBADDBITMAP);
|
||||
BOOL operator==(const AddBitmap &someAddBitmap)const;
|
||||
BOOL operator==(const TBADDBITMAP &someTBADDBITMAP)const;
|
||||
HINSTANCE processInstance(void)const;
|
||||
void processInstance(HINSTANCE hProcessInstance);
|
||||
UINT bitmapID(void)const;
|
||||
void bitmapID(UINT bitmapID);
|
||||
TBADDBITMAP &getTBADDBITMAP(void);
|
||||
private:
|
||||
void init(void);
|
||||
};
|
||||
|
||||
inline
|
||||
AddBitmap::AddBitmap(void)
|
||||
{
|
||||
init();
|
||||
}
|
||||
|
||||
inline
|
||||
AddBitmap::AddBitmap(UINT bitmapID,HINSTANCE hProcessInstance)
|
||||
{
|
||||
TBADDBITMAP::hInst=hProcessInstance;
|
||||
TBADDBITMAP::nID=bitmapID;
|
||||
}
|
||||
|
||||
inline
|
||||
AddBitmap::AddBitmap(const String &strBitmapName,HINSTANCE hProcessInstance)
|
||||
{
|
||||
TBADDBITMAP::hInst=hProcessInstance;
|
||||
TBADDBITMAP::nID=(UINT)MAKEINTRESOURCE((char*)(String&)strBitmapName);
|
||||
}
|
||||
|
||||
|
||||
inline
|
||||
AddBitmap::AddBitmap(const AddBitmap &someAddBitmap)
|
||||
{
|
||||
init();
|
||||
*this=someAddBitmap;
|
||||
}
|
||||
|
||||
inline
|
||||
AddBitmap::AddBitmap(const TBADDBITMAP &someTBADDBITMAP)
|
||||
{
|
||||
init();
|
||||
*this=someTBADDBITMAP;
|
||||
}
|
||||
|
||||
inline
|
||||
AddBitmap::~AddBitmap()
|
||||
{
|
||||
}
|
||||
|
||||
inline
|
||||
AddBitmap &AddBitmap::operator=(const AddBitmap &someAddBitmap)
|
||||
{
|
||||
processInstance(someAddBitmap.processInstance());
|
||||
bitmapID(someAddBitmap.bitmapID());
|
||||
return *this;
|
||||
}
|
||||
|
||||
inline
|
||||
AddBitmap &AddBitmap::operator=(const TBADDBITMAP &someTBADDBITMAP)
|
||||
{
|
||||
processInstance(someTBADDBITMAP.hInst);
|
||||
bitmapID(someTBADDBITMAP.nID);
|
||||
return *this;
|
||||
}
|
||||
|
||||
inline
|
||||
BOOL AddBitmap::operator==(const AddBitmap &someAddBitmap)const
|
||||
{
|
||||
return (processInstance()==someAddBitmap.processInstance()&&
|
||||
bitmapID()==someAddBitmap.bitmapID());
|
||||
}
|
||||
|
||||
inline
|
||||
BOOL AddBitmap::operator==(const TBADDBITMAP &someTBADDBITMAP)const
|
||||
{
|
||||
return (processInstance()==someTBADDBITMAP.hInst&&
|
||||
bitmapID()==someTBADDBITMAP.nID);
|
||||
}
|
||||
|
||||
inline
|
||||
HINSTANCE AddBitmap::processInstance(void)const
|
||||
{
|
||||
return TBADDBITMAP::hInst;
|
||||
}
|
||||
|
||||
inline
|
||||
void AddBitmap::processInstance(HINSTANCE hProcessInstance)
|
||||
{
|
||||
TBADDBITMAP::hInst=hProcessInstance;
|
||||
}
|
||||
|
||||
inline
|
||||
UINT AddBitmap::bitmapID(void)const
|
||||
{
|
||||
return TBADDBITMAP::nID;
|
||||
}
|
||||
|
||||
inline
|
||||
void AddBitmap::bitmapID(UINT bitmapID)
|
||||
{
|
||||
TBADDBITMAP::nID=bitmapID;
|
||||
}
|
||||
|
||||
inline
|
||||
TBADDBITMAP &AddBitmap::getTBADDBITMAP(void)
|
||||
{
|
||||
return (TBADDBITMAP&)*this;
|
||||
}
|
||||
|
||||
inline
|
||||
void AddBitmap::init(void)
|
||||
{
|
||||
TBADDBITMAP::hInst=0;
|
||||
TBADDBITMAP::nID=0;
|
||||
}
|
||||
#endif
|
||||
216
toolbar/HOLD/TBBTN.HPP
Normal file
216
toolbar/HOLD/TBBTN.HPP
Normal file
@@ -0,0 +1,216 @@
|
||||
#ifndef _TOOLBAR_TOOLBARBUTTON_HPP_
|
||||
#define _TOOLBAR_TOOLBARBUTTON_HPP_
|
||||
#ifndef _COMMON_WINDOWS_HPP_
|
||||
#include <common/windows.hpp>
|
||||
#endif
|
||||
#ifndef _COMMON_COMMCTRL_HPP_
|
||||
#include <common/commctrl.hpp>
|
||||
#endif
|
||||
|
||||
class ToolBarButton : private TBBUTTON
|
||||
{
|
||||
public:
|
||||
enum StateFlags{StateChecked=TBSTATE_CHECKED,StatePressed=TBSTATE_PRESSED,StateEnabled=TBSTATE_ENABLED,
|
||||
StateHidden=TBSTATE_HIDDEN,StateIndeterminate=TBSTATE_INDETERMINATE,StateWrap=TBSTATE_WRAP,
|
||||
StateEllipses=TBSTATE_ELLIPSES};
|
||||
enum StyleFlags{StyleButton=TBSTYLE_BUTTON,StyleSEP=TBSTYLE_SEP,StyleCheck=TBSTYLE_CHECK,StyleGroup=TBSTYLE_GROUP,
|
||||
StyleCheckGroup=TBSTYLE_CHECKGROUP,StyleDropDown=TBSTYLE_DROPDOWN};
|
||||
ToolBarButton(void);
|
||||
ToolBarButton(int indexBitmap,int commandID,BYTE stateFlags=StateEnabled,BYTE styleFlags=StyleButton,DWORD userData=0,DWORD indexString=0);
|
||||
ToolBarButton(const ToolBarButton &someToolBarButton);
|
||||
ToolBarButton(const TBBUTTON &someTBBUTTON);
|
||||
virtual ~ToolBarButton();
|
||||
ToolBarButton &operator=(const ToolBarButton &someToolBarButton);
|
||||
ToolBarButton &operator=(const TBBUTTON &someTBBUTTON);
|
||||
BOOL operator==(const ToolBarButton &someToolBarButton)const;
|
||||
BOOL operator==(const TBBUTTON &someTBBUTTON)const;
|
||||
int indexBitmap(void)const;
|
||||
void indexBitmap(int indexBitmap);
|
||||
int commandID(void)const;
|
||||
void commandID(int commandID);
|
||||
BYTE stateFlags(void)const;
|
||||
void stateFlags(BYTE stateFlags);
|
||||
BYTE style(void)const;
|
||||
void style(BYTE style);
|
||||
DWORD userData(void)const;
|
||||
void userData(DWORD userData);
|
||||
int indexString(void)const;
|
||||
void indexString(int indexString);
|
||||
TBBUTTON &getTBBUTTON(void);
|
||||
private:
|
||||
void init(void);
|
||||
};
|
||||
|
||||
inline
|
||||
ToolBarButton::ToolBarButton(void)
|
||||
{
|
||||
init();
|
||||
}
|
||||
|
||||
inline
|
||||
ToolBarButton::ToolBarButton(int indexBitmap,int commandID,BYTE stateFlags,BYTE styleFlags,DWORD userData,DWORD indexString)
|
||||
{
|
||||
TBBUTTON::iBitmap=indexBitmap;
|
||||
TBBUTTON::idCommand=commandID;
|
||||
TBBUTTON::fsState=stateFlags;
|
||||
TBBUTTON::fsStyle=styleFlags;
|
||||
TBBUTTON::dwData=userData;
|
||||
TBBUTTON::iString=indexString;
|
||||
}
|
||||
|
||||
inline
|
||||
ToolBarButton::ToolBarButton(const ToolBarButton &someToolBarButton)
|
||||
{
|
||||
init();
|
||||
*this=someToolBarButton;
|
||||
}
|
||||
|
||||
inline
|
||||
ToolBarButton::ToolBarButton(const TBBUTTON &someTBBUTTON)
|
||||
{
|
||||
init();
|
||||
*this=someTBBUTTON;
|
||||
}
|
||||
|
||||
inline
|
||||
ToolBarButton::~ToolBarButton()
|
||||
{
|
||||
}
|
||||
|
||||
inline
|
||||
ToolBarButton &ToolBarButton::operator=(const ToolBarButton &someToolBarButton)
|
||||
{
|
||||
indexBitmap(someToolBarButton.indexBitmap());
|
||||
commandID(someToolBarButton.commandID());
|
||||
stateFlags(someToolBarButton.stateFlags());
|
||||
style(someToolBarButton.style());
|
||||
userData(someToolBarButton.userData());
|
||||
indexString(someToolBarButton.indexString());
|
||||
return *this;
|
||||
}
|
||||
|
||||
inline
|
||||
ToolBarButton &ToolBarButton::operator=(const TBBUTTON &someTBBUTTON)
|
||||
{
|
||||
indexBitmap(someTBBUTTON.iBitmap);
|
||||
commandID(someTBBUTTON.idCommand);
|
||||
stateFlags(someTBBUTTON.fsState);
|
||||
style(someTBBUTTON.fsStyle);
|
||||
userData(someTBBUTTON.dwData);
|
||||
indexString(someTBBUTTON.iString);
|
||||
return *this;
|
||||
}
|
||||
|
||||
inline
|
||||
BOOL ToolBarButton::operator==(const ToolBarButton &someToolBarButton)const
|
||||
{
|
||||
return (indexBitmap()==someToolBarButton.indexBitmap()&&
|
||||
commandID()==someToolBarButton.commandID()&&
|
||||
stateFlags()==someToolBarButton.stateFlags()&&
|
||||
style()==someToolBarButton.style()&&
|
||||
userData()==someToolBarButton.userData()&&
|
||||
indexString()==someToolBarButton.indexString());
|
||||
}
|
||||
|
||||
inline
|
||||
BOOL ToolBarButton::operator==(const TBBUTTON &someTBBUTTON)const
|
||||
{
|
||||
return (indexBitmap()==someTBBUTTON.iBitmap&&
|
||||
commandID()==someTBBUTTON.idCommand&&
|
||||
stateFlags()==someTBBUTTON.fsState&&
|
||||
style()==someTBBUTTON.fsStyle&&
|
||||
userData()==someTBBUTTON.dwData&&
|
||||
indexString()==someTBBUTTON.iString);
|
||||
}
|
||||
|
||||
inline
|
||||
int ToolBarButton::indexBitmap(void)const
|
||||
{
|
||||
return TBBUTTON::iBitmap;
|
||||
}
|
||||
|
||||
inline
|
||||
void ToolBarButton::indexBitmap(int indexBitmap)
|
||||
{
|
||||
TBBUTTON::iBitmap=indexBitmap;
|
||||
}
|
||||
|
||||
inline
|
||||
int ToolBarButton::commandID(void)const
|
||||
{
|
||||
return TBBUTTON::idCommand;
|
||||
}
|
||||
|
||||
inline
|
||||
void ToolBarButton::commandID(int commandID)
|
||||
{
|
||||
TBBUTTON::idCommand=commandID;
|
||||
}
|
||||
|
||||
inline
|
||||
BYTE ToolBarButton::stateFlags(void)const
|
||||
{
|
||||
return TBBUTTON::fsState;
|
||||
}
|
||||
|
||||
inline
|
||||
void ToolBarButton::stateFlags(BYTE stateFlags)
|
||||
{
|
||||
TBBUTTON::fsState=stateFlags;
|
||||
}
|
||||
|
||||
inline
|
||||
BYTE ToolBarButton::style(void)const
|
||||
{
|
||||
return TBBUTTON::fsStyle;
|
||||
}
|
||||
|
||||
inline
|
||||
void ToolBarButton::style(BYTE style)
|
||||
{
|
||||
TBBUTTON::fsStyle=style;
|
||||
}
|
||||
|
||||
inline
|
||||
DWORD ToolBarButton::userData(void)const
|
||||
{
|
||||
return TBBUTTON::dwData;
|
||||
}
|
||||
|
||||
inline
|
||||
void ToolBarButton::userData(DWORD userData)
|
||||
{
|
||||
TBBUTTON::dwData=userData;
|
||||
}
|
||||
|
||||
inline
|
||||
int ToolBarButton::indexString(void)const
|
||||
{
|
||||
return TBBUTTON::iString;
|
||||
}
|
||||
|
||||
inline
|
||||
void ToolBarButton::indexString(int indexString)
|
||||
{
|
||||
TBBUTTON::iString=indexString;
|
||||
}
|
||||
|
||||
inline
|
||||
void ToolBarButton::init(void)
|
||||
{
|
||||
TBBUTTON::iBitmap=0;
|
||||
TBBUTTON::idCommand=0;
|
||||
TBBUTTON::fsState=0;
|
||||
TBBUTTON::fsStyle=0;
|
||||
TBBUTTON::bReserved[0]=0;
|
||||
TBBUTTON::bReserved[1]=0;
|
||||
TBBUTTON::dwData=0;
|
||||
TBBUTTON::iString=0;
|
||||
}
|
||||
|
||||
inline
|
||||
TBBUTTON &ToolBarButton::getTBBUTTON(void)
|
||||
{
|
||||
return (TBBUTTON&)*this;
|
||||
}
|
||||
#endif
|
||||
272
toolbar/HOLD/TOOLBAR.CPP
Normal file
272
toolbar/HOLD/TOOLBAR.CPP
Normal file
@@ -0,0 +1,272 @@
|
||||
#include <toolbar/toolbar.hpp>
|
||||
#include <common/comctlex.hpp>
|
||||
#include <common/rect.hpp>
|
||||
|
||||
ToolBar::ToolBar(void)
|
||||
{
|
||||
CommonControlsEx commonControlsEx;
|
||||
commonControlsEx.flags(CommonControlsEx::InitBar);
|
||||
commonControlsEx.initCommonControlsEx();
|
||||
}
|
||||
|
||||
ToolBar::ToolBar(const ToolBar &someToolBar)
|
||||
{ // private implementation
|
||||
*this=someToolBar;
|
||||
}
|
||||
|
||||
ToolBar::~ToolBar()
|
||||
{
|
||||
destroy();
|
||||
}
|
||||
|
||||
ToolBar &ToolBar::operator=(const ToolBar &/*someToolBar*/)
|
||||
{ // private implementation
|
||||
return *this;
|
||||
}
|
||||
|
||||
BOOL ToolBar::create(GUIWindow &parentWindow,UINT controlID,const Rect &initRect,UINT styles)
|
||||
{
|
||||
if(isValid())return FALSE;
|
||||
createControl(0L,TOOLBARCLASSNAME,String(),WS_CHILD|WS_BORDER|WS_VISIBLE|styles,initRect,parentWindow,controlID);
|
||||
buttonStructSize();
|
||||
return isValid();
|
||||
}
|
||||
|
||||
BOOL ToolBar::addBitmap(const AddBitmap &addBitmap)const
|
||||
{
|
||||
if(!isValid())return FALSE;
|
||||
return !(-1==sendMessage(TB_ADDBITMAP,1,(LPARAM)&((AddBitmap&)addBitmap).getTBADDBITMAP()));
|
||||
}
|
||||
|
||||
BOOL ToolBar::addBitmaps(Block<AddBitmap> &addBitmaps)const
|
||||
{
|
||||
TBADDBITMAP *pTBADDBITMAP;
|
||||
BOOL result;
|
||||
|
||||
pTBADDBITMAP=::new TBADDBITMAP[addBitmaps.size()];
|
||||
for(int bmIndex=0;bmIndex<addBitmaps.size();bmIndex++)
|
||||
{
|
||||
pTBADDBITMAP[bmIndex].hInst=addBitmaps[bmIndex].processInstance();
|
||||
pTBADDBITMAP[bmIndex].nID=addBitmaps[bmIndex].bitmapID();
|
||||
}
|
||||
result=!(-1==sendMessage(TB_ADDBITMAP,addBitmaps.size(),(LPARAM)pTBADDBITMAP));
|
||||
::delete[] pTBADDBITMAP;
|
||||
return result;
|
||||
}
|
||||
|
||||
BOOL ToolBar::addButton(const ToolBarButton &toolBarButton)const
|
||||
{
|
||||
if(!isValid())return FALSE;
|
||||
return sendMessage(TB_ADDBUTTONS,1,(LPARAM)&((ToolBarButton&)toolBarButton).getTBBUTTON());
|
||||
}
|
||||
|
||||
BOOL ToolBar::addButtons(Block<ToolBarButton> &toolBarButtons)const
|
||||
{
|
||||
BOOL result;
|
||||
TBBUTTON *pTBBUTTONS;
|
||||
|
||||
pTBBUTTONS=::new TBBUTTON[toolBarButtons.size()];
|
||||
for(int bmIndex=0;bmIndex<toolBarButtons.size();bmIndex++)
|
||||
{
|
||||
pTBBUTTONS[bmIndex].iBitmap=toolBarButtons[bmIndex].indexBitmap();
|
||||
pTBBUTTONS[bmIndex].idCommand=toolBarButtons[bmIndex].commandID();
|
||||
pTBBUTTONS[bmIndex].fsState=toolBarButtons[bmIndex].stateFlags();
|
||||
pTBBUTTONS[bmIndex].fsStyle=toolBarButtons[bmIndex].style();
|
||||
pTBBUTTONS[bmIndex].dwData=toolBarButtons[bmIndex].userData();
|
||||
pTBBUTTONS[bmIndex].iString=toolBarButtons[bmIndex].indexString();
|
||||
}
|
||||
result=sendMessage(TB_ADDBUTTONS,toolBarButtons.size(),(LPARAM)pTBBUTTONS);
|
||||
::delete[] pTBBUTTONS;
|
||||
return result;
|
||||
}
|
||||
|
||||
void ToolBar::buttonStructSize(void)const
|
||||
{
|
||||
if(!isValid())return;
|
||||
sendMessage(TB_BUTTONSTRUCTSIZE,(WPARAM)sizeof(TBBUTTON),0L);
|
||||
}
|
||||
|
||||
void ToolBar::resize(void)const
|
||||
{
|
||||
if(!isValid())return;
|
||||
sendMessage(TB_AUTOSIZE,0,0L);
|
||||
}
|
||||
|
||||
WORD ToolBar::countButtons(void)const
|
||||
{
|
||||
if(!isValid())return FALSE;
|
||||
return sendMessage(TB_BUTTONCOUNT,0,0L);
|
||||
}
|
||||
|
||||
BOOL ToolBar::changeBitmap(WORD indexBitmapFrom,WORD indexBitmapTo)const
|
||||
{
|
||||
if(!isValid())return FALSE;
|
||||
return sendMessage(TB_CHANGEBITMAP,(WPARAM)indexBitmapFrom,(LPARAM)MAKELPARAM(indexBitmapTo,0));
|
||||
}
|
||||
|
||||
BOOL ToolBar::checkButton(UINT buttonID,BOOL checkState)const
|
||||
{
|
||||
if(!isValid())return FALSE;
|
||||
return sendMessage(TB_CHECKBUTTON,(WPARAM)buttonID,(LPARAM)MAKELONG(checkState,0));
|
||||
}
|
||||
|
||||
WORD ToolBar::getButtonIndex(UINT buttonID)const
|
||||
{
|
||||
if(!isValid())return FALSE;
|
||||
return sendMessage(TB_COMMANDTOINDEX,(WPARAM)buttonID,0L);
|
||||
}
|
||||
|
||||
WORD ToolBar::getBitmapIndex(UINT buttonID)const
|
||||
{
|
||||
if(!isValid())return FALSE;
|
||||
return sendMessage(TB_GETBITMAP,(WPARAM)buttonID,0L);
|
||||
}
|
||||
|
||||
void ToolBar::customize(void)const
|
||||
{
|
||||
if(!isValid())return;
|
||||
sendMessage(TB_CUSTOMIZE,0,0L);
|
||||
}
|
||||
|
||||
BOOL ToolBar::deleteButton(WORD indexButton)const
|
||||
{
|
||||
if(!isValid())return FALSE;
|
||||
return sendMessage(TB_DELETEBUTTON,(WPARAM)indexButton,0L);
|
||||
}
|
||||
|
||||
BOOL ToolBar::enableButton(UINT buttonID,BOOL enable)const
|
||||
{
|
||||
if(!isValid())return FALSE;
|
||||
return sendMessage(TB_ENABLEBUTTON,(WPARAM)buttonID,(LPARAM)MAKELONG(enable,0));
|
||||
}
|
||||
|
||||
BOOL ToolBar::canHandleLargeBitmaps(void)const
|
||||
{
|
||||
if(!isValid())return FALSE;
|
||||
return (TBBF_LARGE==sendMessage(TB_GETBITMAPFLAGS,0,0L));
|
||||
}
|
||||
|
||||
BOOL ToolBar::getButtonInfo(WORD indexButton,ToolBarButton &toolBarButton)const
|
||||
{
|
||||
if(!isValid())return FALSE;
|
||||
return sendMessage(TB_GETBUTTON,(WPARAM)indexButton,(LPARAM)&toolBarButton.getTBBUTTON());
|
||||
}
|
||||
|
||||
BOOL ToolBar::getButtonText(WORD buttonID,String &strButtonText)const
|
||||
{
|
||||
String strCopyText;
|
||||
BOOL returnCode(FALSE);
|
||||
|
||||
if(!isValid())return returnCode;;
|
||||
returnCode=!(-1==sendMessage(TB_GETBUTTONTEXT,(WPARAM)buttonID,(LPARAM)(LPSTR)strCopyText));
|
||||
if(returnCode)strButtonText=strCopyText;
|
||||
return returnCode;
|
||||
}
|
||||
|
||||
BOOL ToolBar::getItemRect(WORD indexButton,Rect &itemRect)const
|
||||
{
|
||||
if(!isValid())return FALSE;
|
||||
return sendMessage(TB_GETITEMRECT,(WPARAM)indexButton,(LPARAM)(RECT*)itemRect);
|
||||
}
|
||||
|
||||
WORD ToolBar::getRows(void)const
|
||||
{
|
||||
if(!isValid())return FALSE;
|
||||
return sendMessage(TB_GETROWS,0,0L);
|
||||
}
|
||||
|
||||
DWORD ToolBar::getButtonState(UINT buttonID)const
|
||||
{
|
||||
if(!isValid())return FALSE;
|
||||
return sendMessage(TB_GETSTATE,(WPARAM)buttonID,0L);
|
||||
}
|
||||
|
||||
HANDLE ToolBar::getToolTipControl(void)const
|
||||
{
|
||||
if(!isValid())return FALSE;
|
||||
return (HANDLE)sendMessage(TB_GETTOOLTIPS,0,0L);
|
||||
}
|
||||
|
||||
BOOL ToolBar::hideButton(UINT buttonID,BOOL hide)const
|
||||
{
|
||||
if(!isValid())return FALSE;
|
||||
return sendMessage(TB_HIDEBUTTON,(WPARAM)buttonID,(LPARAM)MAKELONG(hide,0));
|
||||
}
|
||||
|
||||
BOOL ToolBar::indeterminate(UINT buttonID,BOOL isIndeterminate)const
|
||||
{
|
||||
if(!isValid())return FALSE;
|
||||
return sendMessage(TB_INDETERMINATE,(WPARAM)buttonID,(LPARAM)MAKELONG(isIndeterminate,0));
|
||||
}
|
||||
|
||||
BOOL ToolBar::insertButton(WORD indexButton,const ToolBarButton &toolBarButton)const
|
||||
{
|
||||
if(!isValid())return FALSE;
|
||||
return sendMessage(TB_INSERTBUTTON,(WPARAM)indexButton,(LPARAM)&((ToolBarButton&)toolBarButton).getTBBUTTON());
|
||||
}
|
||||
|
||||
BOOL ToolBar::isButtonChecked(UINT buttonID)const
|
||||
{
|
||||
if(!isValid())return FALSE;
|
||||
return sendMessage(TB_ISBUTTONCHECKED,(WPARAM)buttonID,0L);
|
||||
}
|
||||
|
||||
BOOL ToolBar::isButtonEnabled(UINT buttonID)const
|
||||
{
|
||||
if(!isValid())return FALSE;
|
||||
return sendMessage(TB_ISBUTTONENABLED,(WPARAM)buttonID,0L);
|
||||
}
|
||||
|
||||
BOOL ToolBar::isButtonHidden(UINT buttonID)const
|
||||
{
|
||||
if(!isValid())return FALSE;
|
||||
return sendMessage(TB_ISBUTTONHIDDEN,(WPARAM)buttonID,0L);
|
||||
}
|
||||
|
||||
BOOL ToolBar::isButtonIndeterminate(UINT buttonID)const
|
||||
{
|
||||
if(!isValid())return FALSE;
|
||||
return sendMessage(TB_ISBUTTONINDETERMINATE,(WPARAM)buttonID,0L);
|
||||
}
|
||||
|
||||
BOOL ToolBar::isButtonPressed(UINT buttonID)const
|
||||
{
|
||||
if(!isValid())return FALSE;
|
||||
return sendMessage(TB_ISBUTTONPRESSED,(WPARAM)buttonID,0L);
|
||||
}
|
||||
|
||||
BOOL ToolBar::pressButton(UINT buttonID,BOOL pressed)const
|
||||
{
|
||||
if(!isValid())return FALSE;
|
||||
return sendMessage(TB_PRESSBUTTON,(WPARAM)buttonID,(LPARAM)MAKELONG(pressed,0));
|
||||
}
|
||||
|
||||
BOOL ToolBar::setBitmapSize(WORD xBitmap,WORD yBitmap)const
|
||||
{
|
||||
if(!isValid())return FALSE;
|
||||
return sendMessage(TB_SETBITMAPSIZE,0,(LPARAM)MAKELONG(xBitmap,yBitmap));
|
||||
}
|
||||
|
||||
BOOL ToolBar::setButtonSize(WORD xButton,WORD yButton)const
|
||||
{
|
||||
if(!isValid())return FALSE;
|
||||
return sendMessage(TB_SETBUTTONSIZE,0,(LPARAM)MAKELONG(xButton,yButton));
|
||||
}
|
||||
|
||||
BOOL ToolBar::setCommandID(WORD indexButton,UINT commandID)const
|
||||
{
|
||||
if(!isValid())return FALSE;
|
||||
return sendMessage(TB_SETCMDID,(WPARAM)indexButton,(LPARAM)commandID);
|
||||
}
|
||||
|
||||
void ToolBar::setParent(GUIWindow &parentWindow)const
|
||||
{
|
||||
if(!isValid())return;
|
||||
sendMessage(TB_SETPARENT,(WPARAM)(HWND)parentWindow,0L);
|
||||
}
|
||||
|
||||
void ToolBar::setToolTips(HANDLE hToolTips)const
|
||||
{
|
||||
if(!isValid())return;
|
||||
sendMessage(TB_SETTOOLTIPS,(WPARAM)(HWND)hToolTips,0L);
|
||||
}
|
||||
70
toolbar/HOLD/TOOLBAR.HPP
Normal file
70
toolbar/HOLD/TOOLBAR.HPP
Normal file
@@ -0,0 +1,70 @@
|
||||
#ifndef _TOOLBAR_TOOLBAR_HPP_
|
||||
#define _TOOLBAR_TOOLBAR_HPP_
|
||||
#ifndef _COMMON_WINDOWS_HPP_
|
||||
#include <common/windows.hpp>
|
||||
#endif
|
||||
#ifndef _COMMON_CONTROL_HPP_
|
||||
#include <common/control.hpp>
|
||||
#endif
|
||||
#ifndef _COMMON_BLOCK_HPP_
|
||||
#include <common/block.hpp>
|
||||
#endif
|
||||
#ifndef _TOOLBAR_ADDBITMAP_HPP_
|
||||
#include <toolbar/addbmp.hpp>
|
||||
#endif
|
||||
#ifndef _TOOLBAR_TOOLBARBUTTON_HPP_
|
||||
#include <toolbar/tbbtn.hpp>
|
||||
#endif
|
||||
|
||||
|
||||
class Rect;
|
||||
|
||||
class ToolBar : public Control
|
||||
{
|
||||
public:
|
||||
enum Styles{StyleToolTips=TBSTYLE_TOOLTIPS,StyleWrapable=TBSTYLE_WRAPABLE,StyleAltDrag=TBSTYLE_ALTDRAG,
|
||||
StyleFlat=TBSTYLE_FLAT,StyleList=TBSTYLE_LIST,StyleCustomErase=TBSTYLE_CUSTOMERASE};
|
||||
ToolBar(void);
|
||||
virtual ~ToolBar();
|
||||
BOOL create(GUIWindow &parentWindow,UINT controlID,const Rect &initRect=Rect(0,0,100,30),UINT styles=StyleList);
|
||||
BOOL addBitmap(const AddBitmap &addBitmap)const;
|
||||
BOOL addBitmaps(Block<AddBitmap> &addBitmaps)const;
|
||||
BOOL addButton(const ToolBarButton &toolBarButton)const;
|
||||
BOOL addButtons(Block<ToolBarButton> &toolBarButtons)const;
|
||||
BOOL deleteButton(WORD indexButton)const;
|
||||
BOOL changeBitmap(WORD indexBitmapFrom,WORD indexBitmapTo)const;
|
||||
BOOL checkButton(UINT buttonID,BOOL checkState)const;
|
||||
BOOL enableButton(UINT buttonID,BOOL enable)const;
|
||||
BOOL canHandleLargeBitmaps(void)const;
|
||||
BOOL getButtonInfo(WORD indexButton,ToolBarButton &toolBarButton)const;
|
||||
BOOL getButtonText(WORD buttonID,String &strButtonText)const;
|
||||
BOOL getItemRect(WORD indexButton,Rect &itemRect)const;
|
||||
BOOL hideButton(UINT buttonID,BOOL hide)const;
|
||||
BOOL indeterminate(UINT buttonID,BOOL isIndeterminate)const;
|
||||
BOOL insertButton(WORD indexButton,const ToolBarButton &toolBarButton)const;
|
||||
BOOL isButtonChecked(UINT buttonID)const;
|
||||
BOOL isButtonEnabled(UINT buttonID)const;
|
||||
BOOL isButtonHidden(UINT buttonID)const;
|
||||
BOOL isButtonIndeterminate(UINT buttonID)const;
|
||||
BOOL isButtonPressed(UINT buttonID)const;
|
||||
BOOL pressButton(UINT buttonID,BOOL pressed)const;
|
||||
BOOL setBitmapSize(WORD xBitmap,WORD yBitmap)const;
|
||||
BOOL setButtonSize(WORD xButton,WORD yButton)const;
|
||||
BOOL setCommandID(WORD indexButton,UINT commandID)const;
|
||||
WORD countButtons(void)const;
|
||||
WORD getButtonIndex(UINT buttonID)const;
|
||||
WORD getBitmapIndex(UINT buttonID)const;
|
||||
WORD getRows(void)const;
|
||||
DWORD getButtonState(UINT buttonID)const;
|
||||
HANDLE getToolTipControl(void)const;
|
||||
void resize(void)const;
|
||||
void customize(void)const;
|
||||
void setParent(GUIWindow &parentWindow)const;
|
||||
void setToolTips(HANDLE hToolTips)const;
|
||||
private:
|
||||
void buttonStructSize(void)const;
|
||||
ToolBar(const ToolBar &someToolBar);
|
||||
ToolBar &operator=(const ToolBar &someToolBar);
|
||||
};
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user