wxWidgets не может получить щелчок правой кнопкой мыши - PullRequest
0 голосов
/ 08 ноября 2018

Я пытаюсь добавить контекстное меню к элементу управления сеткой в ​​wxWidgets 2.9.4 в Windows 10, и хотя я могу заставить работать клавишу контекстного меню, щелчок правой кнопкой мыши не дает. Щас у меня в шапке следующее

void handle_contextMenu(wxContextMenuEvent& event);
void handle_rightButton(wxMouseEvent& event);

и в конструкторе

Bind(wxEVT_CONTEXT_MENU, &DataGrid::handle_contextMenu, this);
Bind(wxEVT_RIGHT_UP, &DataGrid::handle_rightButton, this);

не работает ни для правой кнопки мыши.

1 Ответ

0 голосов
/ 09 ноября 2018

Причина, по которой вы не можете связать эти события на самой wxGrid, заключается в том, что это составное окно, как описано в разделе «Средства доступа для компонентных окон» документации . Поэтому, чтобы этот код работал, вам нужно позвонить, например, GetGridWindow()->Bind(...).

В качестве альтернативы, вы могли бы и, возможно, должны, если их достаточно, использовать события более высокого уровня, такие как уже упоминавшиеся wxEVT_GRID_CELL_RIGHT_CLICK.

...