1 ///////////////////////////////////////////////////////////////////////////// 
   2 // Name:        wx/generic/scrolwin.h 
   3 // Purpose:     wxGenericScrolledWindow class 
   4 // Author:      Julian Smart 
   8 // Copyright:   (c) Julian Smart 
   9 // Licence:     wxWindows licence 
  10 ///////////////////////////////////////////////////////////////////////////// 
  12 #ifndef _WX_GENERIC_SCROLLWIN_H_ 
  13 #define _WX_GENERIC_SCROLLWIN_H_ 
  15 #if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) 
  16     #pragma interface "genscrolwin.h" 
  19 // ---------------------------------------------------------------------------- 
  20 // headers and constants 
  21 // ---------------------------------------------------------------------------- 
  23 #include "wx/window.h" 
  26 WXDLLEXPORT_DATA(extern const wxChar
*) wxPanelNameStr
; 
  28 // default scrolled window style 
  29 #ifndef wxScrolledWindowStyle 
  30     #define wxScrolledWindowStyle (wxHSCROLL | wxVSCROLL) 
  33 // avoid triggering this stupid VC++ warning 
  35     #pragma warning(disable:4355) // 'this' used in base member initializer list 
  38 // ---------------------------------------------------------------------------- 
  39 // wxGenericScrolledWindow 
  40 // ---------------------------------------------------------------------------- 
  42 class WXDLLEXPORT wxGenericScrolledWindow 
: public wxPanel
, 
  46     wxGenericScrolledWindow() : wxScrollHelper(this) { } 
  47     wxGenericScrolledWindow(wxWindow 
*parent
, 
  49                      const wxPoint
& pos 
= wxDefaultPosition
, 
  50                      const wxSize
& size 
= wxDefaultSize
, 
  51                      long style 
= wxScrolledWindowStyle
, 
  52                      const wxString
& name 
= wxPanelNameStr
) 
  53         : wxScrollHelper(this) 
  55         Create(parent
, id
, pos
, size
, style
, name
); 
  58     virtual ~wxGenericScrolledWindow(); 
  60     bool Create(wxWindow 
*parent
, 
  62                 const wxPoint
& pos 
= wxDefaultPosition
, 
  63                 const wxSize
& size 
= wxDefaultSize
, 
  64                 long style 
= wxScrolledWindowStyle
, 
  65                 const wxString
& name 
= wxPanelNameStr
); 
  67     virtual void PrepareDC(wxDC
& dc
) { DoPrepareDC(dc
); } 
  69     // lay out the window and its children 
  70     virtual bool Layout(); 
  72     virtual void DoSetVirtualSize(int x
, int y
); 
  75     // this is needed for wxEVT_PAINT processing hack described in 
  76     // wxScrollHelperEvtHandler::ProcessEvent() 
  77     void OnPaint(wxPaintEvent
& event
); 
  79     // we need to return a special WM_GETDLGCODE value to process just the 
  80     // arrows but let the other navigation characters through 
  82     virtual long MSWWindowProc(WXUINT nMsg
, WXWPARAM wParam
, WXLPARAM lParam
); 
  86     DECLARE_DYNAMIC_CLASS_NO_COPY(wxGenericScrolledWindow
) 
  91     #pragma warning(default:4355) 
  95     // _WX_GENERIC_SCROLLWIN_H_