wxWidgets:检测自定义控件上的单击事件
题
如何向使用 wxWidgets 制作的自定义控件添加单击事件侦听器?自定义控件使用wxWindow作为基础。在活动列表上我看到
wxEVT_LEFT_DOWN
wxEVT_LEFT_UP
wxEVT_LEFT_DCLICK
wxEVT_MIDDLE_DOWN
wxEVT_MIDDLE_UP
wxEVT_MIDDLE_DCLICK
wxEVT_RIGHT_DOWN
wxEVT_RIGHT_UP
wxEVT_RIGHT_DCLICK
wxEVT_MOTION
wxEVT_ENTER_WINDOW
wxEVT_LEAVE_WINDOW
wxEVT_MOUSEWHEEL
但没有 wxEVT_LEFT_CLICK
或类似的。
其他提示
在第一个实例中,我建议继承 wxControl 而不是 wxWindow,wxControl 就是为此目的而设计的,并且您不太可能发现自己与系统作斗争。当我查看在自己的 wxWidgets 应用程序中构建的控件时,我看到我的单击处理程序已附加到 wxEVT_LEFT_DOWN。查看我的《使用 wxWidgets 进行跨平台 GUI 编程》的副本,我可以看到所有 wxMouseEvent 的列表,并且没有 wxEVT_LEFT_CLICK。我建议使用 wxEVT_LEFT_DOWN 事件。
现在,在发帖后,我已经阅读了 Burly 的答案,并且我同意他的观点,wxWidgets 提供了最低级别的事件,这使您可以最大程度地控制为用户构建的用户界面。
不隶属于 StackOverflow