X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3c299c3ab663257429983c24e6fb71450f3cf9f1..404b319a85dadd7decf7a5a5331020520031a41c:/src/os2/statline.cpp?ds=sidebyside diff --git a/src/os2/statline.cpp b/src/os2/statline.cpp index 687c060f00..62562b26e0 100644 --- a/src/os2/statline.cpp +++ b/src/os2/statline.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: msw/statline.cpp +// Name: src/os2/statline.cpp // Purpose: OS2 version of wxStaticLine class // Author: David Webster // Created: 10/23/99 @@ -16,26 +16,23 @@ // headers // ---------------------------------------------------------------------------- -#ifdef __GNUG__ - #pragma implementation "statline.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" +#if wxUSE_STATLINE + #include "wx/statline.h" -#if wxUSE_STATLINE +#ifndef WX_PRECOMP + #include "wx/log.h" +#endif #include "wx/os2/private.h" -#include "wx/log.h" // ============================================================================ // implementation // ============================================================================ -IMPLEMENT_DYNAMIC_CLASS(wxStaticLine, wxControl) - // ---------------------------------------------------------------------------- // wxStaticLine // ---------------------------------------------------------------------------- @@ -49,41 +46,56 @@ bool wxStaticLine::Create( , const wxString& rsName ) { - if (!CreateBase( pParent - ,vId - ,rPos - ,rSize - ,lStyle - ,wxDefaultValidator - ,rsName - )) - return FALSE; + wxSize vSize = AdjustSize(rSize); - pParent->AddChild(this); - - wxSize vSizeReal = AdjustSize(rSize); - - m_hWnd = (WXHWND)::WinCreateWindow( GetWinHwnd(pParent) - ,WC_STATIC - ,"" - ,WS_VISIBLE | SS_TEXT | DT_VCENTER | DT_CENTER - ,rPos.x - ,rPos.y - ,vSizeReal.x - ,vSizeReal.y - ,GetWinHwnd(pParent) - ,HWND_TOP - ,(ULONG)m_windowId - ,NULL - ,NULL - ); - if ( !m_hWnd ) - { - wxLogDebug(wxT("Failed to create static control")); + if ( !CreateControl( pParent + ,vId + ,rPos + ,vSize + ,lStyle + ,wxDefaultValidator + ,rsName + )) return FALSE; - } - SubclassWin(m_hWnd); + if (!OS2CreateControl( wxT("STATIC") + ,SS_FGNDFRAME + ,rPos + ,rSize + ,rsName + )) + return FALSE; + + wxColour vColour; + + vColour.Set(wxString(wxT("GREY"))); + + LONG lColor = (LONG)vColour.GetPixel(); + + ::WinSetPresParam( m_hWnd + ,PP_FOREGROUNDCOLOR + ,sizeof(LONG) + ,(PVOID)&lColor + ); return TRUE; } // end of wxStaticLine::Create +WXDWORD wxStaticLine::OS2GetStyle( + long lStyle +, WXDWORD* pdwExstyle +) const +{ + // + // We never have border + // + lStyle &= ~wxBORDER_MASK; + lStyle |= wxBORDER_NONE; + + WXDWORD dwStyle = wxControl::OS2GetStyle( lStyle + ,pdwExstyle + ); + // + // Add our default styles + // + return dwStyle | WS_CLIPSIBLINGS; +} #endif // wxUSE_STATLINE