Dialog中使用ON_UPDATE_COMMAND_UI的方法.pdf
上传人:sy****28 上传时间:2024-09-14 格式:PDF 页数:2 大小:86KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

Dialog中使用ON_UPDATE_COMMAND_UI的方法.pdf

Dialog中使用ON_UPDATE_COMMAND_UI的方法.pdf

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

浪曦网-国内顶级IT视频网络编程教育平台Www.LangSin.ComDialog中使用ON_UPDATE_COMMAND_UI的方法该文档由国内顶级IT视频网络编程教育平台整理发布由于项目中大量的使用Dialog并且dialog中的子控件在某些条件下要disable显示。为了更加方便的控制和统一我们的编码。在dialog中要使用ON_UPDATE_COMMAND_UI进行处理,好处是代码简单,容易修改控制使用方法:1,重载CDialog的ContinueModal()虚函数2,在ContinueModal()中添加代码:UpdateDialogControls(this,true);3,为一个控件添加ON_UPDATE_COMMAND_UI消息响应函数afx_msgvoidOnUpdateButton1(CCmdUI*pCmdUI);还有宏:ON_UPDATE_COMMAND_UI(IDC_BUTTON1,OnUpdateButton1)4,在函数OnUpdateButton1(CCmdUI*pCmdUI)中添加处理代码。在对话框上添加工具条(toolbar)和菜单(menu)实例:在对话框类中添加下面的函数BOOLCMyDlg::ContinueModal(){if(m_wndtoolbar.IsWindowVisible()){CFrameWnd*pParent=(CFrameWnd*)m_wndtoolbar.GetParent();if(pParent)m_wndtoolbar.OnUpdateCmdUI(pParent,(WPARAM)TRUE);}CMenu*pMainMenu=GetMenu();CCmdUIcmdUI;for(UINTn=0;n<pMainMenu->GetMenuItemCount();++n){CMenu*pSubMenu=pMainMenu->GetSubMenu(n);cmdUI.m_nIndexMax=pSubMenu->GetMenuItemCount();浪曦网-国内顶级IT视频网络编程教育平台Www.LangSin.Com浪曦网-国内顶级IT视频网络编程教育平台Www.LangSin.Comfor(UINTi=0;i<cmdUI.m_nIndexMax;++i){cmdUI.m_nIndex=i;cmdUI.m_nID=pSubMenu->GetMenuItemID(i);cmdUI.m_pMenu=pSubMenu;cmdUI.DoUpdate(this,FALSE);}}returnCDialog::ContinueModal();}然后再对应的.h中添加BOOLContinueModal();这样就可以使用N_UPDATE_COMMAND_UI了。另外,有些文章使用WM_KICKIDLE消息。发现cpu的使用率为100%。建议不要使用该函数另一个缺点:如果用键盘切换了VIEW,这个函数就不响应了,也就是说,如果使用右键菜单中间如果包括了根据VIEW变化的变量,那么就无法操作。浪曦网-国内顶级IT视频网络编程教育平台Www.LangSin.Com