X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/197dd9af26230291b156c504506fed47a4d7420b..cce442ba7c8506fda1b1bf350390ef06b0863150:/include/wx/msw/window.h diff --git a/include/wx/msw/window.h b/include/wx/msw/window.h index 1d4ce59b19..bb3c5a2cd9 100644 --- a/include/wx/msw/window.h +++ b/include/wx/msw/window.h @@ -49,10 +49,9 @@ enum // --------------------------------------------------------------------------- // wxWindow declaration for MSW // --------------------------------------------------------------------------- + class WXDLLEXPORT wxWindow : public wxWindowBase { - DECLARE_DYNAMIC_CLASS(wxWindow); - public: wxWindow() { Init(); } @@ -162,6 +161,10 @@ public: wxWindow* GetWindowChild1(wxWindowID id); wxWindow* GetWindowChild(wxWindowID id); + // a MSW only function which sends a size event to the window using its + // current size - this has an effect of refreshing the window layout + void SendSizeEvent(); + // implementation from now on // -------------------------- @@ -178,8 +181,11 @@ public: // event handlers // -------------- + + void OnSetFocus(wxFocusEvent& event); void OnEraseBackground(wxEraseEvent& event); void OnIdle(wxIdleEvent& event); + void OnPaint(wxPaintEvent& event); public: // For implementation purposes - sometimes decorations make the client area @@ -202,7 +208,7 @@ public: // Make a Windows extended style from the given wxWindows window style static WXDWORD MakeExtendedStyle(long style, - bool eliminateBorders = TRUE); + bool eliminateBorders = FALSE); // Determine whether 3D effects are wanted WXDWORD Determine3DEffects(WXDWORD defaultBorderStyle, bool *want3D) const; @@ -400,9 +406,11 @@ protected: int sizeFlags = wxSIZE_AUTO); virtual void DoSetClientSize(int width, int height); - // get the size which best suits the window: e.g., for a static text it - // will be the width and height of the text - virtual wxSize DoGetBestSize(); + // move the window to the specified location and resize it: this is called + // from both DoSetSize() and DoSetClientSize() and would usually just call + // ::MoveWindow() except for composite controls which will want to arrange + // themselves inside the given rectangle + virtual void DoMoveWindow(int x, int y, int width, int height); #if wxUSE_TOOLTIPS virtual void DoSetToolTip( wxToolTip *tip ); @@ -420,6 +428,10 @@ private: bool HandleNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result); #endif // __WIN95__ + // the helper functions used by HandleChar/KeyXXX methods + wxKeyEvent CreateKeyEvent(wxEventType evType, int id, WXLPARAM lp) const; + + DECLARE_DYNAMIC_CLASS(wxWindow); DECLARE_NO_COPY_CLASS(wxWindow); DECLARE_EVENT_TABLE() };