-1

没有什么可添加的

4

1 回答 1

3

当您的菜单打开时,您想要一个活动吗?使用EVT_MENU_OPEN(func)( wxMenuEvent)。但这并不是特别精确。正如文档所说,如果您打开菜单,它只会发送一次。对于另一个事件,您必须关闭它并再次打开另一个菜单。即在两者之间,您可以打开其他菜单(通过将鼠标悬停在菜单栏中的其他项目),并且不会再次发送事件。

你需要这个做什么?可能还有另一种方法可以做到这一点,而不是监听这种事件。

如果您想要菜单的所有项目的事件,请使用EVT_MENU_RANGE(id1, id2, func)(它正在使用wxCommandEvent)。所有从id1到 包括在内的 IDid2都将连接到给定的事件处理程序。使用范围而不是单独连接每个项目将提供更好的性能,因为事件处理程序列表中的项目更少。

于 2008-11-18T20:34:58.283 回答