При вводе в ячейку в wxGrid клавиши со стрелками работают для возврата назад и вперед между символами. Однако, в зависимости от позиции каретки, я хотел бы переместить курсор в следующую ячейку при нажатии клавиши со стрелкой. В настоящее время wxGrid настроен на захват клавиши Enter, что заставляет курсор двигаться вниз (в ячейку ниже). Мой вопрос: как я могу захватить KeyEvent, когда редактор все еще отображается.Как поймать KeyEvents, когда отображается редактор wxGrid
Мой подход:
void Grid::OnGridCmdEditorShown(wxGridEvent& event)
{
m_IsEditorShown=true;
//Connect(wxEVT_KEY_DOWN,wxKeyEventHandler(Grid::OnKeyDown),NULL, this); //This approach did not help either
event.Skip();
}
void Grid::OnKeyDown(wxKeyEvent& event)
{
if(m_IsEditorShown) wxMessageBox("You are keying");
event.Skip();
}
Когда редактор показан и сказать, что я типа abc
к текущей ячейке, то MessageBox появляется только тогда, когда я нажимаю войти. Как можно поймать KeyEvents, когда редактор все еще отображается, например, пользовательские типы a
для текущей ячейки и MessageBox.
Работал очень хорошо, спасибо! – macroland