1///////////////////////////////////////////////////////////////////////////// 2// Name: bmpbuttn.h 3// Purpose: wxBitmapButton class 4// Author: David Webster 5// Modified by: 6// Created: 10/13/99 7// RCS-ID: $Id: bmpbuttn.h 36891 2006-01-16 14:59:55Z MR $ 8// Copyright: (c) David Webster 9// Licence: wxWindows licence 10///////////////////////////////////////////////////////////////////////////// 11 12#ifndef _WX_BMPBUTTN_H_ 13#define _WX_BMPBUTTN_H_ 14 15#include "wx/button.h" 16#include "wx/dcclient.h" 17 18WXDLLEXPORT_DATA(extern const wxChar) wxButtonNameStr[]; 19 20#define wxDEFAULT_BUTTON_MARGIN 4 21 22class WXDLLEXPORT wxBitmapButton: public wxBitmapButtonBase 23{ 24public: 25 inline wxBitmapButton() 26 { 27 m_marginX = wxDEFAULT_BUTTON_MARGIN; 28 m_marginY = wxDEFAULT_BUTTON_MARGIN; 29 } 30 inline wxBitmapButton( wxWindow* pParent 31 ,wxWindowID vId 32 ,const wxBitmap& rBitmap 33 ,const wxPoint& rPos = wxDefaultPosition 34 ,const wxSize& rSize = wxDefaultSize 35 ,long lStyle = wxBU_AUTODRAW 36 ,const wxValidator& rValidator = wxDefaultValidator 37 ,const wxString& rsName = wxButtonNameStr 38 ) 39 { 40 Create( pParent 41 ,vId 42 ,rBitmap 43 ,rPos 44 ,rSize 45 ,lStyle 46 ,rValidator 47 ,rsName 48 ); 49 } 50 51 bool Create( wxWindow* pParent 52 ,wxWindowID vId 53 ,const wxBitmap& rBitmap 54 ,const wxPoint& rPos = wxDefaultPosition 55 ,const wxSize& rSize = wxDefaultSize 56 ,long lStyle = wxBU_AUTODRAW 57 ,const wxValidator& rValidator = wxDefaultValidator 58 ,const wxString& rsName = wxButtonNameStr 59 ); 60 61 virtual void SetLabel(const wxBitmap& rBitmap) 62 { 63 SetBitmapLabel(rBitmap); 64 } 65 66 // 67 // Implementation 68 // 69 virtual void SetDefault(); 70 virtual bool OS2OnDraw(WXDRAWITEMSTRUCT* pItem); 71 72private: 73 74 virtual void DrawFace( wxClientDC& rDC 75 ,bool bSel 76 ); 77 virtual void DrawButtonFocus(wxClientDC& rDC); 78 virtual void DrawButtonDisable( wxClientDC& rDC 79 ,wxBitmap& rBmp 80 ); 81 DECLARE_DYNAMIC_CLASS(wxBitmapButton) 82 83 virtual void SetLabel(const wxString& rsString) 84 { 85 wxButton::SetLabel(rsString); 86 } 87}; // end of CLASS wxBitmapButton 88 89#endif // _WX_BMPBUTTN_H_ 90 91