wxOwnerDrawnComboBox: handle numpad navigation keys.
For consitency with the native control, up/down/pgup/pgdown keys should be handled even when pressed on the numpad. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63861 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -271,22 +271,22 @@ bool wxVListBoxComboPopup::HandleKey( int keycode, bool saturate, wxChar unicode
|
||||
}
|
||||
}
|
||||
|
||||
if ( keycode == WXK_DOWN || keycode == WXK_RIGHT )
|
||||
if ( keycode == WXK_DOWN || keycode == WXK_NUMPAD_DOWN || keycode == WXK_RIGHT )
|
||||
{
|
||||
value++;
|
||||
StopPartialCompletion();
|
||||
}
|
||||
else if ( keycode == WXK_UP || keycode == WXK_LEFT )
|
||||
else if ( keycode == WXK_UP || keycode == WXK_NUMPAD_UP || keycode == WXK_LEFT )
|
||||
{
|
||||
value--;
|
||||
StopPartialCompletion();
|
||||
}
|
||||
else if ( keycode == WXK_PAGEDOWN )
|
||||
else if ( keycode == WXK_PAGEDOWN || keycode == WXK_NUMPAD_PAGEDOWN )
|
||||
{
|
||||
value+=10;
|
||||
StopPartialCompletion();
|
||||
}
|
||||
else if ( keycode == WXK_PAGEUP )
|
||||
else if ( keycode == WXK_PAGEUP || keycode == WXK_NUMPAD_PAGEUP )
|
||||
{
|
||||
value-=10;
|
||||
StopPartialCompletion();
|
||||
|
@@ -605,14 +605,17 @@ void wxVListBox::OnKeyDown(wxKeyEvent& event)
|
||||
switch ( event.GetKeyCode() )
|
||||
{
|
||||
case WXK_HOME:
|
||||
case WXK_NUMPAD_HOME:
|
||||
current = 0;
|
||||
break;
|
||||
|
||||
case WXK_END:
|
||||
case WXK_NUMPAD_END:
|
||||
current = GetRowCount() - 1;
|
||||
break;
|
||||
|
||||
case WXK_DOWN:
|
||||
case WXK_NUMPAD_DOWN:
|
||||
if ( m_current == (int)GetRowCount() - 1 )
|
||||
return;
|
||||
|
||||
@@ -620,6 +623,7 @@ void wxVListBox::OnKeyDown(wxKeyEvent& event)
|
||||
break;
|
||||
|
||||
case WXK_UP:
|
||||
case WXK_NUMPAD_UP:
|
||||
if ( m_current == wxNOT_FOUND )
|
||||
current = GetRowCount() - 1;
|
||||
else if ( m_current != 0 )
|
||||
@@ -629,11 +633,13 @@ void wxVListBox::OnKeyDown(wxKeyEvent& event)
|
||||
break;
|
||||
|
||||
case WXK_PAGEDOWN:
|
||||
case WXK_NUMPAD_PAGEDOWN:
|
||||
PageDown();
|
||||
current = GetVisibleBegin();
|
||||
break;
|
||||
|
||||
case WXK_PAGEUP:
|
||||
case WXK_NUMPAD_PAGEUP:
|
||||
if ( m_current == (int)GetVisibleBegin() )
|
||||
{
|
||||
PageUp();
|
||||
|
@@ -831,6 +831,8 @@ bool wxComboCtrl::IsKeyPopupToggle(const wxKeyEvent& event) const
|
||||
|
||||
case WXK_DOWN:
|
||||
case WXK_UP:
|
||||
case WXK_NUMPAD_DOWN:
|
||||
case WXK_NUMPAD_UP:
|
||||
// On XP or with writable combo in Classic, arrows don't open the
|
||||
// popup but Alt-arrow does
|
||||
if ( event.AltDown() ||
|
||||
|
Reference in New Issue
Block a user