#if wxUSE_EXTENDED_RTTI
-enum wxButtonStyleBits
-{
- wxButtonExactFitBit = 0 ,
- wxButtonLeftBit = 6 ,
- wxButtonTopBit = 7 ,
- wxButtonRightBit = 8 ,
- wxButtonBottomBit = 9 ,
-
-// wxNoFullRepaintOnResizeBit = 16 ,
-// wxPopUpWindowBit = 17 ,
- wxWantCharsBit = 18 ,
-// wxTabTraversalBit = 19 ,
-
- wxTransparentWindowBit = 20 ,
- wxBorderNoneBit = 21 ,
-// wxClipChildrenBit = 22 ,
-// wxAlwaysShowScrollBarsBit = 23 ,
-
- wxBorderStaticBit = 24 ,
- wxBorderSimpleBit = 25 ,
- wxBorderRaisedBit = 26 ,
- wxBorderSunkenBit = 27 ,
-
- wxBorderDoubleBit = 28 ,
-// wxCaptionBit = 29 ,
-// wxClipSiblingsBit = 29 , // caption not used for non toplevel
-// wxHScrolBit = 30 ,
-// wxVScrollBit = 31 ,
-} ;
-
-typedef wxFlags<wxButtonStyleBits> wxButtonStyleFlags ;
-
-WX_BEGIN_ENUM( wxButtonStyleBits)
- WX_ENUM_MEMBER( wxButtonExactFitBit)
- WX_ENUM_MEMBER( wxButtonLeftBit)
- WX_ENUM_MEMBER( wxButtonTopBit)
- WX_ENUM_MEMBER( wxButtonRightBit)
- WX_ENUM_MEMBER( wxButtonBottomBit)
- WX_ENUM_MEMBER( wxWantCharsBit)
- WX_ENUM_MEMBER( wxTransparentWindowBit)
- WX_ENUM_MEMBER( wxBorderNoneBit)
- WX_ENUM_MEMBER( wxBorderStaticBit)
- WX_ENUM_MEMBER( wxBorderSimpleBit)
- WX_ENUM_MEMBER( wxBorderRaisedBit)
- WX_ENUM_MEMBER( wxBorderSunkenBit)
- WX_ENUM_MEMBER( wxBorderDoubleBit)
-WX_END_ENUM( wxButtonStyleBits)
-
-WX_IMPLEMENT_SET_STREAMING( wxButtonStyleFlags , wxButtonStyleBits)
+WX_DEFINE_FLAGS( wxButtonStyle )
+
+wxBEGIN_FLAGS( wxButtonStyle )
+ // new style border flags, we put them first to
+ // use them for streaming out
+ wxFLAGS_MEMBER(wxBORDER_SIMPLE)
+ wxFLAGS_MEMBER(wxBORDER_SUNKEN)
+ wxFLAGS_MEMBER(wxBORDER_DOUBLE)
+ wxFLAGS_MEMBER(wxBORDER_RAISED)
+ wxFLAGS_MEMBER(wxBORDER_STATIC)
+ wxFLAGS_MEMBER(wxBORDER_NONE)
+
+ // old style border flags
+ wxFLAGS_MEMBER(wxSIMPLE_BORDER)
+ wxFLAGS_MEMBER(wxSUNKEN_BORDER)
+ wxFLAGS_MEMBER(wxDOUBLE_BORDER)
+ wxFLAGS_MEMBER(wxRAISED_BORDER)
+ wxFLAGS_MEMBER(wxSTATIC_BORDER)
+ wxFLAGS_MEMBER(wxBORDER)
+
+ // standard window styles
+ wxFLAGS_MEMBER(wxTAB_TRAVERSAL)
+ wxFLAGS_MEMBER(wxCLIP_CHILDREN)
+ wxFLAGS_MEMBER(wxTRANSPARENT_WINDOW)
+ wxFLAGS_MEMBER(wxWANTS_CHARS)
+ wxFLAGS_MEMBER(wxFULL_REPAINT_ON_RESIZE)
+ wxFLAGS_MEMBER(wxALWAYS_SHOW_SB )
+ wxFLAGS_MEMBER(wxVSCROLL)
+ wxFLAGS_MEMBER(wxHSCROLL)
+
+ wxFLAGS_MEMBER(wxBU_LEFT)
+ wxFLAGS_MEMBER(wxBU_RIGHT)
+ wxFLAGS_MEMBER(wxBU_TOP)
+ wxFLAGS_MEMBER(wxBU_BOTTOM)
+ wxFLAGS_MEMBER(wxBU_EXACTFIT)
+wxEND_FLAGS( wxButtonStyle )
IMPLEMENT_DYNAMIC_CLASS_XTI(wxButton, wxControl,"wx/button.h")
-WX_BEGIN_PROPERTIES_TABLE(wxButton)
- WX_DELEGATE( OnClick , wxEVT_COMMAND_BUTTON_CLICKED , wxCommandEvent , 0 /*flags*/ , wxT("Helpstring") , wxT("group"))
+wxBEGIN_PROPERTIES_TABLE(wxButton)
+ wxEVENT_PROPERTY( Click , wxEVT_COMMAND_BUTTON_CLICKED , wxCommandEvent)
- WX_PROPERTY( Font , wxFont , SetFont , GetFont , , 0 /*flags*/ , wxT("Helpstring") , wxT("group"))
- WX_PROPERTY( Label, wxString , SetLabel, GetLabel, wxEmptyString, 0 /*flags*/ , wxT("Helpstring") , wxT("group") )
+ wxPROPERTY( Font , wxFont , SetFont , GetFont , EMPTY_MACROVALUE, 0 /*flags*/ , wxT("Helpstring") , wxT("group"))
+ wxPROPERTY( Label, wxString , SetLabel, GetLabel, wxString(), 0 /*flags*/ , wxT("Helpstring") , wxT("group") )
- WX_PROPERTY_FLAGS( WindowStyle , wxButtonStyleFlags , long , SetWindowStyleFlag , GetWindowStyleFlag , , 0 /*flags*/ , wxT("Helpstring") , wxT("group")) // style
+ wxPROPERTY_FLAGS( WindowStyle , wxButtonStyle , long , SetWindowStyleFlag , GetWindowStyleFlag , EMPTY_MACROVALUE , 0 /*flags*/ , wxT("Helpstring") , wxT("group")) // style
-WX_END_PROPERTIES_TABLE()
+wxEND_PROPERTIES_TABLE()
-WX_BEGIN_HANDLERS_TABLE(wxButton)
-WX_END_HANDLERS_TABLE()
+wxBEGIN_HANDLERS_TABLE(wxButton)
+wxEND_HANDLERS_TABLE()
-WX_CONSTRUCTOR_6( wxButton , wxWindow* , Parent , wxWindowID , Id , wxString , Label , wxPoint , Position , wxSize , Size , long , WindowStyle )
+wxCONSTRUCTOR_6( wxButton , wxWindow* , Parent , wxWindowID , Id , wxString , Label , wxPoint , Position , wxSize , Size , long , WindowStyle )
#else
msStyle |= BS_TOP;
if ( style & wxBU_BOTTOM )
msStyle |= BS_BOTTOM;
+#ifndef __WXWINCE__
+ // flat 2d buttons
+ if ( style & wxNO_BORDER )
+ msStyle |= BS_FLAT;
+#endif // __WXWINCE__
#endif // __WIN32__
return msStyle;
return processed;
}
-long wxButton::MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam)
+WXLRESULT wxButton::MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam)
{
// when we receive focus, we want to temporary become the default button in
// our parent panel so that pressing "Enter" would activate us -- and when