friend class wxSpinCtrl;
friend class wxSlider;
friend class wxRadioBox;
+#if defined __VISUALC__ && __VISUALC__ <= 1200
+ friend class wxWindowMSW;
+#endif
public:
wxWindowMSW() { Init(); }
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);
// 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)
+ //
+ // returns true if the window move was deferred, false if it was moved
+ // immediately (no error return)
+ bool 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
// 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)
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_