2017-09-02 2 views
0

Die Klasse MFC CMFCRibbonCheckBox unterstützt nur IsChecked().
Wie ändere ich den Check-Status des Ribbon-Kontrollkästchens im Programmcode? Gibt es eine Möglichkeit, den Prüfstatus wie CButton::SetCheck() zu setzen.Überprüfung der CMFCRibbonCheckBox

Antwort

1

können Sie Code aus CMFCRibbonCmdUI :: SetCheck kopieren. CMFCRibbonBaseElement :: m_bIsPressed ist ein geschütztes Member, daher müssen Sie es über eine abgeleitete Klasse verfügbar machen. CMFCRibbonCmdUI hat eine Backdoor durch Klassenfreundschaft.

+0

Es scheint, dass es keine Möglichkeit gibt, abgeleitete Klassen in Ribbonsteuerelemente hinzuzufügen, die von einem Ribbon-Ressourceneditor erstellt werden. – Hill

+1

CMFCRibbonConstructor :: CreateElement ist virtuell ... aber es ist eine Menge Arbeit, einen abgeleiteten CMFCRibbonConstructor zu verwenden. viel einfacher, wenn Sie CMFCRibbonCmdUI direkt verwenden können. –