X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1e6feb95a79834836e88143b15d9f424ebe79621..8161b5b9f03998a332dbacad3b476a292bc847f6:/src/msw/choice.cpp diff --git a/src/msw/choice.cpp b/src/msw/choice.cpp index 6c9206a796..f57a180cac 100644 --- a/src/msw/choice.cpp +++ b/src/msw/choice.cpp @@ -83,7 +83,7 @@ bool wxChoice::Create(wxWindow *parent, // 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++ ) { @@ -191,25 +191,31 @@ int wxChoice::FindString(const wxString& s) const #endif // Watcom/!Watcom } -void wxChoice::SetString(int WXUNUSED(n), const wxString& WXUNUSED(s)) +void wxChoice::SetString(int n, const wxString& s) { - wxFAIL_MSG(wxT("not implemented")); - -#if 0 // should do this, but no Insert() so far - Delete(n); - Insert(n + 1, s); -#endif + wxCHECK_RET( (n>=0)&&(n 0 ) + { + if ( ::SendMessage + ( + GetHwnd(), + CB_GETLBTEXT, + n, + (LPARAM)(wxChar *)wxStringBuffer(str, len) + ) == CB_ERR ) + { wxLogLastError(wxT("SendMessage(CB_GETLBTEXT)")); } + str.UngetWriteBuf(); } @@ -283,6 +289,7 @@ void wxChoice::DoSetSize(int x, int y, // wxWindows interpretation is different; also, getting the size returns // the _displayed_ size (NOT the drop down menu size) so // setting-getting-setting size would not work. + wxControl::DoSetSize(x, y, width, -1, sizeFlags); } @@ -391,7 +398,7 @@ WXHBRUSH wxChoice::OnCtlColor(WXHDC pDC, WXHWND WXUNUSED(pWnd), WXUINT WXUNUSED( wxColour colBack = GetBackgroundColour(); if (!IsEnabled()) - colBack = wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DFACE); + colBack = wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE); ::SetBkColor(hdc, wxColourToRGB(colBack)); ::SetTextColor(hdc, wxColourToRGB(GetForegroundColour()));