]> git.saurik.com Git - wxWidgets.git/blobdiff - src/os2/statbox.cpp
Make Home and End keys work as expected in wxGrid.
[wxWidgets.git] / src / os2 / statbox.cpp
index 61f5db74d6cf964bb3d8488d21d466b94a39f386..8ae9f4d7ab86a0f47a8d5dbadc3a5b64b8aa787c 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        statbox.cpp
+// Name:        src/os2/statbox.cpp
 // Purpose:     wxStaticBox
 // Author:      David Webster
 // Modified by:
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
-#include "wx/window.h"
-#include "wx/os2/private.h"
+#include "wx/statbox.h"
 
 #ifndef WX_PRECOMP
-#include "wx/app.h"
-#include "wx/dcclient.h"
+    #include "wx/app.h"
+    #include "wx/dcclient.h"
+    #include "wx/window.h"
 #endif
 
-#include "wx/statbox.h"
+#include "wx/os2/private.h"
 
 IMPLEMENT_DYNAMIC_CLASS(wxStaticBox, wxControl)
 
-bool wxStaticBox::Create(
-  wxWindow*                         pParent
-, wxWindowID                        vId
-, const wxString&                   rsLabel
-, const wxPoint&                    rPos
-, const wxSize&                     rSize
-, long                              lStyle
-, const wxString&                   rsName
-)
+bool wxStaticBox::Create( wxWindow*       pParent,
+                          wxWindowID      vId,
+                          const wxString& rsLabel,
+                          const wxPoint&  rPos,
+                          const wxSize&   rSize,
+                          long            lStyle,
+                          const wxString& rsName )
 {
-    if(!OS2CreateControl( pParent
-                         ,vId
-                         ,rPos
-                         ,rSize
-                         ,lStyle
-#if wxUSE_VALIDATORS
-                         ,wxDefaultValidator
-#endif
-                         ,rsName
-                        ))
+    if(!CreateControl( pParent
+                      ,vId
+                      ,rPos
+                      ,rSize
+                      ,lStyle
+                      ,wxDefaultValidator
+                      ,rsName
+                     ))
     {
-        return FALSE;
+        return false;
     }
 
-    wxPoint                         vPos(0,0);
-    wxSize                          vSize(0,0);
+    wxPoint  vPos(0,0);
+    wxSize   vSize(0,0);
 
-    if (!OS2CreateControl( "STATIC"
+    if (!OS2CreateControl( wxT("STATIC")
                           ,SS_GROUPBOX
                           ,vPos
                           ,vSize
                           ,rsLabel
                          ))
     {
-        return FALSE;
+        return false;
     }
 
-    wxColour                        vColour;
-
-    vColour.Set(wxString("BLACK"));
-
-    LONG                            lColor = (LONG)vColour.GetPixel();
+    //
+    // To be transparent we should have the same colour as the parent as well
+    //
+    SetBackgroundColour(GetParent()->GetBackgroundColour());
 
+    LONG lColor = (LONG)wxBLACK->GetPixel();
     ::WinSetPresParam( m_hWnd
                       ,PP_FOREGROUNDCOLOR
                       ,sizeof(LONG)
                       ,(PVOID)&lColor
                      );
-    lColor = (LONG)m_backgroundColour.GetPixel();
 
+    lColor = (LONG)m_backgroundColour.GetPixel();
     ::WinSetPresParam( m_hWnd
                       ,PP_BACKGROUNDCOLOR
                       ,sizeof(LONG)
                       ,(PVOID)&lColor
                      );
-    wxFont*                          pTextFont = new wxFont( 10
-                                                            ,wxMODERN
-                                                            ,wxNORMAL
-                                                            ,wxNORMAL
-                                                           );
-    SetFont(*pTextFont);
     SetSize( rPos.x
             ,rPos.y
             ,rSize.x
             ,rSize.y
            );
-    delete pTextFont;
-    return TRUE;
+    return true;
 } // end of wxStaticBox::Create
 
 wxSize wxStaticBox::DoGetBestSize() const
@@ -100,14 +89,11 @@ wxSize wxStaticBox::DoGetBestSize() const
     int                             nCy;
     int                             wBox;
 
-    wxGetCharSize( GetHWND()
-                  ,&nCx
-                  ,&nCy
-                  ,(wxFont*)&GetFont()
-                 );
+    nCx = GetCharWidth();
+    nCy = GetCharHeight();
     GetTextExtent( wxGetWindowText(m_hWnd)
                   ,&wBox
-                  ,&nCy
+                  ,NULL
                  );
     wBox += 3 * nCx;
 
@@ -118,13 +104,9 @@ wxSize wxStaticBox::DoGetBestSize() const
                  );
 } // end of wxStaticBox::DoGetBestSize
 
-MRESULT wxStaticBox::OS2WindowProc(
-  WXUINT                            nMsg
-, WXWPARAM                          wParam
-, WXLPARAM                          lParam
-)
+MRESULT wxStaticBox::OS2WindowProc( WXUINT    nMsg,
+                                    WXWPARAM  wParam,
+                                    WXLPARAM  lParam )
 {
     return wxControl::OS2WindowProc(nMsg, wParam, lParam);
 } // end of wxStaticBox::OS2WindowProc
-
-