X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5d44b24ee63543390aa28e1eb4ff162da4264838..bbee1b4abc13379569607df8f6985ec68dc12231:/src/os2/choice.cpp?ds=sidebyside diff --git a/src/os2/choice.cpp b/src/os2/choice.cpp index 079295ab77..a1cdd262b1 100644 --- a/src/os2/choice.cpp +++ b/src/os2/choice.cpp @@ -16,6 +16,7 @@ #include "wx/choice.h" #include "wx/utils.h" #include "wx/log.h" + #include "wx/settings.h" #endif #include "wx/os2/private.h" @@ -38,16 +39,16 @@ bool wxChoice::Create( { long lSstyle; - if (!OS2CreateControl( pParent - ,vId - ,rPos - ,rSize - ,lStyle + if (!CreateControl( pParent + ,vId + ,rPos + ,rSize + ,lStyle #if wxUSE_VALIDATORS - ,rValidator + ,rValidator #endif - ,rsName - )) + ,rsName + )) return FALSE; lSstyle = CBS_DROPDOWNLIST | WS_TABSTOP | @@ -71,17 +72,23 @@ bool wxChoice::Create( // A choice/combobox normally has a white background (or other, depending // on global settings) rather than inheriting the parent's background colour. // - SetBackgroundColour(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_WINDOW)); + SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW)); for (int i = 0; i < n; i++) { Append(asChoices[i]); } + wxFont* pTextFont = new wxFont( 10 + ,wxMODERN + ,wxNORMAL + ,wxNORMAL + ); + SetFont(*pTextFont); SetSize( rPos.x ,rPos.y ,rSize.x ,rSize.y ); - + delete pTextFont; return TRUE; } // end of wxChoice::Create @@ -181,12 +188,19 @@ void wxChoice::SetString( , const wxString& rsStr ) { - wxFAIL_MSG(wxT("not implemented")); + SHORT nIndexType = 0; -#if 0 // should do this, but no Insert() so far - Delete(n); - Insert(n + 1, s); -#endif + ::WinSendMsg(GetHwnd(), LM_DELETEITEM, (MPARAM)n, 0); + + if (m_windowStyle & wxLB_SORT) + nIndexType = LIT_SORTASCENDING; + else + nIndexType = LIT_END; + ::WinSendMsg( GetHwnd() + ,LM_INSERTITEM + ,(MPARAM)nIndexType + ,(MPARAM)rsStr.c_str() + ); } // end of wxChoice::SetString wxString wxChoice::GetString(