|
|
//
// cuiobj.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
// +- CUIFGripper gripper object
// +- CUIFWindow window frame object (need to be at top of parent)
//
#ifndef CUIOBJ_H
#define CUIOBJ_H
#include "cuischem.h"
#include "cuiarray.h"
#include "cuitheme.h"
#include "cuiicon.h"
class CUIFWindow;
//
// CUIFObject
//-----------------------------------------------------------------------------
//
// CUIFObject
// = base class of UI object =
//
class CUIFObject: public CUIFTheme { public: CUIFObject( CUIFObject *pParent, DWORD dwID, const RECT *prc, DWORD dwStyle ); virtual ~CUIFObject( void );
virtual CUIFObject *Initialize( void ); virtual void OnPaint( HDC hDC ); virtual void OnTimer( void ) { return; } virtual void OnLButtonDown( POINT pt ) { return; } virtual void OnMButtonDown( POINT pt ) { return; } virtual void OnRButtonDown( POINT pt ) { return; } virtual void OnLButtonUp( POINT pt ) { return; } virtual void OnMButtonUp( POINT pt ) { return; } virtual void OnRButtonUp( POINT pt ) { return; } virtual void OnMouseMove( POINT pt ) { return; } virtual void OnMouseIn( POINT pt ) { return; } virtual void OnMouseOut( POINT pt ) { return; } virtual BOOL OnSetCursor( UINT uMsg, POINT pt ) { return FALSE; }
virtual void GetRect( RECT *prc ); virtual void SetRect( const RECT *prc ); virtual BOOL PtInObject( POINT pt );
virtual void PaintObject( HDC hDC, const RECT *prcUpdate ); virtual void CallOnPaint(void);
virtual void Enable( BOOL fEnable ); __inline BOOL IsEnabled( void ) { return m_fEnabled; }
virtual void Show( BOOL fShow ); __inline BOOL IsVisible( void ) { return m_fVisible; }
virtual void SetFontToThis( HFONT hFont ); virtual void SetFont( HFONT hFont ); __inline HFONT GetFont( void ) { return m_hFont; }
virtual void SetStyle( DWORD dwStyle ); __inline DWORD GetStyle( void ) { return m_dwStyle; }
__inline DWORD GetID( void ) { return m_dwID; }
virtual void AddUIObj( CUIFObject *pUIObj ); virtual void RemoveUIObj( CUIFObject *pUIObj ); CUIFObject *ObjectFromPoint( POINT pt );
__inline CUIFWindow *GetUIWnd( void ) { return m_pUIWnd; }
void SetScheme(CUIFScheme *pCUIFScheme); __inline CUIFScheme *GetUIFScheme( void ) { return m_pUIFScheme; }
virtual LRESULT OnObjectNotify( CUIFObject *pUIObj, DWORD dwCode, LPARAM lParam );
virtual void SetToolTip( LPCWSTR pwchToolTip ); virtual LPCWSTR GetToolTip( void );
//
// Start ToolTip notification. If this return TRUE, the default tooltip
// won't be shown.
//
virtual BOOL OnShowToolTip( void ) {return FALSE;} virtual void OnHideToolTip( void ) {return;} virtual void DetachWndObj( void ); virtual void ClearWndObj( void );
#if defined(_DEBUG) || defined(DEBUG)
__inline BOOL FInitialized( void ) { return m_fInitialized; } #endif /* DEBUG */
protected: CUIFObject *m_pParent; CUIFWindow *m_pUIWnd; CUIFScheme *m_pUIFScheme; CUIFObjectArray<CUIFObject> m_ChildList; DWORD m_dwID; DWORD m_dwStyle; RECT m_rc; BOOL m_fEnabled; BOOL m_fVisible; HFONT m_hFont; BOOL m_fUseCustomFont; LPWSTR m_pwchToolTip;
//
// Theme support
//
virtual BOOL OnPaintTheme( HDC hDC ) {return FALSE;} virtual void OnPaintNoTheme( HDC hDC ) {return;} virtual void ClearTheme();
void StartCapture( void ); void EndCapture( void ); void StartTimer( UINT uElapse ); void EndTimer( void ); BOOL IsCapture( void ); BOOL IsTimer( void ); LRESULT NotifyCommand( DWORD dwCode, LPARAM lParam ); int GetFontHeight( void );
//
// uischeme functions
//
COLORREF GetUIFColor( UIFCOLOR iCol ); HBRUSH GetUIFBrush( UIFCOLOR iCol );
//
//
//
__inline const RECT &GetRectRef( void ) const { return this->m_rc; }
__inline DWORD GetStyleBits( DWORD dwMaskBits ) { return (m_dwStyle & dwMaskBits); }
__inline BOOL FHasStyle( DWORD dwStyleBit ) { return ((m_dwStyle & dwStyleBit ) != 0); }
BOOL IsRTL();
public: POINT m_pointPreferredSize;
private: #if defined(_DEBUG) || defined(DEBUG)
BOOL m_fInitialized; #endif /* DEBUG */
};
//
// CUIFBorder
//-----------------------------------------------------------------------------
// UIFBorder style
#define UIBORDER_HORZ 0x00000000 // horizontal border
#define UIBORDER_VERT 0x00000001 // vertial border
#define UIBORDER_DIRMASK 0x00000001 // (mask bits) border direction
//
// CUIFBorder
// = border UI object =
//
class CUIFBorder : public CUIFObject { public: CUIFBorder( CUIFObject *pParent, DWORD dwID, const RECT *prc, DWORD dwStyle ); ~CUIFBorder( void );
void OnPaint( HDC hDC ); };
//
// CUIFStatic
//-----------------------------------------------------------------------------
// UIStatic style
#define UISTATIC_LEFT 0x00000000 // left alignment
#define UISTATIC_CENTER 0x00000001 // center alignment (horizontal)
#define UISTATIC_RIGHT 0x00000002 // right alignment
#define UISTATIC_TOP 0x00000000 // top alignment
#define UISTATIC_VCENTER 0x00000010 // center alignment (vertical)
#define UISTATIC_BOTTOM 0x00000020 // bottom alignment
#define UISTATIC_HALIGNMASK 0x00000003 // (mask bits) horizontal alignment mask bits
#define UISTATIC_VALIGNMASK 0x00000030 // (mask bits) vertiacal alignment mask bits
//
// CUIFStatic
// = static UI object =
//
class CUIFStatic : public CUIFObject { public: CUIFStatic( CUIFObject *pParent, DWORD dwID, const RECT *prc, DWORD dwStyle ); virtual ~CUIFStatic( void );
virtual void OnPaint( HDC hDC ); virtual void SetText( LPCWSTR pwchText); virtual int GetText( LPWSTR pwchBuf, int cwchBuf );
protected: LPWSTR m_pwchText; };
//
// CUIFButton
//-----------------------------------------------------------------------------
// UIFButton style
#define UIBUTTON_LEFT 0x00000000 // horizontal alignment - left align
#define UIBUTTON_CENTER 0x00000001 // horizontal alignment - center align
#define UIBUTTON_RIGHT 0x00000002 // horizontal alignment - right align
#define UIBUTTON_TOP 0x00000000 // vertical alignment - top align
#define UIBUTTON_VCENTER 0x00000004 // vertical alignment - center
#define UIBUTTON_BOTTOM 0x00000008 // vertical alignment - bottom
#define UIBUTTON_PUSH 0x00000000 // button type - push button
#define UIBUTTON_TOGGLE 0x00000010 // button type - toggle button
#define UIBUTTON_PUSHDOWN 0x00000020 // button type - pushdown button
#define UIBUTTON_FITIMAGE 0x00000100 // button style - fit image to the client area
#define UIBUTTON_SUNKENONMOUSEDOWN 0x00000200 // button style - sunken on mouse down
#define UIBUTTON_VERTICAL 0x00000400 // button style - vertical text drawing
#define UIBUTTON_HALIGNMASK 0x00000003 // (mask bits) horizontal alignment
#define UIBUTTON_VALIGNMASK 0x0000000c // (mask bits) vertiacal alignment
#define UIBUTTON_TYPEMASK 0x00000030 // (mask bits) button type (push/toggle/pushdown)
// UIFButton notification code
#define UIBUTTON_PRESSED 0x00000001
// UIFButton status
#define UIBUTTON_NORMAL 0x00000000
#define UIBUTTON_DOWN 0x00000001
#define UIBUTTON_HOVER 0x00000002
#define UIBUTTON_DOWNOUT 0x00000003
//
// CUIFButton
// = button UI object =
//
class CUIFButton : public CUIFObject { public: CUIFButton( CUIFObject *pParent, DWORD dwID, const RECT *prc, DWORD dwStyle ); virtual ~CUIFButton( void );
virtual void OnPaintNoTheme( HDC hDC ); virtual void OnLButtonDown( POINT pt ); virtual void OnLButtonUp( POINT pt ); virtual void OnMouseIn( POINT pt ); virtual void OnMouseOut( POINT pt ); virtual void Enable( BOOL fEnable );
void SetText( LPCWSTR pwch ); void SetIcon( HICON hIcon ); void SetIcon( LPCTSTR lpszResName ); void SetBitmap( HBITMAP hBmp ); void SetBitmap( LPCTSTR lpszResName ); void SetBitmapMask( HBITMAP hBmp ); void SetBitmapMask( LPCTSTR lpszResName );
__inline LPCWSTR GetText( void ) { return m_pwchText; } __inline HICON GetIcon( void ) { return m_hIcon; } __inline HBITMAP GetBitmap( void ) { return m_hBmp; } __inline HBITMAP GetBitmapMask( void ) { return m_hBmpMask; }
BOOL GetToggleState( void ); void SetToggleState( BOOL fToggle );
DWORD GetDCF() { return (GetStyle() & UIBUTTON_SUNKENONMOUSEDOWN) ? UIFDCF_BUTTONSUNKEN : UIFDCF_BUTTON; }
BOOL IsVertical() { return (GetStyle() & UIBUTTON_VERTICAL) ? TRUE : FALSE; }
protected: DWORD m_dwStatus; LPWSTR m_pwchText; CUIFIcon m_hIcon; HBITMAP m_hBmp; HBITMAP m_hBmpMask; BOOL m_fToggled; SIZE m_sizeIcon; SIZE m_sizeText; SIZE m_sizeBmp;
virtual void SetStatus( DWORD dwStatus ); void DrawEdgeProc( HDC hDC, const RECT *prc, BOOL fDown ); void DrawTextProc( HDC hDC, const RECT *prc, BOOL fDown ); void DrawIconProc( HDC hDC, const RECT *prc, BOOL fDown ); void DrawBitmapProc( HDC hDC, const RECT *prc, BOOL fDown ); void GetTextSize( LPCWSTR pwch, SIZE *psize ); void GetIconSize( HICON hIcon, SIZE *psize ); void GetBitmapSize( HBITMAP hBmp, SIZE *psize ); };
//
// CUIFButton2
// = button UI object =
//
class CUIFButton2 : public CUIFButton { public: CUIFButton2( CUIFObject *pParent, DWORD dwID, const RECT *prc, DWORD dwStyle ); virtual ~CUIFButton2( void );
protected: virtual BOOL OnPaintTheme( HDC hDC ); virtual void OnPaintNoTheme( HDC hDC );
private: DWORD MakeDrawFlag();
};
//
// CUIFScroll
//-----------------------------------------------------------------------------
class CUIFScroll;
//
// CUIFScrollButton
// = scrollbar button UI object =
//
// UIFScrollButton style
#define UISCROLLBUTTON_LEFT 0x00000000
#define UISCROLLBUTTON_UP 0x00010000
#define UISCROLLBUTTON_RIGHT 0x00020000
#define UISCROLLBUTTON_DOWN 0x00030000
#define UISCROLLBUTTON_DIRMASK 0x00030000 /* mask bits */
// UIFScrollButton notification code
#define UISCROLLBUTTON_PRESSED 0x00010000
//
class CUIFScrollButton : public CUIFButton { public: CUIFScrollButton( CUIFScroll *pUIScroll, const RECT *prc, DWORD dwStyle ); ~CUIFScrollButton( void );
virtual void OnLButtonDown( POINT pt ); virtual void OnLButtonUp( POINT pt ); virtual void OnMouseIn( POINT pt ); virtual void OnMouseOut( POINT pt ); virtual void OnPaint( HDC hDC ); virtual void OnTimer( void ); };
//
// CUIFScrollThumb
// = scrollbar thumb UI object =
//
// UIFScrollThumb notifucation code
#define UISCROLLTHUMB_MOVING 0x00000001
#define UISCROLLTHUMB_MOVED 0x00000002
//
class CUIFScrollThumb : public CUIFObject { public: CUIFScrollThumb( CUIFScroll *pUIScroll, const RECT *prc, DWORD dwStyle ); virtual ~CUIFScrollThumb( void );
virtual void OnPaint(HDC hDC); virtual void OnLButtonDown( POINT pt ); virtual void OnLButtonUp( POINT pt ); virtual void OnMouseMove( POINT pt ); void SetScrollArea( RECT *prc );
protected: void DragProc( POINT pt, BOOL fEndDrag );
RECT m_rcScrollArea; POINT m_ptDrag; POINT m_ptDragOrg; };
//
// CUIFScroll
// = scrollbar UI object =
//
// UIFScroll style
#define UISCROLL_VERTTB 0x00000000
#define UISCROLL_VERTBT 0x00000001
#define UISCROLL_HORZLR 0x00000002
#define UISCROLL_HORZRL 0x00000003
#define UISCROLL_DIRMASK 0x00000003 /* mask bits */
// UIFScroll scroll page direction
#define UISCROLL_NONE 0x00000000
#define UISCROLL_PAGEDOWN 0x00000001 // page left
#define UISCROLL_PAGEUP 0x00000002 // page right
// UIFScroll notify codes
#define UISCROLLNOTIFY_SCROLLED 0x00000001 // scrollbar has been moved
#define UISCROLLNOTIFY_SCROLLLN 0x00000002 // scroll up/down line
// UIFScroll info
typedef struct _UIFSCROLLINFO { int nMax; int nPage; int nPos; } UIFSCROLLINFO;
//
class CUIFScroll : public CUIFObject { public: CUIFScroll( CUIFObject *pParent, DWORD dwID, const RECT *prc, DWORD dwStyle ); virtual ~CUIFScroll( void );
virtual CUIFObject *Initialize( void ); virtual void OnPaint(HDC hDC); virtual void OnLButtonDown( POINT pt ); virtual void OnLButtonUp( POINT pt ); virtual void OnMouseIn( POINT pt ); virtual void OnMouseOut( POINT pt ); virtual void SetRect( const RECT *prc ); virtual void SetStyle( DWORD dwStyle ); virtual void Show( BOOL fShow ); virtual void OnTimer( void ); virtual LRESULT OnObjectNotify( CUIFObject *pUIObj, DWORD dwCommand, LPARAM lParam );
void SetScrollInfo( UIFSCROLLINFO *pScrollInfo ); void GetScrollInfo( UIFSCROLLINFO *pScrollInfo );
protected: virtual void GetMetrics( void ); void SetCurPos( int nPos, BOOL fAdjustThumb = TRUE ); BOOL GetThumbRect( RECT *prc ); BOOL GetBtnUpRect( RECT *prc ); BOOL GetBtnDnRect( RECT *prc ); DWORD GetScrollThumbStyle( void ); DWORD GetScrollUpBtnStyle( void ); DWORD GetScrollDnBtnStyle( void ); void GetScrollArea( RECT *prc ); void GetPageUpArea( RECT *prc ); void GetPageDnArea( RECT *prc );
__inline void ShiftLine( int nLine ) { SetCurPos( m_ScrollInfo.nPos + nLine ); }
__inline void ShiftPage( int nPage ) { SetCurPos( m_ScrollInfo.nPos + m_ScrollInfo.nPage * nPage ); }
__inline BOOL PtInPageUpArea( POINT pt ) { RECT rc; GetPageUpArea( &rc ); return PtInRect( &rc, pt ); }
__inline BOOL PtInPageDnArea( POINT pt ) { RECT rc; GetPageDnArea( &rc ); return PtInRect( &rc, pt ); }
CUIFScrollButton *m_pBtnUp; CUIFScrollButton *m_pBtnDn; CUIFScrollThumb *m_pThumb;
UIFSCROLLINFO m_ScrollInfo; SIZE m_sizeScrollBtn; BOOL m_fScrollPage; DWORD m_dwScrollDir; };
//
// CUIFListBase
//-----------------------------------------------------------------------------
// UIFList style
#define UILIST_HORZTB 0x00000000
#define UILIST_HORZBT 0x00000001
#define UILIST_VERTLR 0x00000002
#define UILIST_VERTRL 0x00000003
#define UILIST_DISABLENOSCROLL 0x00000010
#define UILIST_HORZ UILIST_HORZTB /* for compatibility */
#define UILIST_VERT UILIST_VERTRL /* for compatibility */
#define UILIST_FIXEDHEIGHT 0x00000000
#define UILIST_VARIABLEHEIGHT 0x00000020
#define UILIST_ICONSNOTNUMBERS 0x00000040
#define UILIST_DIRMASK 0x00000003 /* mask bits */
// UIFList notification code
#define UILIST_SELECTED 0x00000001
#define UILIST_SELCHANGED 0x00000002
//
// CListItemBase
// = list item data object base class =
//
class CListItemBase { public: CListItemBase( void ) { }
virtual ~CListItemBase( void ) { } };
//
// CUIFListBase
// = list UI object base class =
//
class CUIFListBase : public CUIFObject { public: CUIFListBase( CUIFObject *pParent, DWORD dwID, const RECT *prc, DWORD dwStyle ); virtual ~CUIFListBase( void );
//
// CUIFObject method
//
virtual CUIFObject *Initialize( void ); virtual void OnPaint( HDC hDC ); virtual void OnLButtonDown( POINT pt ); virtual void OnLButtonUp( POINT pt ); virtual void OnMouseMove( POINT pt ); virtual void OnTimer( void ); virtual void SetRect( const RECT *prc ); virtual void SetStyle( DWORD dwStyle ); virtual LRESULT OnObjectNotify( CUIFObject *pUIObj, DWORD dwCommand, LPARAM lParam );
int AddItem( CListItemBase *pItem ); int GetCount( void ); CListItemBase *GetItem( int iItem ); void DelItem( int iItem ); void DelAllItem( void );
void SetSelection( int iSelection, BOOL fRedraw ); void ClearSelection( BOOL fRedraw ); void SetLineHeight( int nLineHeight ); void SetTop( int nStart, BOOL fSetScrollPos ); int GetSelection( void ); int GetLineHeight( void ); int GetTop( void ); int GetBottom( void ); int GetVisibleCount( void );
protected: CUIFObjectArray<CListItemBase> m_listItem; int m_nItem; int m_nItemVisible; int m_iItemTop; int m_iItemSelect; int m_nLineHeight; CUIFScroll *m_pUIScroll;
virtual int GetItemHeight( int iItem ); virtual int GetListHeight( void ); virtual void GetLineRect( int iLine, RECT *prc ); virtual void GetScrollBarRect( RECT *prc ); virtual DWORD GetScrollBarStyle( void ); virtual CUIFScroll *CreateScrollBarObj( CUIFObject *pParent, DWORD dwID, RECT *prc, DWORD dwStyle ); virtual void PaintItemProc( HDC hDC, RECT *prc, CListItemBase *pItem, BOOL fSelected );
int ListItemFromPoint( POINT pt ); void CalcVisibleCount( void ); void UpdateScrollBar( void ); };
//
// CUIFList
//-----------------------------------------------------------------------------
//
// CUIFList
// = list UI object =
//
class CUIFList : public CUIFListBase { public: CUIFList( CUIFObject *pParent, DWORD dwID, const RECT *prc, DWORD dwStyle ); virtual ~CUIFList( void );
int AddString( WCHAR *psz ); LPCWSTR GetString( int iID ); void DeleteString( int iID ); void DeleteAllString( void ); void SetPrivateData( int iID, DWORD dw ); DWORD GetPrivateData( int iID );
protected: virtual void PaintItemProc( HDC hDC, RECT *prc, CListItemBase *pItem, BOOL fSelected ); int ItemFromID( int iID ); };
//
// CUIFGripper
//-----------------------------------------------------------------------------
//
// CUIFGripper
// = gripper UI object =
//
#define UIGRIPPER_VERTICAL 0x00000001
//
// Gripper Theme Margin
//
#define CUI_GRIPPER_THEME_MARGIN 2
class CUIFGripper : public CUIFObject { public: CUIFGripper( CUIFObject *pParent, const RECT *prc, DWORD dwStyle = 0); virtual ~CUIFGripper( void );
virtual void SetStyle( DWORD dwStyle ); virtual void OnLButtonDown( POINT pt ); virtual void OnLButtonUp( POINT pt ); virtual void OnMouseMove( POINT pt ); virtual BOOL OnSetCursor( UINT uMsg, POINT pt );
protected: virtual BOOL OnPaintTheme( HDC hDC ); virtual void OnPaintNoTheme( HDC hDC );
private: BOOL IsVertical() { return (GetStyle() & UIGRIPPER_VERTICAL) ? TRUE : FALSE; } POINT _ptCur; };
//
// CUIFWndFrame
//-----------------------------------------------------------------------------
//
// CUIFWndFrame
// = window frame obeject =
//
// CUIFWndFrame styles
#define UIWNDFRAME_THIN 0x00000000 // frame style: thin
#define UIWNDFRAME_THICK 0x00000001 // frame style: thick
#define UIWNDFRAME_ROUNDTHICK 0x00000002 // frame style: thick with rounded top corners
#define UIWNDFRAME_RESIZELEFT 0x00000010 // resize flag: resizable at left border
#define UIWNDFRAME_RESIZETOP 0x00000020 // resize flag: resizable at top border
#define UIWNDFRAME_RESIZERIGHT 0x00000040 // resize flag: resizable at right border
#define UIWNDFRAME_RESIZEBOTTOM 0x00000080 // resize flag: resizable at bottom border
#define UIWNDFRAME_NORESIZE 0x00000000 // resize flag: no resizable
#define UIWNDFRAME_RESIZEALL (UIWNDFRAME_RESIZELEFT | UIWNDFRAME_RESIZETOP | UIWNDFRAME_RESIZERIGHT | UIWNDFRAME_RESIZEBOTTOM)
#define UIWNDFRAME_STYLEMASK 0x0000000f // (mask bit)
class CUIFWndFrame : public CUIFObject { public: CUIFWndFrame( CUIFObject *pParent, const RECT *prc, DWORD dwStyle ); virtual ~CUIFWndFrame( void );
virtual BOOL OnPaintTheme( HDC hDC ); virtual void OnPaintNoTheme( HDC hDC ); virtual void OnLButtonDown( POINT pt ); virtual void OnLButtonUp( POINT pt ); virtual void OnMouseMove( POINT pt ); virtual BOOL OnSetCursor( UINT uMsg, POINT pt );
void GetInternalRect( RECT *prc ); void GetFrameSize( SIZE *psize ); void SetFrameSize( SIZE *psize ); void GetMinimumSize( SIZE *psize ); void SetMinimumSize( SIZE *psize );
protected: DWORD m_dwHTResizing; POINT m_ptDrag; RECT m_rcOrg; int m_cxFrame; int m_cyFrame; int m_cxMin; int m_cyMin;
DWORD HitTest( POINT pt ); };
//
// CUIFWndCaption
//-----------------------------------------------------------------------------
//
// CUIFWndCaption
// = window caption object =
//
#define UIWNDCAPTION_INACTIVE 0x00000000
#define UIWNDCAPTION_ACTIVE 0x00000001
#define UIWNDCAPTION_MOVABLE 0x00000002
class CUIFWndCaption : public CUIFStatic { public: CUIFWndCaption( CUIFObject *pParent, DWORD dwID, const RECT *prc, DWORD dwStyle ); virtual ~CUIFWndCaption( void );
virtual void OnPaint( HDC hDC ); virtual void OnLButtonDown( POINT pt ); virtual void OnLButtonUp( POINT pt ); virtual void OnMouseMove( POINT pt ); virtual BOOL OnSetCursor( UINT uMsg, POINT pt );
private: POINT m_ptDrag; };
//
// CUIFCaptionButton
//-----------------------------------------------------------------------------
//
// CUIFCaptionButton
// = caption control object =
//
#define UICAPTIONBUTTON_INACTIVE 0x00000000
#define UICAPTIONBUTTON_ACTIVE 0x00010000
class CUIFCaptionButton : public CUIFButton2 { public: CUIFCaptionButton( CUIFObject *pParent, DWORD dwID, const RECT *prc, DWORD dwStyle ); virtual ~CUIFCaptionButton( void );
virtual void OnPaint( HDC hDC ); };
#endif /* CUIOBJ_H */
|