X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0cf6acbf261c5d47f97d280700b1203f3d8d8047..b2edef6f2f587d957eabbc17364382293707340f:/src/os2/combobox.cpp diff --git a/src/os2/combobox.cpp b/src/os2/combobox.cpp index e062a2f24a..927325f758 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 @@ -101,7 +102,7 @@ bool wxComboBox::Create( ) { - if (!OS2CreateControl( pParent + if (!CreateControl( pParent ,vId ,rPos ,rSize @@ -140,12 +141,16 @@ 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()); + wxFont* pTextFont = new wxFont( 10 + ,wxMODERN + ,wxNORMAL + ,wxNORMAL + ); + SetFont(*pTextFont); int i; - for (i = 0; i < n; i++) { Append(asChoices[i]); @@ -163,6 +168,8 @@ bool wxComboBox::Create( gfnWndprocEdit = (WXFARPROC)::WinSubclassWindow( (HWND)GetHwnd() ,(PFNWP)wxComboEditWndProc ); + ::WinSetWindowULong(GetHwnd(), QWL_USER, (ULONG)this); + delete pTextFont; return TRUE; } // end of wxComboBox::Create @@ -396,22 +403,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 @@ -433,6 +447,7 @@ MRESULT EXPENTRY wxComboEditWndProc( // // Forward some messages to the combobox // + case WM_SETFOCUS: case WM_CHAR: { wxComboBox* pCombo = wxDynamicCast( pWin