设置 CMFCRibbonCheckBox 的检查
Posted
技术标签:
【中文标题】设置 CMFCRibbonCheckBox 的检查【英文标题】:Set check of CMFCRibbonCheckBox 【发布时间】:2017-09-02 13:50:03 【问题描述】:MFC CMFCRibbonCheckBox
类只支持IsChecked()
。
如何更改程序代码中功能区复选框的检查状态?
有没有办法设置像CButton::SetCheck()
这样的检查状态。
【问题讨论】:
【参考方案1】:您可以从 CMFCRibbonCmdUI::SetCheck 复制代码。 CMFCRibbonBaseElement::m_bIsPressed 是受保护的成员,因此您需要通过派生类公开它。 CMFCRibbonCmdUI 通过类友谊有一个后门。
【讨论】:
似乎没有机会将派生类添加到由功能区资源编辑器创建的功能区控件中。 CMFCRibbonConstructor::CreateElement 是虚拟的...但是使用派生的 CMFCRibbonConstructor 需要做很多工作。如果您可以直接使用 CMFCRibbonCmdUI,那就容易多了。以上是关于设置 CMFCRibbonCheckBox 的检查的主要内容,如果未能解决你的问题,请参考以下文章