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