MFC菜单响应问题
要先一个单选菜单,点击一个菜单项该项前面出现一个标记,其他两个菜单项的标记消失,在框架类OnCreate函数中填写如下代码,可是不知道为什么选中标记不变CMenu*men...
要先一个单选菜单,点击一个菜单项该项前面出现一个标记,其他两个菜单项的标记消失,在框架类OnCreate函数中填写如下代码,可是不知道为什么选中标记不变
CMenu *menu=GetMenu();
CMenu *submenu=menu->GetSubMenu(0);
submenu->CheckMenuRadioItem(0,2,0,MF_BYPOSITION); 展开
CMenu *menu=GetMenu();
CMenu *submenu=menu->GetSubMenu(0);
submenu->CheckMenuRadioItem(0,2,0,MF_BYPOSITION); 展开
1个回答
展开全部
MFC不是在OnCreate里边修改,直接响应ON_UPDATE_COMMAND_UI消息就ok了,比如
void CAboutDlg::OnUpdateAppAbout(CCmdUI* pCmdUI)
{
// TODO: Add your command update UI handler code here
pCmdUI->SetCheck(1);
}
void CAboutDlg::OnUpdateAppAbout(CCmdUI* pCmdUI)
{
// TODO: Add your command update UI handler code here
pCmdUI->SetCheck(1);
}
追问
你说的这个只能在菜单项前面加上复选标记,也不能在执行时去掉,我要的单选标记,每次只能选中一个菜单项。
追答
这个可以设置一个变量,比如bool update=false,而消息里边写成这样pCmdUI->SetCheck(update);这样只有运行时候改变update的值就可以控制了,在比如现在有5个菜单项,每次只能选择一个,可以定义一个int update;update值为1~5或者自己指定,消息里边可以写成这样pCmdUI->SetCheck(update==1);意思是update=1时候将一个菜单添加标记
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询