wxWidgets无法收到鼠标右键

时间:2018-11-08 18:34:33

标签: windows contextmenu wxwidgets

我试图在Windows 10的wxWidgets 2.9.4中将上下文菜单添加到网格控件中,尽管我可以使上下文菜单键正常工作却无法单击。现在我在标题中有以下内容

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 :(得分:1)

您无法绑定到wxGrid上的这些事件的原因是,它是一个复合窗口,如the documentation的“组件窗口的访问器”部分所述。因此,要使此代码正常工作,您需要调用GetGridWindow()->Bind(...)

或者,如果可以的话,您可以并且可能应该使用更高级别的事件,例如已经提到的wxEVT_GRID_CELL_RIGHT_CLICK