WXDWORD wxStaticText::MSWGetStyle(long style, WXDWORD *exstyle) const
{
WXDWORD msStyle = wxControl::MSWGetStyle(style, exstyle);
WXDWORD wxStaticText::MSWGetStyle(long style, WXDWORD *exstyle) const
{
WXDWORD msStyle = wxControl::MSWGetStyle(style, exstyle);
// this style is necessary to receive mouse events
// Win NT and later have the SS_ENDELLIPSIS style which is useful to us:
if (wxGetOsVersion() == wxOS_WINDOWS_NT)
// this style is necessary to receive mouse events
// Win NT and later have the SS_ENDELLIPSIS style which is useful to us:
if (wxGetOsVersion() == wxOS_WINDOWS_NT)
// note: we first need to set the size and _then_ call UpdateLabel
wxStaticTextBase::DoSetSize(x, y, w, h, sizeFlags);
// note: we first need to set the size and _then_ call UpdateLabel
wxStaticTextBase::DoSetSize(x, y, w, h, sizeFlags);
// do we need to ellipsize the contents?
long styleReal = ::GetWindowLong(GetHwnd(), GWL_STYLE);
if ( !(styleReal & SS_ENDELLIPSIS) )
// do we need to ellipsize the contents?
long styleReal = ::GetWindowLong(GetHwnd(), GWL_STYLE);
if ( !(styleReal & SS_ENDELLIPSIS) )
// we need to refresh the window after changing its size as the standard
// control doesn't always update itself properly
// we need to refresh the window after changing its size as the standard
// control doesn't always update itself properly
long styleReal = ::GetWindowLong(GetHwnd(), GWL_STYLE);
if ( HasFlag(wxST_ELLIPSIZE_END) &&
wxGetOsVersion() == wxOS_WINDOWS_NT )
{
long styleReal = ::GetWindowLong(GetHwnd(), GWL_STYLE);
if ( HasFlag(wxST_ELLIPSIZE_END) &&
wxGetOsVersion() == wxOS_WINDOWS_NT )
{
- // adding SS_ENDELLIPSIS or SS_ENDELLIPSIS "disables" the correct
- // newline handling in static texts: the newlines in the labels are
- // shown as square. Thus we don't use it even on newer OS when
+ // adding SS_ENDELLIPSIS or SS_ENDELLIPSIS "disables" the correct
+ // newline handling in static texts: the newlines in the labels are
+ // shown as square. Thus we don't use it even on newer OS when
// the static label contains a newline.
if ( label.Contains(wxT('\n')) )
styleReal &= ~SS_ENDELLIPSIS;
// the static label contains a newline.
if ( label.Contains(wxT('\n')) )
styleReal &= ~SS_ENDELLIPSIS;
styleReal &= ~SS_ENDELLIPSIS;
::SetWindowLong(GetHwnd(), GWL_STYLE, styleReal);
}
styleReal &= ~SS_ENDELLIPSIS;
::SetWindowLong(GetHwnd(), GWL_STYLE, styleReal);
}
// this call will save the label in m_labelOrig and set it into this window
// (through wxWindow::SetLabel)
m_labelOrig = label;
// this call will save the label in m_labelOrig and set it into this window
// (through wxWindow::SetLabel)
m_labelOrig = label;