• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 在一个多文档里,如何动态生成全部菜单条?

在一个多文档里,如何动态生成全部菜单条?

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了word文档菜单栏不见,word文档菜单栏隐藏,删除开始菜单文档,word文档没有菜单栏,开始菜单不显示文档等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 在一个多文档里,如何动态生成全部菜单条?
描述:

在网上找到了很多类似的贴子,但都是在原来的菜单中添加.我是想整个菜单均有程序自动生成,请问高手如何实现?
最好有源代码?这件事我已经试了好长的时间,请各位帮帮忙!!!!!!


解决方案1:

给你一个程序片断,你分析一下看.
for(cur = m_mapMenuItem.begin(); cur != m_mapMenuItem.end(); cur++)
{
if ((*cur).second.sMenuID[6] != _T('0'))
continue;
mtype = GetMenuType((*cur).second.sMenuID.c_str());
TString strMenuShowName;
switch ((MENU_LANGUAGE) m_nLanguage)
{
case FCMENU_CN:
strMenuShowName = (*cur).second.sCnName;
break;
// case FCMENU_EN:
// strMenuShowName = (*cur).second.sEnName;
// break;
default:
strMenuShowName = (*cur).second.sEnName;
break;
}
//快捷键
if ((*cur).second.sShortCutKey.length() > 0)
strMenuShowName += _T("\t") + (*cur).second.sShortCutKey;
switch(mtype)
{
case MENU_FIRST: //检查是否还有子菜单,如果没有,则创建MF_STRING
if(hasChild((*cur).second.sMenuID.c_str()))
{
hMainMenu = ::CreateMenu();
bFlag = pMenu->AppendMenu(MF_POPUP,(UINT)hMainMenu,strMenuShowName.c_str());
}
else
bFlag = pMenu->AppendMenu(MF_STRING,(*cur).second.nResID,strMenuShowName.c_str());
break;
case MENU_SECOND:
hSubMenu = ::CreateMenu();
::AppendMenu(hMainMenu,MF_POPUP,(UINT)hSubMenu,strMenuShowName.c_str());
break;
case MENU_THIRD:
if(hasParent((*cur).second.sMenuID.c_str())) hTmpMenu = hSubMenu;
else hTmpMenu = hMainMenu;
switch ((*cur).second.nMenuID)
{
case 0: //separator
::AppendMenu(hTmpMenu,MF_SEPARATOR,0,_T(""));
break;
default:
::AppendMenu(hTmpMenu,MF_STRING,(*cur).second.nResID,strMenuShowName.c_str());
break;
}
break;
}


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 在一个多文档里,如何动态生成全部菜单条?

相关文章

  • 2017-06-04 知道一个目录名后怎么获得这个目录下的所有文件的名称既怎样调用目录里的文件
  • 2017-06-04 关于COM组建的调用问题,如果解决加分
  • 2017-06-04 ATL的COMDLL程序出现_main的链接错误?
  • 2017-06-05 500分请教,如何为自己的程序添加性能计数器,来者有分!!
  • 2017-06-04 关于ActiveMovie,求救?急!
  • 2017-06-04 COM中CreateInstance返回ERROR_NO_TOKEN是什么意思?
  • 2017-06-04 请教如何设置组件的disable属性
  • 2017-06-05 ISAPI的全局变量问题
  • 2017-06-05 某进程打开了一个"选择目录"的对话框,我已经枚举得到该进程的句柄,我该如何得到它的对话框的句柄?
  • 2017-06-05 高分相送,规约库的设计思想。

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 如何拦截自定义消息
    • 如何在ie中执行一个dll程序并返回一个网页。
    • 在COM中的一个线程中,怎么才能够Fire事件
    • 如何获得GoogleTalk聊天窗口的句柄
    • vc操作excel的问题:在已经打开的excel文件上进行数据操作,而非重新打开这个文件然后诸如插入等操作,没思路,待指定迷津
    • 请教一下,在Vs2010里如何从Tlb文件转换成h头文件?
    • 关于ATL控件的属性页的问题!!
    • 求助:ATL写com时调用net框架库的问题
    • ATL问题,兄弟帮忙啊!
    • 关于线程函数的问题

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有