Re: Checking panel hot key improvement (MS Windows)
Posted: Tue Sep 22, 2009 12:36 pm
My last code. Are there reasons it does not work on MAC?
Code: Select all
void MyListCtrl::OnChar(wxKeyEvent& event)
{ if (wxGetKeyState(WXK_ALT) ||
wxGetKeyState(WXK_COMMAND) ||
wxGetKeyState(WXK_UP) ||
wxGetKeyState(WXK_DOWN) ||
wxGetKeyState(WXK_LEFT) ||
wxGetKeyState(WXK_RIGHT) ||
wxGetKeyState(WXK_HOME) ||
wxGetKeyState(WXK_END) ||
wxGetKeyState(WXK_PAGEUP) ||
wxGetKeyState(WXK_PAGEDOWN) ||
wxGetKeyState(WXK_NUMPAD_UP) ||
wxGetKeyState(WXK_NUMPAD_DOWN) ||
wxGetKeyState(WXK_NUMPAD_LEFT) ||
wxGetKeyState(WXK_NUMPAD_RIGHT) ||
wxGetKeyState(WXK_NUMPAD_PAGEDOWN) ||
wxGetKeyState(WXK_NUMPAD_PAGEUP) ||
wxGetKeyState(WXK_NUMPAD_HOME) ||
wxGetKeyState(WXK_NUMPAD_END)
)
event.Skip();
}
void MyListCtrl::OnListKeyDown(wxListEvent& event)
{
if (!wxGetKeyState(WXK_COMMAND) && !wxGetKeyState(WXK_ALT))
{
switch ( event.GetKeyCode())
{
case WXK_DELETE:
case WXK_NUMPAD_DELETE:
{
wxCommandEvent evt(wxEVT_COMMAND_MENU_SELECTED, MENU_TREEPOPUP_DELETE);
OnDeleteTransaction(evt);
}
break;
case 'V':
{
wxCommandEvent evt(wxEVT_COMMAND_MENU_SELECTED, MENU_TREEPOPUP_MARKVOID);
OnMarkTransaction(evt);
}
break;
case 'R':
{
wxCommandEvent evt(wxEVT_COMMAND_MENU_SELECTED, MENU_TREEPOPUP_MARKRECONCILED);
OnMarkTransaction(evt);
}
break;
case 'U':
{
wxCommandEvent evt(wxEVT_COMMAND_MENU_SELECTED, MENU_TREEPOPUP_MARKUNRECONCILED);
OnMarkTransaction(evt);
}
break;
case 'F':
{
wxCommandEvent evt(wxEVT_COMMAND_MENU_SELECTED, MENU_TREEPOPUP_MARK_ADD_FLAG_FOLLOWUP);
OnMarkTransaction(evt);
}
break;
case 'D':
{
wxCommandEvent evt(wxEVT_COMMAND_MENU_SELECTED, MENU_TREEPOPUP_MARKDUPLICATE);
OnMarkTransaction(evt);
}
break;
}
}
event.Skip();
}