X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c9cb56f7f2fb75bce8722f81337253f5649325b9..4aaef122cbbd5bbe0e70b824e320458e2329dd13:/src/os2/control.cpp diff --git a/src/os2/control.cpp b/src/os2/control.cpp index f50e813f90..acf4cecf2c 100644 --- a/src/os2/control.cpp +++ b/src/os2/control.cpp @@ -33,8 +33,6 @@ END_EVENT_TABLE() // Item members wxControl::wxControl() { - m_backgroundColour = *wxWHITE; - m_foregroundColour = *wxBLACK; #if WXWIN_COMPATIBILITY m_callback = 0; @@ -74,6 +72,38 @@ wxControl::~wxControl() m_isBeingDeleted = TRUE; } +bool wxControl::OS2CreateControl( + wxWindow* pParent +, wxWindowID vId +, const wxPoint& rPos +, const wxSize& rSize +, long lStyle +#if wxUSE_VALIDATORS +, const wxValidator& rValidator +#endif +, const wxString& rsName +) +{ + // + // Even if it's possible to create controls without parents in some port, + // it should surely be discouraged because it doesn't work at all under + // Windows + // + if (!CreateBase( pParent + ,vId + ,rPos + ,rSize + ,lStyle +#if wxUSE_VALIDATORS + ,rValidator +#endif + ,rsName + )) + return FALSE; + pParent->AddChild(this); + return TRUE; +} // end of wxControl::OS2CreateControl + bool wxControl::OS2CreateControl( const wxChar* zClassname , WXDWORD dwStyle @@ -99,15 +129,22 @@ bool wxControl::OS2CreateControl( return FALSE; } + + PSZ zClass; + + if ((strcmp(zClassname, "COMBOBOX")) == 0) + zClass = WC_COMBOBOX; + else if ((strcmp(zClassname, "STATIC")) == 0) + zClass = WC_STATIC; dwStyle |= WS_VISIBLE; m_hWnd = (WXHWND)::WinCreateWindow( (HWND)GetHwndOf(GetParent()) // Parent window handle ,(PSZ)zClassname // Window class ,(PSZ)rsLabel.c_str() // Initial Text ,(ULONG)dwStyle // Style flags - ,(LONG)rPos.x // X pos of origin - ,(LONG)rPos.y // Y pos of origin - ,(LONG)rSize.x // control width - ,(LONG)rSize.y // control height + ,(LONG)0 // X pos of origin + ,(LONG)0 // Y pos of origin + ,(LONG)0 // control width + ,(LONG)0 // control height ,(HWND)GetHwndOf(GetParent()) // owner window handle (same as parent ,HWND_TOP // initial z position ,(ULONG)GetId() // Window identifier