+bool wxStaticText::Create(
+ wxWindow* pParent
+, wxWindowID vId
+, const wxString& rsLabel
+, const wxPoint& rPos
+, const wxSize& rSize
+, long lStyle
+, const wxString& rsName
+)
+{
+ SetName(rsName);
+ if (pParent)
+ pParent->AddChild(this);
+
+ SetBackgroundColour(pParent->GetBackgroundColour()) ;
+ SetForegroundColour(pParent->GetForegroundColour()) ;
+
+ if ( vId == -1 )
+ m_windowId = (int)NewControlId();
+ else
+ m_windowId = vId;
+
+ int nX = rPos.x;
+ int nY = rPos.y;
+ int nWidth = rSize.x;
+ int nHeight = rSize.y;
+
+ m_windowStyle = lStyle;
+
+ long lSstyle = 0L;
+
+ lSstyle = WS_VISIBLE | SS_TEXT | DT_VCENTER;
+ if (m_windowStyle & wxALIGN_CENTRE)
+ lSstyle |= DT_CENTER;
+ else if (m_windowStyle & wxALIGN_RIGHT)
+ lSstyle |= DT_RIGHT;
+ else
+ lSstyle |= DT_LEFT;
+ m_hWnd = (WXHWND)::WinCreateWindow( (HWND)GetHwndOf(pParent) // Parent window handle
+ ,WC_STATIC // Window class
+ ,(PSZ)rsLabel.c_str() // Initial Text
+ ,(ULONG)lSstyle // Style flags
+ ,0L, 0L, 0L, 0L // Origin -- 0 size
+ ,(HWND)GetHwndOf(pParent) // owner window handle (same as parent
+ ,HWND_TOP // initial z position
+ ,(ULONG)m_windowId // Window identifier
+ ,NULL // no control data
+ ,NULL // no Presentation parameters
+ );
+
+ wxCHECK_MSG(m_hWnd, FALSE, wxT("Failed to create static ctrl"));
+
+ wxColour vColour;
+
+ vColour.Set(wxString("BLACK"));
+
+ LONG lColor = (LONG)vColour.GetPixel();
+
+ ::WinSetPresParam( m_hWnd
+ ,PP_FOREGROUNDCOLOR
+ ,sizeof(LONG)
+ ,(PVOID)&lColor
+ );
+ lColor = (LONG)m_backgroundColour.GetPixel();
+
+ ::WinSetPresParam( m_hWnd
+ ,PP_BACKGROUNDCOLOR
+ ,sizeof(LONG)
+ ,(PVOID)&lColor
+ );
+
+ SubclassWin(m_hWnd);
+ wxControl::SetFont(pParent->GetFont());
+ SetSize( nX
+ ,nY
+ ,nWidth
+ ,nHeight
+ );
+ return TRUE;
+} // end of wxStaticText::Create
+
+wxSize wxStaticText::DoGetBestSize() const