c++ - 在 MFC 应用程序中以编程方式调用事件处理程序

标签 c++ mfc event-handling

我正在开发 MFC 应用程序 (C++)

我的复选框有一个映射到 ON_BN_CLICKED 的事件处理器. 当用户选中/取消选中该框时,它工作正常,即调用事件处理程序。

但是,当我以编程方式选中该框时:((CButton *)this->GetDlgItem(x))-> ->SetCheck(1);不调用事件处理程序。

我应该怎么做才能以编程方式调用事件处理程序?

最佳答案

这是正常行为。当“点击”或“用户输入”更改按钮时发送 WM_COMMAND。

这与子控件不连续。当程序执行 SetWindowText 时,其他子控件(如编辑控件)也会发送 WM_COMMAND EN_CHANGE 消息(MFC 在 DoDataExchange 中阻止此消息)。

关于c++ - 在 MFC 应用程序中以编程方式调用事件处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31653264/

相关文章:

c++ - 如何决定 constexpr 是否返回引用

c++ - MFC 输入表单不接受少于 5 个符号

javascript - Vue 观察类变化

javascript - 监听事件,例如在 JavaScript 中添加新元素

C++:什么时候需要重新编译有问题?

c++ if语句具有复合值

python - 如何训练或合并多个 .svm 并使用 dlib 检测多个类

winapi - 为什么是 TTN_NEEDTEXTW 而不是 TTN_NEEDTEXTA?

c++ - MFC 发送消息中的对象

javascript - 处理多次射击