处理来自 wxFrame 上的 wxTextCtrl 的事件 - C++/wxWidgets

2024-01-09

我有一个MyFrame其源自wxFrame. A wxTextCtrl被添加到此框架中。我可以处理吗EVT_KEY_DOWN这个文本控件在框架中的位置?就像是,

BEGIN_EVENT_TABLE(wxTextCtrl, wxControl)
    EVT_KEY_DOWN(MyFrame::OnKeyDown)
END_EVENT_TABLE()

上面的代码似乎不起作用。文档说这样的事件只能由事件发起的对象处理。所以我应该子类化wxTextCtrl处理这个问题并以某种方式将信息发送到框架?

这样做的最佳方法是什么?


The wxCommandEvent and wxNotifyEvent来自子控件的类型事件设置为自动向上传播到父框架。但是,那wxKeyEvent是从wxEvent所以它不会传播到父框架。那么,您可以使用动态事件处理程序将某些事件路由到任何wxEvtHandler派生对象。

在 wxWidgets 2.8 下你应该使用wxEvtHandler::Connect。该方法被描述here http://docs.wxwidgets.org/stable/wx_wxevthandler.html#wxevthandlerconnect。您还可以看看这个示例代码 http://wiki.wxwidgets.org/Example_Of_Using_Connect_For_Events.

在 wxWidgets 2.9 和 SVN 下你应该使用wxEvtHandler::Bind<>:

MyFrame::MyFrame(...)
{
    m_textcontrol->Bind(wxEVT_KEY_DOWN, &MyFrame::OnTextControlKeyDown, this);
}

The wxEvtHandler::Bind<>方法被描述here http://docs.wxwidgets.org/trunk/overview_events.html#overview_events_bind.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

处理来自 wxFrame 上的 wxTextCtrl 的事件 - C++/wxWidgets 的相关文章

随机推荐

  • 将数字向下舍入

    I have numeric就像这个 a lt 1 542045 我想将它们四舍五入 或四舍五入abs 到小数点后 2 位 signif a 3 会将其向下舍入并给出 1 54 作为结果 但对于本示例 我想要的结果是 1 55 任何想法 我
  • 钥匙串+临时分发

    首先 一些细节 我们正在开发一个 iOS 应用程序 目前使用 Swift Xcode 6 1 GM 2 进行开发 在临时分发应用程序时 我们在钥匙串访问方面遇到了一些令人困惑的问题 并且在追踪原因方面遇到了问题 所有配置文件都与我们应用程序
  • 无法打印字符串数组元素[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 每当我尝试运行该程序时 它都会返回一条错误消息 没有运算符 另请注意 该程序仅在getChoice 功能 include
  • 没有估计器的plot_confusion_matrix

    我正在尝试使用plot confusion matrix from sklearn metrics import confusion matrix y true 1 1 0 1 y pred 1 1 0 0 confusion matrix
  • 无需重新编译即可更改 CORBA 接口

    我想向现有服务器的 CORBA 接口添加一个方法 这需要重新编译所有客户端吗 我用的是TAO 不需要重新编译客户端 也不应该这样做 无论您使用什么 ORB 正如 Adam 所指出的 查找是通过操作名称完成的 直接文本比较 我已经使用我们基于
  • 为什么控制器内部存在的这个函数和属性没有被访问?

    app2 js function var app angular module panel app controller PanelController function this tab 1 this setTab function se
  • Python Flask SocketIO 在 @socketio 上下文之外广播

    我试图在外部值发生变化时发送广播 当值更改时 Camonitor 会调用回调 我想通知所有连接的客户端值已更改并且需要刷新 from flask import Flask from epics import caget caput camo
  • 通过 WSO2 API 管理器公开不安全的 url

    我有一个在 WSO2 的 API Manager Publisher 工具中设置的 API 当使用访问令牌正确调用时 所有调用都可以正常工作 但我有一个网址 我希望任何人都可以调用它 这是一个定制的 Swagger UI 页面 与 WSO2
  • Flot - 是否可以有第三个 y 轴或隐藏数据集?

    我有一个图表显示一个人的比赛时间 如果您将下面的代码复制 粘贴到任何一个flot示例中 它应该可以工作 我在 y1 轴上显示时间 在 y2 轴上显示每公里配速 因为它们都是 H M S 的时间 但我还想在图表中显示每场比赛的距离 由于此数据
  • asp.net MVC 和 RESTful 路由,rails 风格。是否可以?

    有什么方法可以让 MVC 中的路由工作真正平静 就像 Rails 的人所做的那样 我说的是嵌套网址 比如 bands metallica albums killemall track 4 我发现唯一有用的库是 Steve Hodgkiss
  • 在 .NET 5 项目的输出目录中创建了多余的“运行时”文件夹

    我刚刚将 WPF NET 4 6 项目迁移到 NET 5 我注意到它现在在输出目录中创建一个名为 runtimes 的文件夹 其中包含许多依赖于平台的 dll 由于此应用程序只能在 Windows 计算机上运行 因此是否可以阻止在 Visu
  • 在 iOS8 中使用 [UIView(Geometry) _applyISEngineLayoutValues] 重新进入视图时出现问题,但在 iOS7 中则不然

    我正在开发一个由其他人启动的应用程序 我相信是在 iOS 5 发布时启动的 大多数 UI 都是代码生成的 不会显式使用自动布局和约束 但是 有一些 后来添加的 自包含 UI 元素 在 nib xib 中定义 内部使用自动布局 这些元素包含在
  • 检查特定 gcc 编译器的 glibc 版本

    我的系统上安装了两个 gcc 编译器 一个是gcc 4 1 2 默认 另一个是gcc 4 4 4 如何查看使用的 libc 版本gcc 4 4 4 因为 lib libc so 6显示使用的 glibcgcc 4 1 2 因为它是默认编译器
  • 按接收顺序处理 WebSockets 消息

    我的应用程序的客户端部分需要严格按顺序处理 WebSocket 消息 不幸的是 每条消息的处理时间都相当长 大约 3 秒 因此在第一条消息结束之前会出现另一条消息 几条消息之后 顺序就完全不同了 如何在 JavaScript 中解决这个问题
  • 静态对象在多个正在运行的应用程序中是同一个对象吗?

    如果您有一个 Windows 服务和一个 Windows 窗体应用程序使用相同的静态对象 那么这两个应用程序中的对象是否相同 换句话说 如果我更新服务中的对象 如果两者同时运行 它也会在表单应用程序中更新吗 它们在不同的进程上运行 因此不共
  • 如何使用 Typescript 在 VueJs 手表中使用 Lodash debounce

    在 VueJS Javascript 中我可以这样做 import debounce from lodash debounce watch variable debounce function console log wow 500 在 V
  • 映射到 Java 8 中的运行总和

    如果我有一个集合 List
  • 如何使用 OpenSSL 创建和信任证书?

    如何使用 OpenSSL 创建有效的证书以在 IIS 中使用 HTTPS 绑定 它必须在 Firefox 和所有其他浏览器中工作 我使用的是 IIS 10 服务器 And Firefox v70 火狐开发者v72b5版本 Chrome v7
  • Qt支持虚拟纯插槽吗?

    我的 GUI 项目在Qt有很多 配置页面 类 它们都直接继承自QWidget 最近 我意识到所有这些类共享 2 个公共槽 loadSettings and saveSettings 对此 我有两个问题 编写一个中间基抽象类是否有意义 让我们
  • 处理来自 wxFrame 上的 wxTextCtrl 的事件 - C++/wxWidgets

    我有一个MyFrame其源自wxFrame A wxTextCtrl被添加到此框架中 我可以处理吗EVT KEY DOWN这个文本控件在框架中的位置 就像是 BEGIN EVENT TABLE wxTextCtrl wxControl EV