Status von dialogbasierten Menüelementen in C++ ändern
Während sich der Status eines Menüelements bei fensterbasierten Menüs problemlos mittels “Enable”, “SetCheck”, “SetRadio” oder “SetText” auf ausgegraut, mit Häkchen versehen usw ändern lässt, zeigen die gleichen Befehle bei dialogbasierten Menüs keine Wirkung.
void CTestDlg::OnUpdateTestProc(CCmdUI* pCmdUI)
{
pCmdUI->SetCheck(TRUE); // Bewirkt offensichtlich gar nichts.
}
Im KnowledgeBase-Artikel “Q242577” erklärt Microsoft nicht nur, daß es sich hierbei um “This behavior is by design.” handelt, sondern auch, wie man das gewünschte Verhalten doch erreichen kann.