无需添加
答案 0 :(得分:2)
菜单打开时,您想要一个活动吗?使用EVT_MENU_OPEN(func)
(wxMenuEvent
)。但它并不特别精确。正如文档所述,如果您打开菜单,它只会发送一次。对于另一个事件,您必须关闭它并再次打开另一个菜单。即,介于两者之间,您可以打开其他菜单(通过将其他项目悬停在菜单栏中),并且不会再次发送该事件。
你需要什么?可能还有另一种方法,而不是听这种事件。
如果您想要一个菜单中所有项目的事件,请使用EVT_MENU_RANGE(id1, id2, func)
(使用wxCommandEvent
)。从id1
到id2
开始的所有ID都将连接到给定的事件处理程序。使用范围而不是将每个项目分开连接将提供更好的性能,因为事件处理程序列表中的项目更少。