2017-09-02 4 views
0

La classe MFC CMFCRibbonCheckBox ne prend en charge que IsChecked().
Comment puis-je modifier l'état de la case à cocher du ruban dans le code du programme? Est-il possible de définir l'état de vérification comme CButton::SetCheck().Vérification de CMFCRibbonCheckBox

Répondre

1

Vous pouvez copier du code à partir de CMFCRibbonCmdUI :: SetCheck. CMFCRibbonBaseElement :: m_bIsPressed est un membre protégé, vous devez donc l'exposer via une classe dérivée. CMFCRibbonCmdUI a une porte dérobée à travers l'amitié de classe.

+0

Il semble qu'il n'y ait aucune chance d'ajouter une classe dérivée dans le contrôle de ruban qui est créé par un éditeur de ressources de ruban. – Hill

+1

CMFCRibbonConstructor :: CreateElement est virtuel ... mais l'utilisation d'un CMFCRibbonConstructor dérivé demande beaucoup de travail. beaucoup plus facile si vous pouvez utiliser CMFCRibbonCmdUI directement. –