user32: Handle VK_ESCAPE correctly in EDIT_WM_KeyDown.
This commit is contained in:
parent
7f10fe0744
commit
6736ed82ed
|
@ -4610,6 +4610,10 @@ static LRESULT EDIT_WM_KeyDown(EDITSTATE *es, INT key)
|
||||||
SendMessageW( hwndParent, WM_COMMAND, IDOK, (LPARAM)GetDlgItem( hwndParent, IDOK ) );
|
SendMessageW( hwndParent, WM_COMMAND, IDOK, (LPARAM)GetDlgItem( hwndParent, IDOK ) );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case VK_ESCAPE:
|
||||||
|
if (!(es->style & ES_MULTILINE))
|
||||||
|
SendMessageW(GetParent(es->hwndSelf), WM_COMMAND, IDCANCEL, (LPARAM)GetDlgItem( GetParent(es->hwndSelf), IDCANCEL ) );
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -300,8 +300,6 @@ static INT_PTR CALLBACK edit_singleline_dialog_proc(HWND hdlg, UINT msg, WPARAM
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
PostMessage(hedit, WM_KEYDOWN, VK_RETURN, 0x1c0001);
|
PostMessage(hedit, WM_KEYDOWN, VK_RETURN, 0x1c0001);
|
||||||
/* needed so the test does not wait for user input */
|
|
||||||
PostMessage(hdlg, WM_USER, 0xfeedbeef, 0);
|
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
PostMessage(hedit, WM_KEYDOWN, VK_TAB, 0xf0001);
|
PostMessage(hedit, WM_KEYDOWN, VK_TAB, 0xf0001);
|
||||||
|
@ -330,8 +328,6 @@ static INT_PTR CALLBACK edit_singleline_dialog_proc(HWND hdlg, UINT msg, WPARAM
|
||||||
case 7:
|
case 7:
|
||||||
PostMessage(hedit, WM_KEYDOWN, VK_RETURN, 0x1c0001);
|
PostMessage(hedit, WM_KEYDOWN, VK_RETURN, 0x1c0001);
|
||||||
PostMessage(hedit, WM_CHAR, VK_RETURN, 0x1c0001);
|
PostMessage(hedit, WM_CHAR, VK_RETURN, 0x1c0001);
|
||||||
/* needed so the test does not wait for user input */
|
|
||||||
PostMessage(hdlg, WM_USER, 0xfeedbeef, 0);
|
|
||||||
break;
|
break;
|
||||||
case 8:
|
case 8:
|
||||||
PostMessage(hedit, WM_KEYDOWN, VK_TAB, 0xf0001);
|
PostMessage(hedit, WM_KEYDOWN, VK_TAB, 0xf0001);
|
||||||
|
@ -371,11 +367,6 @@ static INT_PTR CALLBACK edit_singleline_dialog_proc(HWND hdlg, UINT msg, WPARAM
|
||||||
HWND hfocus = GetFocus();
|
HWND hfocus = GetFocus();
|
||||||
int len = SendMessage(hedit, WM_GETTEXTLENGTH, 0, 0);
|
int len = SendMessage(hedit, WM_GETTEXTLENGTH, 0, 0);
|
||||||
|
|
||||||
if (wparam == 0xfeedbeef)
|
|
||||||
{
|
|
||||||
EndDialog(hdlg, 66);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if (wparam != 0xdeadbeef)
|
if (wparam != 0xdeadbeef)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -1872,7 +1863,7 @@ static void test_singleline_wantreturn_edit_dialog(void)
|
||||||
|
|
||||||
/* tests for WM_KEYDOWN */
|
/* tests for WM_KEYDOWN */
|
||||||
r = DialogBoxParam(hinst, "EDIT_SINGLELINE_DIALOG", NULL, (DLGPROC)edit_singleline_dialog_proc, 0);
|
r = DialogBoxParam(hinst, "EDIT_SINGLELINE_DIALOG", NULL, (DLGPROC)edit_singleline_dialog_proc, 0);
|
||||||
todo_wine ok(222 == r, "Expected %d, got %d\n", 222, r);
|
ok(222 == r, "Expected %d, got %d\n", 222, r);
|
||||||
r = DialogBoxParam(hinst, "EDIT_SINGLELINE_DIALOG", NULL, (DLGPROC)edit_singleline_dialog_proc, 1);
|
r = DialogBoxParam(hinst, "EDIT_SINGLELINE_DIALOG", NULL, (DLGPROC)edit_singleline_dialog_proc, 1);
|
||||||
ok(111 == r, "Expected %d, got %d\n", 111, r);
|
ok(111 == r, "Expected %d, got %d\n", 111, r);
|
||||||
r = DialogBoxParam(hinst, "EDIT_SINGLELINE_DIALOG", NULL, (DLGPROC)edit_singleline_dialog_proc, 2);
|
r = DialogBoxParam(hinst, "EDIT_SINGLELINE_DIALOG", NULL, (DLGPROC)edit_singleline_dialog_proc, 2);
|
||||||
|
@ -1888,7 +1879,7 @@ static void test_singleline_wantreturn_edit_dialog(void)
|
||||||
|
|
||||||
/* tests for WM_KEYDOWN + WM_CHAR */
|
/* tests for WM_KEYDOWN + WM_CHAR */
|
||||||
r = DialogBoxParam(hinst, "EDIT_SINGLELINE_DIALOG", NULL, (DLGPROC)edit_singleline_dialog_proc, 6);
|
r = DialogBoxParam(hinst, "EDIT_SINGLELINE_DIALOG", NULL, (DLGPROC)edit_singleline_dialog_proc, 6);
|
||||||
todo_wine ok(222 == r, "Expected %d, got %d\n", 222, r);
|
ok(222 == r, "Expected %d, got %d\n", 222, r);
|
||||||
r = DialogBoxParam(hinst, "EDIT_SINGLELINE_DIALOG", NULL, (DLGPROC)edit_singleline_dialog_proc, 7);
|
r = DialogBoxParam(hinst, "EDIT_SINGLELINE_DIALOG", NULL, (DLGPROC)edit_singleline_dialog_proc, 7);
|
||||||
ok(111 == r, "Expected %d, got %d\n", 111, r);
|
ok(111 == r, "Expected %d, got %d\n", 111, r);
|
||||||
r = DialogBoxParam(hinst, "EDIT_SINGLELINE_DIALOG", NULL, (DLGPROC)edit_singleline_dialog_proc, 8);
|
r = DialogBoxParam(hinst, "EDIT_SINGLELINE_DIALOG", NULL, (DLGPROC)edit_singleline_dialog_proc, 8);
|
||||||
|
@ -1896,7 +1887,7 @@ static void test_singleline_wantreturn_edit_dialog(void)
|
||||||
|
|
||||||
/* tests for WM_KEYDOWN */
|
/* tests for WM_KEYDOWN */
|
||||||
r = DialogBoxParam(hinst, "EDIT_SINGLELINE_WANTRETURN_DIALOG", NULL, (DLGPROC)edit_singleline_dialog_proc, 0);
|
r = DialogBoxParam(hinst, "EDIT_SINGLELINE_WANTRETURN_DIALOG", NULL, (DLGPROC)edit_singleline_dialog_proc, 0);
|
||||||
todo_wine ok(222 == r, "Expected %d, got %d\n", 222, r);
|
ok(222 == r, "Expected %d, got %d\n", 222, r);
|
||||||
r = DialogBoxParam(hinst, "EDIT_SINGLELINE_WANTRETURN_DIALOG", NULL, (DLGPROC)edit_singleline_dialog_proc, 1);
|
r = DialogBoxParam(hinst, "EDIT_SINGLELINE_WANTRETURN_DIALOG", NULL, (DLGPROC)edit_singleline_dialog_proc, 1);
|
||||||
ok(111 == r, "Expected %d, got %d\n", 111, r);
|
ok(111 == r, "Expected %d, got %d\n", 111, r);
|
||||||
r = DialogBoxParam(hinst, "EDIT_SINGLELINE_WANTRETURN_DIALOG", NULL, (DLGPROC)edit_singleline_dialog_proc, 2);
|
r = DialogBoxParam(hinst, "EDIT_SINGLELINE_WANTRETURN_DIALOG", NULL, (DLGPROC)edit_singleline_dialog_proc, 2);
|
||||||
|
@ -1912,7 +1903,7 @@ static void test_singleline_wantreturn_edit_dialog(void)
|
||||||
|
|
||||||
/* tests for WM_KEYDOWN + WM_CHAR */
|
/* tests for WM_KEYDOWN + WM_CHAR */
|
||||||
r = DialogBoxParam(hinst, "EDIT_SINGLELINE_WANTRETURN_DIALOG", NULL, (DLGPROC)edit_singleline_dialog_proc, 6);
|
r = DialogBoxParam(hinst, "EDIT_SINGLELINE_WANTRETURN_DIALOG", NULL, (DLGPROC)edit_singleline_dialog_proc, 6);
|
||||||
todo_wine ok(222 == r, "Expected %d, got %d\n", 222, r);
|
ok(222 == r, "Expected %d, got %d\n", 222, r);
|
||||||
r = DialogBoxParam(hinst, "EDIT_SINGLELINE_WANTRETURN_DIALOG", NULL, (DLGPROC)edit_singleline_dialog_proc, 7);
|
r = DialogBoxParam(hinst, "EDIT_SINGLELINE_WANTRETURN_DIALOG", NULL, (DLGPROC)edit_singleline_dialog_proc, 7);
|
||||||
ok(111 == r, "Expected %d, got %d\n", 111, r);
|
ok(111 == r, "Expected %d, got %d\n", 111, r);
|
||||||
r = DialogBoxParam(hinst, "EDIT_SINGLELINE_WANTRETURN_DIALOG", NULL, (DLGPROC)edit_singleline_dialog_proc, 8);
|
r = DialogBoxParam(hinst, "EDIT_SINGLELINE_WANTRETURN_DIALOG", NULL, (DLGPROC)edit_singleline_dialog_proc, 8);
|
||||||
|
|
Loading…
Reference in New Issue