X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8e44f3caabe53f60a2335a14cf9b57187fe39b1e..e7c240da70308b5e54bf8bcc9813b5c4e4fece4d:/include/wx/msw/window.h diff --git a/include/wx/msw/window.h b/include/wx/msw/window.h index 377afca91b..d322098a87 100644 --- a/include/wx/msw/window.h +++ b/include/wx/msw/window.h @@ -50,6 +50,9 @@ 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(); } @@ -388,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); @@ -444,6 +455,11 @@ protected: // has the window been frozen by Freeze()? bool IsFrozen() const { return m_frozenness > 0; } + // this simply moves/resizes the given HWND which is supposed to be our + // sibling (this is useful for controls which are composite at MSW level + // and for which DoMoveWindow() is not enough) + void DoMoveSibling(WXHWND hwnd, int x, int y, int width, int height); + // 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 @@ -491,6 +507,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) @@ -544,17 +565,5 @@ WX_DECLARE_HASH(wxWindowMSW, wxWindowList, wxWinHashTable); extern wxWinHashTable *wxWinHandleHash; -// ---------------------------------------------------------------------------- -// extra data needed for correcting problems with deferred positioning -// ---------------------------------------------------------------------------- - -struct wxExtraWindowData -{ - // Stored during deferred positioning - wxPoint m_pos; - wxSize m_size; - bool m_deferring:1; -}; - #endif // _WX_WINDOW_H_