86 lines
1.6 KiB
C++
86 lines
1.6 KiB
C++
//
|
|
// TWND.HPP
|
|
// Tool Window Class
|
|
//
|
|
// Copyright Microsoft 1998-
|
|
//
|
|
#ifndef __TWND_HPP_
|
|
#define __TWND_HPP_
|
|
|
|
|
|
//
|
|
// Our toolbar has three sections:
|
|
// 5 rows of exclusive tools
|
|
// SEPARATOR
|
|
// 2 rows of options
|
|
// SEPARATOR
|
|
// 1 row of other commands (screen grabbing)
|
|
//
|
|
|
|
|
|
#define TOOLBAR_NUMROWS 8
|
|
#define TOOLBAR_NUMSEPARATORS 2
|
|
#define TOOLBAR_NUMCOLS 2
|
|
|
|
#define TOOLBAR_FIRSTBUTTON 0
|
|
#define TOOLBAR_MAXBUTTON 18
|
|
#define TOOLBAR_LASTBUTTON (TOOLBAR_MAXBUTTON - 1)
|
|
|
|
|
|
#define TOOLBAR_IMAGEWIDTH 16
|
|
#define TOOLBAR_IMAGEHEIGHT 15
|
|
#define TOOLBAR_BTNEXTRA 7
|
|
#define TOOLBAR_BTNWIDTH (TOOLBAR_IMAGEWIDTH + TOOLBAR_BTNEXTRA)
|
|
#define TOOLBAR_BTNHEIGHT (TOOLBAR_IMAGEHEIGHT + TOOLBAR_BTNEXTRA)
|
|
#define TOOLBAR_MARGINX (::GetSystemMetrics(SM_CXEDGE))
|
|
#define TOOLBAR_SEPARATORY 8
|
|
#define TOOLBAR_WIDTH (2 * TOOLBAR_BTNWIDTH + 3 * TOOLBAR_MARGINX)
|
|
|
|
|
|
//
|
|
//
|
|
// Class: WbToolBar
|
|
//
|
|
// Purpose: Define Whiteboard tool-bar window
|
|
//
|
|
//
|
|
class WbToolBar
|
|
{
|
|
public:
|
|
//
|
|
// Construction
|
|
//
|
|
WbToolBar();
|
|
~WbToolBar();
|
|
|
|
//
|
|
// Window creation
|
|
//
|
|
BOOL Create(HWND hwndParent);
|
|
|
|
//
|
|
// Button manipulation
|
|
//
|
|
BOOL PushDown(UINT uiId);
|
|
BOOL PopUp(UINT uiId);
|
|
|
|
BOOL Enable(UINT uiId);
|
|
BOOL Disable(UINT uiId);
|
|
|
|
//
|
|
// Resizing functions
|
|
//
|
|
void GetNaturalSize(LPSIZE lpsize);
|
|
UINT WidthFromHeight(UINT height);
|
|
|
|
void RecolorButtonImages(void);
|
|
|
|
HWND m_hwnd;
|
|
|
|
protected:
|
|
HBITMAP m_hbmImages;
|
|
};
|
|
|
|
|
|
#endif // __TWND_HPP_
|