]> git.saurik.com Git - wxWidgets.git/blobdiff - src/os2/choice.cpp
wxUniversal fixes:
[wxWidgets.git] / src / os2 / choice.cpp
index 21bdbb4151732dc8e3b4d7eb3d4fb843e7b8c6cd..a1cdd262b1e2ed85a35cf333337d6995a404a235 100644 (file)
@@ -39,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       |
@@ -188,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(