获取 wxTextCtrl 点击事件的简单方法?
当用户单击 wxTextCtrl 时是否有一种简单的方法来处理? 阅读文档 wxTextCtrl 后,我发现没有单击或双击单击事件。 我了解到问题 中的 wxWidgets 中不存在“单击”事件之类的事情wxWidgets:检测自定义控件上的单击事件,因此一个简单的鼠标按下事件就可以了。
示例答案:
来自:wx wiki
textCtrl->Connect(wxEVT_LEFT_DOWN,
wxMouseEventHandler(MyClass::OnClick), NULL, this );
Is there an easy way to handle when a user clicks on a wxTextCtrl? After reading the docs wxTextCtrl I see that there isn't a click or double click event. I understand that there is no such thing as "click" events in wxWidgets from the question wxWidgets: Detecting click event on custom controls, so a simple mouse down event will do.
Example answer:
From: wx wiki
textCtrl->Connect(wxEVT_LEFT_DOWN,
wxMouseEventHandler(MyClass::OnClick), NULL, this );
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您是否尝试过处理文本控件的 wxEVT_LEFT_DOWN 和 wxEVT_LEFT_UP 事件? 通过将它们添加到静态消息映射,或者通过调用处理程序方法的 Connect() 来实现。
编辑:
并非所有事件都列在类的文档中。 您还需要在层次结构中向上移动,从wxTextCtrl到wxControl再到wxWindow。 不幸的是,我在这两个类中都找不到鼠标事件的文档。 即使没有明确记录,仍然应该可以处理它们。
Have you tried to handle the wxEVT_LEFT_DOWN and wxEVT_LEFT_UP events for your text control? Either by adding them to the static message map, or by calling Connect() for the handler methods.
Edit:
Not all events are listed in the documentation of a class. You need to go up in the hierarchy as well, from wxTextCtrl to wxControl to wxWindow. Unfortunately I can find the documentation for the mouse events in neither class. It should still be possible to handle them, even if it is not clearly documented.