我试图在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);
对于鼠标右键都不起作用。
答案 0 :(得分:1)
您无法绑定到wxGrid
上的这些事件的原因是,它是一个复合窗口,如the documentation的“组件窗口的访问器”部分所述。因此,要使此代码正常工作,您需要调用GetGridWindow()->Bind(...)
。
或者,如果可以的话,您可以并且可能应该使用更高级别的事件,例如已经提到的wxEVT_GRID_CELL_RIGHT_CLICK
。