]> git.saurik.com Git - wxWidgets.git/blob - include/wx/msw/statbox.h
supporting clang memory management annotations
[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 virtual wxPoint GetClientAreaOrigin() const;
47 virtual void DoGetClientSize(int *width, int *height) const;
48
49
50 protected:
51 virtual wxSize DoGetBestSize() const;
52
53 #ifndef __WXWINCE__
54 public:
55 virtual WXLRESULT MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam);
56
57 protected:
58 // return the region with all the windows inside this static box excluded
59 virtual WXHRGN MSWGetRegionWithoutChildren();
60
61 // remove the parts which are painted by static box itself from the given
62 // region which is embedded in a rectangle (0, 0)-(w, h)
63 virtual void MSWGetRegionWithoutSelf(WXHRGN hrgn, int w, int h);
64
65 // paint the given rectangle with our background brush/colour
66 virtual void PaintBackground(wxDC& dc, const struct tagRECT& rc);
67 // paint the foreground of the static box
68 virtual void PaintForeground(wxDC& dc, const struct tagRECT& rc);
69
70 void OnPaint(wxPaintEvent& event);
71 #endif // !__WXWINCE__
72
73 DECLARE_DYNAMIC_CLASS_NO_COPY(wxStaticBox)
74 };
75
76 #endif // _WX_MSW_STATBOX_H_
77