Revert the WM_GETDLGCODE handling patch completely this time. It

breaks too much.
This commit is contained in:
Rein Klazes 2003-05-19 21:40:31 +00:00 committed by Alexandre Julliard
parent c646408568
commit a762b4ce2f

View file

@ -745,18 +745,21 @@ static LRESULT WINAPI EditWndProc_common( HWND hwnd, UINT msg,
case WM_GETDLGCODE: case WM_GETDLGCODE:
result = DLGC_HASSETSEL | DLGC_WANTCHARS | DLGC_WANTARROWS; result = DLGC_HASSETSEL | DLGC_WANTCHARS | DLGC_WANTARROWS;
if( es->hwndListBox )
{ if (lParam && (((LPMSG)lParam)->message == WM_KEYDOWN))
if (lParam && (((LPMSG)lParam)->message == WM_KEYDOWN)) {
{ int vk = (int)((LPMSG)lParam)->wParam;
int vk = (int)((LPMSG)lParam)->wParam;
if( vk == VK_RETURN || vk == VK_ESCAPE) if (vk == VK_RETURN && (GetWindowLongW( hwnd, GWL_STYLE ) & ES_WANTRETURN))
if( SendMessageW(GetParent(hwnd), CB_GETDROPPEDSTATE, 0, 0)) {
result |= DLGC_WANTMESSAGE; result |= DLGC_WANTMESSAGE;
} }
} else else if (es->hwndListBox && (vk == VK_RETURN || vk == VK_ESCAPE))
/* It seems in all other cases Windows has this set: */ {
result |= DLGC_WANTMESSAGE; if (SendMessageW(GetParent(hwnd), CB_GETDROPPEDSTATE, 0, 0))
result |= DLGC_WANTMESSAGE;
}
}
break; break;
case WM_IME_CHAR: case WM_IME_CHAR: