X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7b1279006496ba3251a755bcef91301ad107bb78..b814b812485527736a6c11fd3468df36f97a1e4a:/samples/widgets/static.cpp?ds=sidebyside diff --git a/samples/widgets/static.cpp b/samples/widgets/static.cpp index 991f823d19..ba1b4d0ca9 100644 --- a/samples/widgets/static.cpp +++ b/samples/widgets/static.cpp @@ -41,7 +41,6 @@ #include "wx/statline.h" #include "widgets.h" -#if 1 #include "icons/statbox.xpm" // ---------------------------------------------------------------------------- @@ -73,6 +72,65 @@ enum StaticVAlign_Max }; +// ---------------------------------------------------------------------------- +// MyStaticText and MyStaticBox +// ---------------------------------------------------------------------------- + +// these 2 classes simply show that the static controls can get the mouse +// clicks too -- this used to be broken under MSW but works now + +class MyStaticText : public wxStaticText +{ +public: + MyStaticText(wxWindow* parent, + wxWindowID id, + const wxString& label, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = 0) + : wxStaticText(parent, id, label, pos, size, style) + { + } + +protected: + void OnMouseEvent(wxMouseEvent& event) + { + wxLogMessage(wxT("Clicked on static text")); + } + + DECLARE_EVENT_TABLE() +}; + +class MyStaticBox : public wxStaticBox +{ +public: + MyStaticBox(wxWindow* parent, + wxWindowID id, + const wxString& label, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = 0) + : wxStaticBox(parent, id, label, pos, size, style) + { + } + +protected: + void OnMouseEvent(wxMouseEvent& event) + { + wxLogMessage(wxT("Clicked on static box")); + } + + DECLARE_EVENT_TABLE() +}; + +BEGIN_EVENT_TABLE(MyStaticText, wxStaticText) + EVT_LEFT_UP(MyStaticText::OnMouseEvent) +END_EVENT_TABLE() + +BEGIN_EVENT_TABLE(MyStaticBox, wxStaticBox) + EVT_LEFT_UP(MyStaticBox::OnMouseEvent) +END_EVENT_TABLE() + // ---------------------------------------------------------------------------- // StaticWidgetsPage // ---------------------------------------------------------------------------- @@ -318,13 +376,13 @@ void StaticWidgetsPage::CreateStatic() flagsText |= align; flagsBox |= align; - wxStaticBox *box = new wxStaticBox(this, -1, m_textBox->GetValue(), + wxStaticBox *box = new MyStaticBox(this, -1, m_textBox->GetValue(), wxDefaultPosition, wxDefaultSize, flagsBox); m_sizerStatBox = new wxStaticBoxSizer(box, isVert ? wxHORIZONTAL : wxVERTICAL); - m_statText = new wxStaticText(this, -1, m_textLabel->GetValue(), + m_statText = new MyStaticText(this, -1, m_textLabel->GetValue(), wxDefaultPosition, wxDefaultSize, flagsText); @@ -367,4 +425,3 @@ void StaticWidgetsPage::OnButtonLabelText(wxCommandEvent& event) m_statText->SetLabel(m_textLabel->GetValue()); } -#endif \ No newline at end of file