在此功能中pCmdUI->SetText
有效,但pCmdUI->SetCheck
无效。
我有一个菜单项,我想点击它并在菜单项中显示一个勾选,但我添加了一个消息方法ON_UPDATE_COMMAND_UI
,在这个函数中我可以使用pCmdUI->SetText("xxx")
和菜单项目文本按预期更改,但如果我使用pCmdUI->SetCheck(TRUE)
或pCmdUI->SetRadio(TRUE)
,则只显示一个方框而不是“勾选”。
这里发生了什么?
这是我的代码:
void CBaoSteelBaseView::OnUpdateTrueImage(CCmdUI *pCmdUI)
{
pCmdUI->Enable(pImage!=NULL && !pImage->IsEmpty());
if (systemInfo.showTrueImage)
{
pCmdUI->SetCheck(TRUE);
}
else if (!systemInfo.showTrueImage)
{
pCmdUI->SetCheck(FALSE);
}
}
答案 0 :(得分:0)
不是答案,只是旁注:
您的代码过于复杂。您可以通过以下方式替换它:
void CBaoSteelBaseView::OnUpdateTrueImage(CCmdUI *pCmdUI)
{
pCmdUI->Enable(pImage!=NULL && !pImage->IsEmpty());
if (systemInfo.showTrueImage)
{
pCmdUI->SetCheck(TRUE);
}
else
{
pCmdUI->SetCheck(FALSE);
}
}
甚至更简单:
void CBaoSteelBaseView::OnUpdateTrueImage(CCmdUI *pCmdUI)
{
pCmdUI->Enable(pImage!=NULL && !pImage->IsEmpty());
pCmdUI->SetCheck(systemInfo.showTrueImage);
}