2017-09-02 51 views
0

該MFC CMFCRibbonCheckBox類只支持IsChecked()
如何在程序代碼中更改功能區複選框的檢查狀態? 有沒有辦法設置檢查狀態,如CButton::SetCheck()設置檢查CMFCRibbonCheckBox

回答

1

您可以從CMFCRibbonCmdUI :: SetCheck複製代碼。 CMFCRibbonBaseElement :: m_bIsPressed是一個受保護的成員,因此您需要通過派生類來公開它。 CMFCRibbonCmdUI通過班級友誼爲其提供後門。

+0

似乎沒有機會將派生類添加到由Ribbon資源編輯器創建的功能區控件中。 – Hill

+1

CMFCRibbonConstructor :: CreateElement是虛擬的...但使用派生CMFCRibbonConstructor是很多工作。如果您可以直接使用CMFCRibbonCmdUI,會更容易。 –