]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/window.h
Switched loads of settings back on
[wxWidgets.git] / include / wx / msw / window.h
index 03e752e92f1e4b4f3c3f0f88d0fcca689f41ee2c..d322098a87b37d14ddc935d611319cd1be6b5104 100644 (file)
@@ -50,7 +50,9 @@ class WXDLLEXPORT wxWindowMSW : public wxWindowBase
     friend class wxSpinCtrl;
     friend class wxSlider;
     friend class wxRadioBox;
     friend class wxSpinCtrl;
     friend class wxSlider;
     friend class wxRadioBox;
+#if defined __VISUALC__ && __VISUALC__ <= 1200
     friend class wxWindowMSW;
     friend class wxWindowMSW;
+#endif
 public:
     wxWindowMSW() { Init(); }
 
 public:
     wxWindowMSW() { Init(); }
 
@@ -389,6 +391,14 @@ public:
         return false;
     }
 
         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);
 
     // Responds to colour changes: passes event on to children.
     void OnSysColourChanged(wxSysColourChangedEvent& event);
@@ -445,6 +455,11 @@ protected:
     // has the window been frozen by Freeze()?
     bool IsFrozen() const { return m_frozenness > 0; }
 
     // 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
     // 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
@@ -492,6 +507,11 @@ private:
     // current defer window position operation handle (may be NULL)
     WXHANDLE m_hDWP;
 
     // 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)
 
     DECLARE_DYNAMIC_CLASS(wxWindowMSW)
     DECLARE_NO_COPY_CLASS(wxWindowMSW)