#include "wx/settings.h"
#endif
-#include "wx/msw/uxtheme.h"
+#include "wx/msw/dc.h" // for wxDCTemp
#include "wx/renderer.h"
+#include "wx/msw/uxtheme.h"
+#include "wx/msw/private/button.h"
// ----------------------------------------------------------------------------
// constants
msStyle |= BS_LEFTTEXT | BS_RIGHT;
}
+ msStyle |= wxMSWButton::GetMultilineStyle(label);
+
return MSWCreateControl(wxT("BUTTON"), msStyle, pos, size, label, 0);
}
int wCheckbox, hCheckbox;
if ( !str.empty() )
{
- GetTextExtent(GetLabelText(str), &wCheckbox, &hCheckbox);
+ wxClientDC dc(wx_const_cast(wxCheckBox *, this));
+ dc.SetFont(GetFont());
+ dc.GetMultiLineTextExtent(GetLabelText(str), &wCheckbox, &hCheckbox);
wCheckbox += s_checkSize + GetCharWidth();
if ( hCheckbox < s_checkSize )
// wxCheckBox operations
// ----------------------------------------------------------------------------
+void wxCheckBox::SetLabel(const wxString& label)
+{
+ wxMSWButton::UpdateMultilineStyle(GetHwnd(), label);
+
+ wxCheckBoxBase::SetLabel(label);
+}
+
void wxCheckBox::SetValue(bool val)
{
Set3StateValue(val ? wxCHK_CHECKED : wxCHK_UNCHECKED);
// around it
if ( isFocused )
{
- if ( !::DrawText(hdc, label, label.length(), &rectLabel,
+ if ( !::DrawText(hdc, label.wx_str(), label.length(), &rectLabel,
fmt | DT_CALCRECT) )
{
wxLogLastError(_T("DrawText(DT_CALCRECT)"));
::SetTextColor(hdc, ::GetSysColor(COLOR_GRAYTEXT));
}
- if ( !::DrawText(hdc, label, label.length(), &rectLabel, fmt) )
+ if ( !::DrawText(hdc, label.wx_str(), label.length(), &rectLabel, fmt) )
{
wxLogLastError(_T("DrawText()"));
}