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: statbox.h 37393 2006-02-08 21:47:09Z VZ $
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:
wxStaticBox()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 protected:
44     virtual wxSize DoGetBestSize() const;
45 
46     // choose the default border for this window
47     virtual wxBorder GetDefaultBorder() 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 
74