我有一个用于 MFC 应用程序的功能区 UI。在某些过程中,我想禁用功能区上的某些控件,以便不再处理用户为这些控件生成的事件,直到再次启用该控件。有谁知道这可以做到吗?我查看了功能区控件的 API,但没有看到 SetEnable 方法或类似方法。
CMFCRibbonComboBox* pMyComboBox = DYNAMIC_DOWNCAST(CMFCRibbonComboBox, m_wndRibbonBar.FindByID(ID_THIS));
// pMyComboBox->SetEnable(FALSE); // I am looking for something similar if it exists
最佳答案
MFC 通常通过 ON_UPDATE_COMMAND_UI 消息处理程序处理 UI 元素(例如工具栏按钮、控件等)的更新。
ON_UPDATE_COMMAND_UI(id, memberFxn )
基本上,您为要启用/禁用的控件编写一个处理程序等。当它被调用时,您将被传递一个指向 CCmdUI 对象的指针,该对象将允许您更改控件的状态。看看here了解更多信息。
关于c++ - 暂时使 MFC 功能区中的控件处于非事件状态或禁用状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26551349/