100分:我做了一个按钮菜单(menu button),如何使它SetCheck()等? 我已经响应了UPDATE_COMMAND_UI,而且调试能够进入该函数,可SetCheck()就是不起作用,不知是什么原因!如果把该菜单加入Dialog 属性中的系统菜单,是起作用的。可我又不想让它是系统菜单!(因为如果是系统菜单的话,我做几个按钮菜单怎么办呢,只能有一个系统菜单啊?)怎么办呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 是你自己做的按钮菜单,还问人家怎么check啊! 我就是SetCheck()响应不了啊! CMenu::ModifyMenu(ID,MF_BYCOMMAND|MF_CHECKED,ID,""); 在UPDATE_COMMAND_UI的消息响应函数里,pCmdUI->SetCheck(勾选的条件); 我碰到过这个问题,我有一个办法:(要自己调用CheckMenuItem函数)CMenu *pAddinMenu,*pTopMenu; pTopMenu=GetMenu(); ASSERT(pTopMenu!=NULL); pAddinMenu=pTopMenu->GetSubMenu(0); ASSERT(pAddinMenu!=NULL); pAddinMenu->CheckMenuItem(0,MF_BYPOSITION | (ComConfig.bNihe? MF_CHECKED : MF_UNCHECKED)); to goodboyyxh()这段程序要加在在UPDATE_COMMAND_UI的消息响应函数里吗?你有相关的例子吗? to goodboyyxh()pTopMenu=GetMenu(); //得到的是系统菜单啊,我就是不想用系统菜单的! 那就这样啊:CMenu *menuTemp;menuTemp=new CMenu;menuTemp->LoadMenu(IDR_YOURMENU);/*。*/delete menuTemp;得到的就是你的菜单的指针,然后就去发挥吧。 在UPDATE_COMMAND_UI的响应函数中pCmdUI->m_pMenu->CheckMenuItem(ID_MENU1,MF_CHECKED);可是还是没反应啊!急! void CXXXXApp::OnUpdateYourID(CCmdUI* pCmdUI) { pCmdUI->SetCheck(TRUE);}POINT pt;GetCursorPos(&pt);CWnd* pWnd=AfxGetMainWnd();CMenu cMenu; cMenu.CreatePopupMenu(); cMenu.AppendMenu(MF_STRING,ID_YOURID, "YourID(&Z) Ctrl+Z"); cMenu.AppendMenu(MF_SEPARATOR); cMenu.AppendMenu(MF_STRING,ID_APP_EXIT, "退出(&X) Ctrl+X"); SetForegroundWindow(); cMenu.TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON, pt.x, pt.y, pWnd); cMenu.DestroyMenu(); to goodboyyxh: 是啊!to KcSoft(蓝珍珠精灵) : 没反应!发个例子给我,好吗?[email protected] 请教关于Credential Provider程序开发 使用WMI获取到CPU名称为什么和我的电脑属性中的不一样 cc 求电子书,每本30分 怎么把int转化成_variant_t 完成端口模型不会这么糟糕吧???高手们都来看看 MFC 多文档程序如何点击新建的时候弹出一个对话框,然后输入文件名保存到那个目录下面 如何让自己的窗口一直保持显示,即使在别的程序全屏的时候依然保持显示? 【求助】用网络摄像机做二次开发的问题 如何为CListBox中的各项添加不同的颜色? 请问有没有关于如何操作声卡进行录音的相关资料或代码?谢谢 问一条sql语句
pCmdUI->SetCheck(勾选的条件);
CMenu *pAddinMenu,*pTopMenu;
pTopMenu=GetMenu();
ASSERT(pTopMenu!=NULL);
pAddinMenu=pTopMenu->GetSubMenu(0);
ASSERT(pAddinMenu!=NULL);
pAddinMenu->CheckMenuItem(0,MF_BYPOSITION |
(ComConfig.bNihe? MF_CHECKED : MF_UNCHECKED));
CMenu *menuTemp;
menuTemp=new CMenu;
menuTemp->LoadMenu(IDR_YOURMENU);
/*
。
*/
delete menuTemp;
得到的就是你的菜单的指针,然后就去发挥吧。
pCmdUI->m_pMenu->CheckMenuItem(ID_MENU1,MF_CHECKED);可是还是没反应啊!急!
{
pCmdUI->SetCheck(TRUE);
}POINT pt;
GetCursorPos(&pt);
CWnd* pWnd=AfxGetMainWnd();
CMenu cMenu;
cMenu.CreatePopupMenu();
cMenu.AppendMenu(MF_STRING,ID_YOURID, "YourID(&Z) Ctrl+Z");
cMenu.AppendMenu(MF_SEPARATOR);
cMenu.AppendMenu(MF_STRING,ID_APP_EXIT, "退出(&X) Ctrl+X");
SetForegroundWindow();
cMenu.TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,
pt.x, pt.y, pWnd);
cMenu.DestroyMenu();
是啊!to KcSoft(蓝珍珠精灵) :
没反应!发个例子给我,好吗?[email protected]