X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c50f1fb9226d9260454ccb9c8a67d0be23c2827f..e7300ec6d9ebbd1cfa2fcf12c0ce6e5aee85a152:/src/msw/statline.cpp?ds=sidebyside diff --git a/src/msw/statline.cpp b/src/msw/statline.cpp index 2e55df4d40..088e4e2d39 100644 --- a/src/msw/statline.cpp +++ b/src/msw/statline.cpp @@ -29,7 +29,18 @@ #include "wx/statline.h" +#if wxUSE_STATLINE + #include "wx/msw/private.h" +#include "wx/log.h" + +#ifndef SS_SUNKEN + #define SS_SUNKEN 0x00001000L +#endif + +#ifndef SS_NOTIFY + #define SS_NOTIFY 0x00000100L +#endif // ============================================================================ // implementation @@ -41,42 +52,32 @@ IMPLEMENT_DYNAMIC_CLASS(wxStaticLine, wxControl) // wxStaticLine // ---------------------------------------------------------------------------- -bool wxStaticLine::Create( wxWindow *parent, - wxWindowID id, - const wxPoint &pos, - const wxSize &size, - long style, - const wxString &name) +bool wxStaticLine::Create(wxWindow *parent, + wxWindowID id, + const wxPoint& pos, + const wxSize& sizeOrig, + long style, + const wxString &name) { - if ( !CreateBase(parent, id, pos, size, style, name) ) - return FALSE; - - parent->AddChild(this); + wxSize size = AdjustSize(sizeOrig); - wxSize sizeReal = AdjustSize(size); - - m_hWnd = (WXHWND)::CreateWindow - ( - _T("STATIC"), - "", - WS_VISIBLE | WS_CHILD | - SS_GRAYRECT | SS_SUNKEN,// | SS_ETCHEDFRAME, - pos.x, pos.y, sizeReal.x, sizeReal.y, - GetWinHwnd(parent), - (HMENU)m_windowId, - wxGetInstance(), - NULL - ); + if ( !CreateControl(parent, id, pos, size, style, wxDefaultValidator, name) ) + return FALSE; - if ( !m_hWnd ) - { - wxLogDebug(_T("Failed to create static control")); + return MSWCreateControl(_T("STATIC"), _T(""), pos, size, style); +} - return FALSE; - } +WXDWORD wxStaticLine::MSWGetStyle(long style, WXDWORD *exstyle) const +{ + // we never have border + style &= ~wxBORDER_MASK; + style |= wxBORDER_NONE; - SubclassWin(m_hWnd); + WXDWORD msStyle = wxControl::MSWGetStyle(style, exstyle); - return TRUE; + // add our default styles + return msStyle | SS_GRAYRECT | SS_SUNKEN | SS_NOTIFY | WS_CLIPSIBLINGS; } +#endif // wxUSE_STATLINE +