// Win32++ Version 7.2
// Released: 5th AUgust 2011
//
// David Nash
// email: dnash@bigpond.net.au
// url: https://sourceforge.net/projects/win32-framework
//
//
// Copyright (c) 2005-2011 David Nash
//
// Permission is hereby granted, free of charge, to
// any person obtaining a copy of this software and
// associated documentation files (the "Software"),
// to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify,
// merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom
// the Software is furnished to do so, subject to the
// following conditions:
//
// The above copyright notice and this permission notice
// shall be included in all copies or substantial portions
// of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
// OR OTHER DEALINGS IN THE SOFTWARE.
//
////////////////////////////////////////////////////////
#ifndef _WIN32XX_TOOLBAR_H_
#define _WIN32XX_TOOLBAR_H_
#include "wincore.h"
#include "gdi.h"
#include "rebar.h"
namespace Win32xx
{
struct ToolBarTheme
{
BOOL UseThemes; // TRUE if themes are used
COLORREF clrHot1; // Colour 1 for hot button
COLORREF clrHot2; // Colour 2 for hot button
COLORREF clrPressed1; // Colour 1 for pressed button
COLORREF clrPressed2; // Colour 2 for pressed button
COLORREF clrOutline; // Colour for border outline
};
////////////////////////////////////
// Declaration of the CToolBar class
//
class CToolBar : public CWnd
{
public:
CToolBar();
virtual ~CToolBar();
// Operations
virtual int AddBitmap(UINT ToolBarID);
virtual BOOL AddButton(UINT nID, BOOL bEnabled = TRUE);
virtual void Destroy();
virtual BOOL ReplaceBitmap(UINT NewToolBarID);
virtual BOOL SetBitmap(UINT nID);
virtual int SetButtons(const std::vector<UINT>& vToolBarData) const;
virtual BOOL SetButtonText(int idButton, LPCTSTR szText);
virtual BOOL SetImages(COLORREF crMask, UINT ToolBarID, UINT ToolBarHotID, UINT ToolBarDisabledID);
// Wrappers for Win32 API functions
BOOL AddButtons(UINT uNumButtons, LPTBBUTTON lpButtons) const;
int AddString(UINT nStringID) const;
int AddStrings(LPCTSTR lpszStrings)