我正在开发 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/