/////////////////////////////////////////////////////////////////////////////
-// Name: msw/statline.cpp
+// Name: src/os2/statline.cpp
// Purpose: OS2 version of wxStaticLine class
// Author: David Webster
// Created: 10/23/99
-// Version: $Id$
// Copyright: (c) 1999 David Webster
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
// 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
// ----------------------------------------------------------------------------
, 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