X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c3732409acc7a1e0b3cdb1f0a5dec7cc49a4b28b..32485259c1342115488d219776dfebeb3d4d81b1:/include/wx/msw/window.h diff --git a/include/wx/msw/window.h b/include/wx/msw/window.h index dc7bbad256..39ba4694f7 100644 --- a/include/wx/msw/window.h +++ b/include/wx/msw/window.h @@ -47,6 +47,12 @@ enum class WXDLLEXPORT wxWindowMSW : public wxWindowBase { + friend class wxSpinCtrl; + friend class wxSlider; + friend class wxRadioBox; +#if defined __VISUALC__ && __VISUALC__ <= 1200 + friend class wxWindowMSW; +#endif public: wxWindowMSW() { Init(); } @@ -290,7 +296,8 @@ public: bool HandleDestroy(); bool HandlePaint(); - bool HandleEraseBkgnd(WXHDC pDC); + bool HandlePrintClient(WXHDC hDC); + bool HandleEraseBkgnd(WXHDC hDC); bool HandleMinimize(); bool HandleMaximize(); @@ -365,15 +372,15 @@ public: // // the base class version returns a solid brush if we have a non default // background colour or 0 otherwise - virtual WXHBRUSH MSWGetBgBrushForChild(WXHDC hDC, wxWindow *child); + virtual WXHBRUSH MSWGetBgBrushForChild(WXHDC hDC, WXHWND hWnd); // return the background brush to use for painting the given window by // quering the parent windows via their MSWGetBgBrushForChild() recursively // - // winToPaint is normally NULL meaning this window itself, but it can also + // hWndToPaint is normally NULL meaning this window itself, but it can also // be a child of this window which is used by the static box and could be // potentially useful for other transparent controls - WXHBRUSH MSWGetBgBrush(WXHDC hDC, wxWindow *winToPaint = NULL); + WXHBRUSH MSWGetBgBrush(WXHDC hDC, WXHWND hWndToPaint = NULL); // gives the parent the possibility to draw its children background, e.g. // this is used by wxNotebook to do it using DrawThemeBackground() @@ -384,6 +391,14 @@ public: return false; } + // some controls (e.g. wxListBox) need to set the return value themselves + // + // return true to let parent handle it if we don't, false otherwise + virtual bool MSWShouldPropagatePrintChild() + { + return true; + } + // Responds to colour changes: passes event on to children. void OnSysColourChanged(wxSysColourChangedEvent& event); @@ -487,6 +502,11 @@ private: // current defer window position operation handle (may be NULL) WXHANDLE m_hDWP; + // When deferred positioning is done these hold the pending changes, and + // are used for the default values if another size/pos changes is done on + // this window before the group of deferred changes is completed. + wxPoint m_pendingPosition; + wxSize m_pendingSize; DECLARE_DYNAMIC_CLASS(wxWindowMSW) DECLARE_NO_COPY_CLASS(wxWindowMSW)