- public:
- wxScrolledWindow() { }
- wxScrolledWindow(wxWindow *parent,
- wxWindowID id = -1,
- const wxPoint& pos = wxDefaultPosition,
- const wxSize& size = wxDefaultSize,
- long style = wxScrolledWindowStyle,
- const wxString& name = wxPanelNameStr)
- : wxGenericScrolledWindow(parent, id, pos, size, style, name)
- {
- }
-
- private:
- DECLARE_CLASS(wxScrolledWindow)
- };
-
- #define wxSCROLLED_WINDOW_IS_GENERIC 1
-#endif
+ Create(parent, winid, pos, size, style, name);
+ }
+
+ virtual ~wxScrolledWindow();
+
+ bool Create(wxWindow *parent,
+ wxWindowID winid,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxScrolledWindowStyle,
+ const wxString& name = wxPanelNameStr);
+
+ // we need to return a special WM_GETDLGCODE value to process just the
+ // arrows but let the other navigation characters through
+#ifdef __WXMSW__
+ virtual WXLRESULT MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam);
+#endif // __WXMSW__
+
+ WX_FORWARD_TO_SCROLL_HELPER()
+
+protected:
+ virtual wxSize DoGetBestSize() const;
+
+ // this is needed for wxEVT_PAINT processing hack described in
+ // wxScrollHelperEvtHandler::ProcessEvent()
+ void OnPaint(wxPaintEvent& event);
+
+private:
+ DECLARE_DYNAMIC_CLASS_NO_COPY(wxScrolledWindow)
+ DECLARE_EVENT_TABLE()
+};
+
+#endif // _WX_SCROLWIN_H_BASE_