+ if (lStyle & wxCLIP_SIBLINGS )
+ lSstyle |= WS_CLIPSIBLINGS;
+ if (lStyle & wxCB_READONLY)
+ lSstyle |= CBS_DROPDOWNLIST;
+ else if (lStyle & wxCB_SIMPLE)
+ lSstyle |= CBS_SIMPLE; // A list (shown always) and edit control
+ else
+ lSstyle |= CBS_DROPDOWN;
+
+
+ if (!OS2CreateControl( "COMBOBOX"
+ ,lSstyle
+ ))
+ return FALSE;
+
+ //
+ // A choice/combobox normally has a white background (or other, depending
+ // on global settings) rather than inheriting the parent's background colour.
+ //
+ SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW));
+
+ SetFont(*wxSMALL_FONT);
+
+ int i;
+ for (i = 0; i < n; i++)
+ {
+ Append(asChoices[i]);
+ }
+
+ SetSize( rPos.x
+ ,rPos.y
+ ,rSize.x
+ ,rSize.y
+ );
+ if (!rsValue.IsEmpty())
+ {
+ SetValue(rsValue);
+ }
+ gfnWndprocEdit = (WXFARPROC)::WinSubclassWindow( (HWND)GetHwnd()
+ ,(PFNWP)wxComboEditWndProc
+ );
+ ::WinSetWindowULong(GetHwnd(), QWL_USER, (ULONG)this);
+ Show(TRUE);
+ return TRUE;
+} // end of wxComboBox::Create
+
+void wxComboBox::SetValue(
+ const wxString& rsValue
+)