设为首页 加入收藏

TOP

在MFC程序中使用XML文件配置工具栏
2014-11-11 08:15:05 】 浏览:7660
Tags:MFC 程序 使用 XML 文件 配置 工具

  现在我发现使用Visual Studio的资源编辑器进行编辑资源有着诸多的不便:首先是任何资源的变动一般变动代码,不利于系统维护,其次Visual Studio的资源编辑器的本身的功能有限,也不利于界面美化,三是不利于人员分工,开发人员既要忙实现功能,又要忙准备好的界面素材。对界面实现文件配置化正是解决上面问题的好方法。这次我实现了使用XML文件配置工具栏。这里所谓配置就是工具栏的界面信息如工具栏标题、按钮图片、是否为分隔符都在 XML文件保存,程序通过解析XML文件来获取工具栏信息来创建工具栏。这样一旦发现界面不合适可以随时修改配置文件,同时利于人员分工。


  具体的做法如下:


  1. 在工程的输出目录下有一个SysConfig.xml,作为系统配置文件。其中关于工具栏的配置部分如下:


  


  


  


  


  


  


  


  


  


  简单解释一下上面的节点意义:valid表示工具栏是否有效,caption表示工具栏标题,file节点为工具栏按钮所贴图片,separator表示按钮是分隔符。


  2. 通过解析XML文件获取工具栏信息来创建工具栏。首先在CMainFrame类添加两个数据成员:


  /**


  * \brief 工具栏对应的图像列表。


  */


  CImageList m_imgToobar;


  /**


  * \brief 系统配置文件解析器,具体看我上传的代码。


  */


  CXmlParse m_SysSetting;


  然后实现如下函数:


  /*!


  * \brief 获取exe所在的文件夹。


  *


  * \param [in][out]strBinPath exe程序所在的文件夹。


  * \return 无。


  */


  void CMainFrame::GetOutputPath(string &strBinPath)


  {


  TCHAR szModulePath[_MAX_PATH];


  ::GetModuleFileName(NULL,szModulePath,_MAX_PATH);


  strBinPath = szModulePath;


  strBinPath = strBinPath.substr(0,strBinPath.rfind('\\')+1);


  }


  /*!


  * \brief 解析系统配置文件,获取工具栏信息。


  *


  * \param [in][out]MyToolbar 工具栏信息。


  * \return 无。


  */


  void CMainFrame::ParseXml(ToolBar &MyToolbar)


  {


  string strBinPath;


  GetOutputPath(strBinPath);


  string strXmlPath = strBinPath + string(_T("SysConfig.xml"));


  m_SysSetting.OpenXml(strXmlPath);


  m_SysSetting.GetToolbarInfo(MyToolbar);


  }


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇计算机二级C++技巧:QT技巧 下一篇输出电脑的所有Mac地址

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目