【问题标题】:Temporarily make a control in MFC Ribbon inactive or disabled暂时使 MFC 功能区中的控件处于非活动状态或禁用状态
【发布时间】:2014-12-20 11:51:28
【问题描述】:

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

【问题讨论】:

    标签: c++ user-interface mfc ribbon


    【解决方案1】:

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

    ON_UPDATE_COMMAND_UI(id, memberFxn )
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-19
      • 2021-06-04
      相关资源
      最近更新 更多