在对话框模式下,怎样获取里面的工具栏和菜单栏里的指针?我想在其它类里使用对话框下的工具栏和菜单栏
并使工具栏其中的一个按钮为灰?
并使菜单栏其中的一个按钮为灰?
并使工具栏其中的一个按钮为灰?
并使菜单栏其中的一个按钮为灰?
解决方案 »
- VC6.0怎样做导航图钉窗口
- VC++调用SQL语句,提示:0x7c812a5b 处最可能的异常: Microsoft C++ 异常: 内存位置 0x0012d710 处的 long
- 怎样在c++或者vc++中,调用WinRAR解压文件?
- 初探XML(有爱心的请进)
- 怎么播放 已经添加入 资源 的mp3
- 如果我用net use命令登录同事的机子,会在他机子留下记录吗??
- 请问搞网络安全的一天到晚都在干什么?
- VC中switch(str)不能通过
- 如何判定一台机器是否联网?
- CRichEdit在win7下滚动条不消失
- ...请问为什么程序不响应???
- 调试遇到类成员变量赋值访问冲突,什么原因??请大家帮忙:)
1、 增加菜单
//添加
CMenu *mainmenu;
mainmenu=AfxGetMainWnd()->GetMenu(); //得到主菜单
(mainmenu->GetSubMenu (0))->AppendMenu (MF_SEPARATOR);//添加分隔符
(mainmenu->GetSubMenu (0))->AppendMenu(MF_STRING,ID_APP_ABOUT,_T("Always on &Top")); //添加新的菜单项
DrawMenuBar(); //重画菜单2、 删除菜单
//删除
CMenu *mainmenu;
mainmenu=AfxGetMainWnd()->GetMenu(); //得到主菜单
CString str ;
for(int i=(mainmenu->GetSubMenu (0))->GetMenuItemCount()-1;i>=0;i--) //取得菜单的项数。
{
(mainmenu->GetSubMenu (0))->GetMenuString(i,str,MF_BYPOSITION);
//将指定菜单项的标签拷贝到指定的缓冲区。MF_BYPOSITION的解释见上。
if(str=="Always on &Top") //如果是刚才我们增加的菜单项,则删除。
{
(mainmenu->GetSubMenu (0))->DeleteMenu(i,MF_BYPOSITION);
break;
}
}
CStatusBar * pStatusBar=(CStatusBar *)AfxGetMainWnd()->GetDescendantWindow(AFX_IDW_STATUS_BAR);
CToolBar * pToolBar=(CtoolBar *)AfxGetMainWnd()->GetDescendantWindow(AFX_IDW_TOOLBAR);
CMenu *pSubMenu = pMenu->GetSubMenu(0);
pSubMenu->EnableMenuItem(ID_POPUP1, MF_BYCOMMAND|MF_DISABLED|MF_GRAYED);
CFrameWnd *)AfxGetMainWnd())->GetMenu()->EnableMenuItem(ID_ADDLIST,MF_GRAYED);//
使菜单不可用
(CFrameWnd *)AfxGetMainWnd())->GetMenu()->EnableMenuItem(ID_ADDLIST,MF_DISABLED);
使菜单可用
(CFrameWnd *)AfxGetMainWnd())->GetMenu()->EnableMenuItem(ID_ADDLIST,MF_ENABLED);
对话框里面的工具栏?default是没有的啊.除非自己创建;既然自己创建,应该是自己保存指针的.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcsample/html/_sample_mfc_DLGCBR32.asp