/////////////////////////////////////////////////////////////////////////////
-// Name: wx/msw/tbar95.h
+// Name: wx/msw/toolbar.h
// Purpose: wxToolBar (Windows 95 toolbar) class
// Author: Julian Smart
// Modified by:
void OnMouseEvent(wxMouseEvent& event);
void OnSysColourChanged(wxSysColourChangedEvent& event);
+ void OnEraseBackground(wxEraseEvent& event);
void SetFocus() {}
// returns true if the platform should explicitly apply a theme border
virtual bool CanApplyThemeBorder() const { return false; }
+#ifdef wxHAS_MSW_BACKGROUND_ERASE_HOOK
+ virtual bool MSWEraseBgHook(WXHDC hDC);
+ virtual WXHBRUSH MSWGetBgBrushForChild(WXHDC hDC, wxWindowMSW *child);
+#endif // wxHAS_MSW_BACKGROUND_ERASE_HOOK
+
+ virtual wxToolBarToolBase *CreateTool(int id,
+ const wxString& label,
+ const wxBitmap& bmpNormal,
+ const wxBitmap& bmpDisabled = wxNullBitmap,
+ wxItemKind kind = wxITEM_NORMAL,
+ wxObject *clientData = NULL,
+ const wxString& shortHelp = wxEmptyString,
+ const wxString& longHelp = wxEmptyString);
+
+ virtual wxToolBarToolBase *CreateTool(wxControl *control,
+ const wxString& label);
protected:
// common part of all ctors
void Init();
virtual void DoToggleTool(wxToolBarToolBase *tool, bool toggle);
virtual void DoSetToggle(wxToolBarToolBase *tool, bool toggle);
- virtual wxToolBarToolBase *CreateTool(int id,
- const wxString& label,
- const wxBitmap& bmpNormal,
- const wxBitmap& bmpDisabled,
- wxItemKind kind,
- wxObject *clientData,
- const wxString& shortHelp,
- const wxString& longHelp);
-
- virtual wxToolBarToolBase *CreateTool(wxControl *control,
- const wxString& label);
-
// return the appropriate size and flags for the toolbar control
virtual wxSize DoGetBestSize() const;
// handlers for various events
bool HandleSize(WXWPARAM wParam, WXLPARAM lParam);
-#ifndef __WXWINCE__
+#ifdef wxHAS_MSW_BACKGROUND_ERASE_HOOK
bool HandlePaint(WXWPARAM wParam, WXLPARAM lParam);
-#endif // __WXWINCE__
+#endif // wxHAS_MSW_BACKGROUND_ERASE_HOOK
void HandleMouseMove(WXWPARAM wParam, WXLPARAM lParam);
// should be called whenever the toolbar size changes
// have
void UpdateStretchableSpacersSize();
+#ifdef wxHAS_MSW_BACKGROUND_ERASE_HOOK
+ // do erase the toolbar background, always do it for the entire control as
+ // the caller sets the clipping region correctly to exclude parts which
+ // should not be erased
+ void MSWDoEraseBackground(WXHDC hDC);
+
+ // return the brush to use for erasing the toolbar background
+ WXHBRUSH MSWGetToolbarBgBrush();
+#endif // wxHAS_MSW_BACKGROUND_ERASE_HOOK
+
DECLARE_EVENT_TABLE()
DECLARE_DYNAMIC_CLASS(wxToolBar)
wxDECLARE_NO_COPY_CLASS(wxToolBar);