You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
181 lines
5.0 KiB
181 lines
5.0 KiB
//
|
|
// cuitb.h
|
|
// UI object library - define UI objects
|
|
//
|
|
// CUIFObject
|
|
// +- CUIFBorder border object
|
|
// +- CUIFStatic static object
|
|
// +- CUIFButton button object
|
|
// | +- CUIFScrollButton scrollbar button object (used in CUIFScroll)
|
|
// +- CUIFScrollButton scrollbar thumb object (used in CUIFScroll)
|
|
// +- CUIFScroll scrollbar object
|
|
// +- CUIFList listbox object
|
|
// +- CUIFWindow window frame object (need to be at top of parent)
|
|
//
|
|
|
|
|
|
#ifndef CUITB_H
|
|
#define CUITB_H
|
|
|
|
#include "cuiobj.h"
|
|
#include "cuiwnd.h"
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
//
|
|
// CUIFToolbarButtonElement
|
|
//
|
|
//-----------------------------------------------------------------------------
|
|
|
|
class CUIFToolbarButton;
|
|
class CUIFToolbarButtonElement : public CUIFButton2
|
|
{
|
|
public:
|
|
CUIFToolbarButtonElement( CUIFToolbarButton *pParent, DWORD dwID, RECT *prc, DWORD dwStyle);
|
|
virtual ~CUIFToolbarButtonElement( void );
|
|
|
|
// virtual void OnPaint(HDC hDC);
|
|
virtual void OnLButtonUp( POINT pt );
|
|
virtual void OnRButtonUp( POINT pt );
|
|
virtual BOOL OnSetCursor( UINT uMsg, POINT pt );
|
|
|
|
virtual LPCWSTR GetToolTip( void );
|
|
|
|
protected:
|
|
CUIFToolbarButton *_pTBButton;
|
|
};
|
|
|
|
//-----------------------------------------------------------------------------
|
|
//
|
|
// CUIFToolbarMenuButton
|
|
//
|
|
//-----------------------------------------------------------------------------
|
|
|
|
class CUIFToolbarButton;
|
|
class CUIFToolbarMenuButton : public CUIFButton2
|
|
{
|
|
public:
|
|
CUIFToolbarMenuButton( CUIFToolbarButton *pParent, DWORD dwID, RECT *prc, DWORD dwStyle);
|
|
virtual ~CUIFToolbarMenuButton( void );
|
|
|
|
// virtual void OnPaint(HDC hDC);
|
|
virtual void OnLButtonUp( POINT pt );
|
|
virtual BOOL OnSetCursor( UINT uMsg, POINT pt );
|
|
|
|
protected:
|
|
CUIFToolbarButton *_pTBButton;
|
|
};
|
|
|
|
//
|
|
// CUIFToolbarButton
|
|
//-----------------------------------------------------------------------------
|
|
|
|
// UIToolbarButton show type
|
|
#define UITBBUTTON_BUTTON 0x00010000
|
|
#define UITBBUTTON_MENU 0x00020000
|
|
#define UITBBUTTON_TOGGLE 0x00040000
|
|
#define UITBBUTTON_VERTICAL 0x00080000
|
|
|
|
// UIToolbarButton show type
|
|
#define UITBBUTTON_TEXT 0x0001
|
|
|
|
//
|
|
// CUIFToolbarButton
|
|
//
|
|
|
|
class CUIFToolbarButton : public CUIFObject
|
|
{
|
|
public:
|
|
CUIFToolbarButton( CUIFObject *pParent, DWORD dwID, RECT *prc, DWORD dwStyle , DWORD dwSBtnStyle, DWORD dwSBtnShowType);
|
|
virtual ~CUIFToolbarButton( void );
|
|
|
|
BOOL Init();
|
|
|
|
void SetShowType(DWORD dwSBtnShowType);
|
|
|
|
virtual void SetRect( const RECT *prc );
|
|
virtual void OnRightClick() {}
|
|
virtual void OnLeftClick() {}
|
|
virtual void OnShowMenu() {}
|
|
|
|
virtual void Enable( BOOL fEnable );
|
|
void SetIcon( HICON hIcon );
|
|
HICON GetIcon( );
|
|
void SetBitmap( HBITMAP hBmp );
|
|
HBITMAP GetBitmap( );
|
|
void SetBitmapMask( HBITMAP hBmp );
|
|
HBITMAP GetBitmapMask( );
|
|
void SetText( WCHAR *psz);
|
|
void SetToolTip( LPCWSTR pwchToolTip );
|
|
void SetFont(HFONT hfont);
|
|
virtual LPCWSTR GetToolTip( void );
|
|
BOOL IsMenuOnly();
|
|
BOOL IsMenuButton();
|
|
BOOL IsButtonOnly();
|
|
BOOL IsToggle();
|
|
BOOL IsVertical();
|
|
void DetachWndObj( void );
|
|
|
|
const WCHAR *GetText()
|
|
{
|
|
Assert(PtrToInt(_pBtn));
|
|
return _pBtn->GetText();
|
|
}
|
|
|
|
virtual void SetActiveTheme(LPCWSTR pszClassList, int iPartID = 0, int iStateID = 0)
|
|
{
|
|
if (_pBtn)
|
|
_pBtn->SetActiveTheme(pszClassList, iPartID, iStateID);
|
|
if (_pMenuBtn)
|
|
_pMenuBtn->SetActiveTheme(pszClassList, iPartID, iStateID);
|
|
CUIFObject::SetActiveTheme(pszClassList, iPartID, iStateID);
|
|
}
|
|
|
|
virtual void ClearWndObj()
|
|
{
|
|
if (_pBtn)
|
|
_pBtn->ClearWndObj();
|
|
if (_pMenuBtn)
|
|
_pMenuBtn->ClearWndObj();
|
|
CUIFObject::ClearWndObj();
|
|
}
|
|
|
|
CUIFToolbarButtonElement *_pBtn;
|
|
CUIFToolbarMenuButton *_pMenuBtn;
|
|
DWORD m_dwSBtnStyle;
|
|
DWORD m_dwSBtnShowType;
|
|
};
|
|
|
|
|
|
|
|
//
|
|
//
|
|
//-----------------------------------------------------------------------------
|
|
|
|
// UIFSeparator style
|
|
|
|
#define UITBSEPARATOR_VERTICAL 0x00000001
|
|
|
|
class CUIFSeparator : public CUIFObject
|
|
{
|
|
public:
|
|
CUIFSeparator( CUIFObject *pParent, DWORD dwId, RECT *prc, DWORD dwStyle) : CUIFObject( pParent, dwId, prc, dwStyle )
|
|
{
|
|
if (IsVertical())
|
|
SetActiveTheme(L"TOOLBAR", TP_SEPARATORVERT);
|
|
else
|
|
SetActiveTheme(L"TOOLBAR", TP_SEPARATOR);
|
|
}
|
|
virtual ~CUIFSeparator()
|
|
{
|
|
}
|
|
|
|
protected:
|
|
virtual BOOL OnPaintTheme( HDC hDC );
|
|
virtual void OnPaintNoTheme( HDC hDC );
|
|
|
|
private:
|
|
BOOL IsVertical() {return (GetStyle() & UITBSEPARATOR_VERTICAL) ? TRUE : FALSE;}
|
|
};
|
|
|
|
#endif /* CUITB_H */
|