改变菜单勾选状态的方法

  • 方案一

	CMainFrame *pFrame = (CMainFrame *) AfxGetMainWnd(); 	
	CMenu *pMenu	= pFrame->GetMenu();
	ASSERT(pMenu!=NULL);

	CMenu *subMenu  = pMenu->GetSubMenu(3);
	ASSERT(subMenu!=NULL);

	if(m_bShowCoordinate)
	{
		subMenu->CheckMenuItem(ID_SHOW_COORDINATE, MF_CHECKED);
	}
	else
	{
		subMenu->CheckMenuItem(ID_SHOW_COORDINATE, MF_UNCHECKED);  
	} 

  • 方案二

    在消息处理函数中进行处理:ON_UPDATE_COMMAND_UI(ID_SHOW_COORDINATE, OnUpdateShowCoordinate)

void CMyClass::OnUpdateShowCoordinate(CCmdUI * pCmdUI)
{
    pCmdUI->SetCheck(m_bShowCoordinate);
}

你可能感兴趣的:(MFC)