]>
git.saurik.com Git - wxWidgets.git/blob - src/univ/stattext.cpp
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: src/univ/stattext.cpp
3 // Purpose: wxStaticText
4 // Author: Vadim Zeitlin
8 // Copyright: (c) 2000 SciTech Software, Inc. (www.scitechsoft.com)
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
12 // ============================================================================
14 // ============================================================================
16 // ----------------------------------------------------------------------------
18 // ----------------------------------------------------------------------------
20 #include "wx/wxprec.h"
28 #include "wx/stattext.h"
31 #include "wx/dcclient.h"
32 #include "wx/validate.h"
35 #include "wx/univ/renderer.h"
36 #include "wx/univ/theme.h"
38 // ============================================================================
40 // ============================================================================
42 IMPLEMENT_ABSTRACT_CLASS(wxStaticText
, wxControl
)
44 // ----------------------------------------------------------------------------
46 // ----------------------------------------------------------------------------
48 bool wxStaticText::Create(wxWindow
*parent
,
50 const wxString
&label
,
56 if ( !wxControl::Create(parent
, id
, pos
, size
, style
, wxDefaultValidator
, name
) )
65 // ----------------------------------------------------------------------------
67 // ----------------------------------------------------------------------------
69 void wxStaticText::SetLabel(const wxString
& label
)
71 wxControl::SetLabel(label
);
74 wxSize
wxStaticText::DoGetBestClientSize() const
76 wxStaticText
*self
= wxConstCast(this, wxStaticText
);
78 dc
.SetFont(GetFont());
79 wxCoord width
, height
;
80 dc
.GetMultiLineTextExtent(GetLabel(), &width
, &height
);
82 return wxSize(width
, height
);
85 // ----------------------------------------------------------------------------
87 // ----------------------------------------------------------------------------
89 void wxStaticText::DoDraw(wxControlRenderer
*renderer
)
93 wxDC
& dc
= renderer
->GetDC();
94 dc
.SetBrush(GetBackgroundColour());
95 dc
.SetPen(*wxTRANSPARENT_PEN
);
96 dc
.DrawRectangle(renderer
->GetRect());
99 renderer
->DrawLabel();
102 #endif // wxUSE_STATTEXT