Class header file
CImageButton class info :
class CImageButton : public CButton
{
public:
CImageButton();
enum {
TEXT_INCLUDE = 0x0001,
IMAGE_RIGHT = 0x0002,
IMAGE_VCENTER = 0x0004,
IMAGE_BOTTOM = 0x0008,
IMAGE_HCENTER = 0x0010,
FOCUS_TEXTONLY = 0x0020,
};
public:
public:
public:
virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
public:
void SetTextColor( COLORREF color );
BOOL SetAlignStyle( DWORD dwStyle );
BOOL SetButtonImage( UINT uiImageID , COLORREF clrMask );
virtual ~CImageButton();
protected:
void ReCalculateSettings();
COLORREF m_clrMask;
CBitmap m_bitmapImage;
BITMAP m_bitmap;
HBITMAP m_hbmpDisabled;
CImageList m_ImageList;
BOOL m_bLoaded;
DWORD m_dwAlign;
CRect m_RectImage;
CRect m_RectText;
CRect m_RectTextFocus;
COLORREF m_clrText;
afx_msg void OnSetFocus(CWnd* pOldWnd);
afx_msg void OnSysColorChange();
afx_msg void OnSize(UINT nType, int cx, int cy);
afx_msg void OnEnable(BOOL bEnable);
DECLARE_MESSAGE_MAP()
};
Class Usage
Here is some sample code to show you how to use the class.
CImageButton m_Button;
m_Button.SetTextColor( RGB( 200 , 0 , 0 ) );
m_Button.SetAlignStyle( CImageButton::FOCUS_TEXTONLY |
CImageButton::TEXT_INCLUDE | CImageButton::IMAGE_RIGHT |
CImageButton::IMAGE_VCENTER );
m_Button.SetButtonImage( IDB_BITMAP1 , RGB( 255 , 0 , 255 ) );