暂时使MFC功能区中的控件处于非活动状态或已禁用

时间:2014-10-24 15:37:55

标签: c++ user-interface mfc ribbon

我有一个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

1 个答案:

答案 0 :(得分:2)

MFC通常通过ON_UPDATE_COMMAND_UI消息处理程序处理UI元素的更新(例如工具栏按钮,控件等)。

ON_UPDATE_COMMAND_UI(id, memberFxn )

基本上,您为要启用/禁用的控件编写处理程序等。当它被调用时,您将传递一个指向CCmdUI对象的指针,该对象将允许您更改控件的状态。查看here了解更多信息。