X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/743b426605478eeb31232c30e804e70ff493b1f2..9741fd45f734ea30e094f5b15f092b8394621204:/src/msw/stattext.cpp?ds=inline diff --git a/src/msw/stattext.cpp b/src/msw/stattext.cpp index 898487a88c..1309628465 100644 --- a/src/msw/stattext.cpp +++ b/src/msw/stattext.cpp @@ -101,6 +101,11 @@ bool wxStaticText::Create(wxWindow *parent, // need to do many operation on it for ellipsization&markup support SetLabel(label); + // as we didn't pass the correct label to MSWCreateControl(), it didn't set + // the initial size correctly -- do it now + InvalidateBestSize(); + SetInitialSize(size); + // NOTE: if the label contains ampersand characters which are interpreted as // accelerators, they will be rendered (at least on WinXP) only if the // static text is placed inside a window class which correctly handles @@ -209,13 +214,13 @@ void wxStaticText::SetLabel(const wxString& label) } #endif // SS_ENDELLIPSIS - // this call will save the label in m_labelOrig and set it into this window - // (through wxWindow::SetLabel) + // save the label in m_labelOrig with both the markup (if any) and + // the mnemonics characters (if any) m_labelOrig = label; #ifdef SS_ENDELLIPSIS if ( styleReal & SS_ENDELLIPSIS ) - DoSetLabel(RemoveMarkup(label)); + DoSetLabel(GetLabelWithoutMarkup()); else #endif // SS_ENDELLIPSIS DoSetLabel(GetEllipsizedLabelWithoutMarkup());