]> git.saurik.com Git - wxWidgets.git/blob - include/wx/msw/statbox.h
Add a SetDoubleBuffered method for wxMSW (XP+)
[wxWidgets.git] / include / wx / msw / statbox.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/msw/statbox.h
3 // Purpose: wxStaticBox class
4 // Author: Julian Smart
5 // Modified by:
6 // Created: 01/02/97
7 // RCS-ID: $Id$
8 // Copyright: (c) Julian Smart
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11
12 #ifndef _WX_MSW_STATBOX_H_
13 #define _WX_MSW_STATBOX_H_
14
15 // Group box
16 class WXDLLIMPEXP_CORE wxStaticBox : public wxStaticBoxBase
17 {
18 public:
19 wxStaticBox() { }
20
21 wxStaticBox(wxWindow *parent, wxWindowID id,
22 const wxString& label,
23 const wxPoint& pos = wxDefaultPosition,
24 const wxSize& size = wxDefaultSize,
25 long style = 0,
26 const wxString& name = wxStaticBoxNameStr)
27 {
28 Create(parent, id, label, pos, size, style, name);
29 }
30
31 bool Create(wxWindow *parent, wxWindowID id,
32 const wxString& label,
33 const wxPoint& pos = wxDefaultPosition,
34 const wxSize& size = wxDefaultSize,
35 long style = 0,
36 const wxString& name = wxStaticBoxNameStr);
37
38 /// Implementation only
39 virtual void GetBordersForSizer(int *borderTop, int *borderOther) const;
40
41 virtual WXDWORD MSWGetStyle(long style, WXDWORD *exstyle) const;
42
43 // returns true if the platform should explicitly apply a theme border
44 virtual bool CanApplyThemeBorder() const { return false; }
45
46 protected:
47 virtual wxSize DoGetBestSize() const;
48
49 #ifndef __WXWINCE__
50 public:
51 virtual WXLRESULT MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam);
52
53 protected:
54 // return the region with all the windows inside this static box excluded
55 virtual WXHRGN MSWGetRegionWithoutChildren();
56
57 // remove the parts which are painted by static box itself from the given
58 // region which is embedded in a rectangle (0, 0)-(w, h)
59 virtual void MSWGetRegionWithoutSelf(WXHRGN hrgn, int w, int h);
60
61 // paint the given rectangle with our background brush/colour
62 virtual void PaintBackground(wxDC& dc, const struct tagRECT& rc);
63 // paint the foreground of the static box
64 virtual void PaintForeground(wxDC& dc, const struct tagRECT& rc);
65
66 void OnPaint(wxPaintEvent& event);
67 #endif // !__WXWINCE__
68
69 DECLARE_DYNAMIC_CLASS_NO_COPY(wxStaticBox)
70 };
71
72 #endif // _WX_MSW_STATBOX_H_
73