X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5d44b24ee63543390aa28e1eb4ff162da4264838..b2da87c3169f29e3e0a317e8de12f6de045e4126:/src/os2/combobox.cpp diff --git a/src/os2/combobox.cpp b/src/os2/combobox.cpp index bf7feb6860..038fa35ec5 100644 --- a/src/os2/combobox.cpp +++ b/src/os2/combobox.cpp @@ -15,7 +15,8 @@ #include "wx/wxprec.h" #ifndef WX_PRECOMP -#include "wx/setup.h" + #include "wx/setup.h" + #include "wx/settings.h" #endif #if wxUSE_COMBOBOX @@ -48,7 +49,7 @@ bool wxComboBox::OS2Command( switch (uParam) { - case LN_SELECT: + case CBN_LBSELECT: if (GetSelection() > -1) { wxCommandEvent vEvent( wxEVT_COMMAND_COMBOBOX_SELECTED @@ -62,7 +63,7 @@ bool wxComboBox::OS2Command( } break; - case EN_CHANGE: + case CBN_EFCHANGE: { wxCommandEvent vEvent( wxEVT_COMMAND_TEXT_UPDATED ,GetId() @@ -100,8 +101,9 @@ bool wxComboBox::Create( , const wxString& rsName ) { + m_isShown = FALSE; - if (!OS2CreateControl( pParent + if (!CreateControl( pParent ,vId ,rPos ,rSize @@ -140,12 +142,11 @@ bool wxComboBox::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)); - SetFont(pParent->GetFont()); + SetFont(*wxSMALL_FONT); int i; - for (i = 0; i < n; i++) { Append(asChoices[i]); @@ -164,6 +165,7 @@ bool wxComboBox::Create( ,(PFNWP)wxComboEditWndProc ); ::WinSetWindowULong(GetHwnd(), QWL_USER, (ULONG)this); + Show(TRUE); return TRUE; } // end of wxComboBox::Create @@ -397,22 +399,29 @@ bool wxComboBox::ProcessEditMsg( switch(vFlag) { case KC_CHAR: - return (HandleChar( SHORT1FROMMP(wParam) + return (HandleChar( wParam ,lParam ,TRUE /* isASCII */ )); case KC_PREVDOWN: - return (HandleKeyDown( SHORT1FROMMP(wParam) + return (HandleKeyDown( wParam ,lParam )); case KC_KEYUP: - return (HandleKeyUp( SHORT1FROMMP(wParam) + return (HandleKeyUp( wParam ,lParam )); } break; + + case WM_SETFOCUS: + if (SHORT1FROMMP((MPARAM)lParam) == TRUE) + return(HandleSetFocus((WXHWND)(HWND)wParam)); + else + return(HandleKillFocus((WXHWND)(HWND)wParam)); + break; } return FALSE; } // end of WinGuiBase_CComboBox::ProcessEditMsg @@ -434,6 +443,7 @@ MRESULT EXPENTRY wxComboEditWndProc( // // Forward some messages to the combobox // + case WM_SETFOCUS: case WM_CHAR: { wxComboBox* pCombo = wxDynamicCast( pWin