+ // This should be overridden to return true for the controls which have
+ // themed background that should through their children. Currently only
+ // wxNotebook uses this.
+ //
+ // The base class version already returns true if we have a solid
+ // background colour that should be propagated to our children.
+ virtual bool MSWHasInheritableBackground() const
+ {
+ return InheritsBackgroundColour();
+ }
+
+#if !defined(__WXWINCE__) && !defined(__WXUNIVERSAL__)
+ #define wxHAS_MSW_BACKGROUND_ERASE_HOOK
+#endif
+
+#ifdef wxHAS_MSW_BACKGROUND_ERASE_HOOK
+ // allows the child to hook into its parent WM_ERASEBKGND processing: call
+ // MSWSetEraseBgHook() with a non-NULL window to make parent call
+ // MSWEraseBgHook() on this window (don't forget to reset it to NULL
+ // afterwards)
+ //
+ // this hack is used by wxToolBar, see comments there
+ void MSWSetEraseBgHook(wxWindow *child);
+
+ // return true if WM_ERASEBKGND is currently hooked
+ bool MSWHasEraseBgHook() const;
+
+ // called when the window on which MSWSetEraseBgHook() had been called
+ // receives WM_ERASEBKGND
+ virtual bool MSWEraseBgHook(WXHDC WXUNUSED(hDC)) { return false; }
+#endif // wxHAS_MSW_BACKGROUND_ERASE_HOOK
+
+ // common part of Show/HideWithEffect()
+ bool MSWShowWithEffect(bool show,
+ wxShowEffect effect,
+ unsigned timeout);