]> git.saurik.com Git - wxWidgets.git/blobdiff - src/os2/statline.cpp
Unicode compilation fix
[wxWidgets.git] / src / os2 / statline.cpp
index 687c060f001420f7089965570320b2e6ab34c32f..cd3343c3be9eb2f2ff24154cfaf921e209d81024 100644 (file)
@@ -49,41 +49,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;
+    if (!OS2CreateControl( "STATIC"
+                          ,SS_FGNDFRAME
+                          ,rPos
+                          ,rSize
+                          ,rsName
+                         ))
         return FALSE;
-    }
-    SubclassWin(m_hWnd);
+
+    wxColour                        vColour;
+
+    vColour.Set(wxString("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