X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4438caf41af49f00f3c8137ac801871f59cce386..9739d9ee8090965862ba623b09a8fba731dc3d5c:/include/wx/msw/control.h diff --git a/include/wx/msw/control.h b/include/wx/msw/control.h index b4a2807543..9f3b15938b 100644 --- a/include/wx/msw/control.h +++ b/include/wx/msw/control.h @@ -16,11 +16,8 @@ #pragma interface "control.h" #endif -#include "wx/window.h" -#include "wx/list.h" - // General item class -class WXDLLEXPORT wxControl : public wxWindow +class WXDLLEXPORT wxControl : public wxControlBase { DECLARE_ABSTRACT_CLASS(wxControl) @@ -29,7 +26,10 @@ public: virtual ~wxControl(); // Simulates an event - bool Command(wxCommandEvent& event) { return ProcessCommand(event); } + virtual void Command(wxCommandEvent& event) { ProcessCommand(event); } + + // implementation from now on + // -------------------------- // Calls the callback and appropriate event handlers bool ProcessCommand(wxCommandEvent& event); @@ -67,9 +67,28 @@ protected: protected: // For controls like radiobuttons which are really composite - wxList m_subControls; - - virtual wxSize DoGetBestSize(); + wxList m_subControls; + + virtual wxSize DoGetBestSize(); + + // create the control of the given class with the given style, returns FALSE + // if creation failed + // + // All parameters except classname and style are optional, if the + // size/position are not given, they should be set later with SetSize() and, + // label (the title of the window), of course, is left empty. The extended + // style is determined from the style and the app 3D settings automatically + // if it's not specified explicitly. + bool MSWCreateControl(const wxChar *classname, + WXDWORD style, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + const wxString& label = wxEmptyString, + WXDWORD exstyle = (WXDWORD)-1); + + // determine the extended styles combination for this window (may slightly + // modify style parameter, this is why it's non const) + WXDWORD GetExStyle(WXDWORD& style, bool *want3D) const; private: DECLARE_EVENT_TABLE() @@ -78,8 +97,8 @@ private: #if WXWIN_COMPATIBILITY inline void wxControl::Callback(const wxFunction f) { m_callback = f; }; - inline wxFont& wxControl::GetLabelFont() const { return GetFont() ; } - inline wxFont& wxControl::GetButtonFont() const { return GetFont() ; } + inline wxFont& wxControl::GetLabelFont() const { return GetFont(); } + inline wxFont& wxControl::GetButtonFont() const { return GetFont(); } inline void wxControl::SetLabelFont(const wxFont& font) { SetFont(font); } inline void wxControl::SetButtonFont(const wxFont& font) { SetFont(font); } #endif // WXWIN_COMPATIBILITY