FIX: button handle key event

Change-Id: If3ecd2356e516105c2054c9b85a122f3ccc72d91
This commit is contained in:
chunmao.guo 2022-07-29 11:18:33 +08:00 committed by Lane.Wei
parent 6c4b1f79da
commit a74fb14613
6 changed files with 59 additions and 9 deletions

View file

@ -248,9 +248,11 @@ void ComboBox::keyDown(wxKeyEvent& event) {
break;
case WXK_UP:
case WXK_DOWN:
if (event.GetKeyCode() == WXK_UP && GetSelection() > 0) {
case WXK_LEFT:
case WXK_RIGHT:
if ((event.GetKeyCode() == WXK_UP || event.GetKeyCode() == WXK_LEFT) && GetSelection() > 0) {
SetSelection(GetSelection() - 1);
} else if (event.GetKeyCode() == WXK_DOWN && GetSelection() + 1 < texts.size()) {
} else if ((event.GetKeyCode() == WXK_DOWN || event.GetKeyCode() == WXK_RIGHT) && GetSelection() + 1 < texts.size()) {
SetSelection(GetSelection() + 1);
} else {
break;
@ -263,6 +265,9 @@ void ComboBox::keyDown(wxKeyEvent& event) {
GetEventHandler()->ProcessEvent(e);
}
break;
case WXK_TAB:
HandleAsNavigationKey(event);
break;
default:
event.Skip();
break;