vc++在mfc程序中使用xml文件配置工具栏

vc++在mfc程序中使用xml文件配置工具栏

ID:13066511

大小:85.01 KB

页数:10页

时间:2018-07-20

vc++在mfc程序中使用xml文件配置工具栏_第1页
vc++在mfc程序中使用xml文件配置工具栏_第2页
vc++在mfc程序中使用xml文件配置工具栏_第3页
vc++在mfc程序中使用xml文件配置工具栏_第4页
vc++在mfc程序中使用xml文件配置工具栏_第5页
资源描述:

《vc++在mfc程序中使用xml文件配置工具栏》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

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

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

3、    简单解释一下上面的节点意义:valid表示工具栏是否有效,caption表示工具栏标题,file节点为工具栏按钮所贴图片,separator表示按钮是分隔符。  2.通过解析XML文件获取工具栏信息来创建工具栏。首先在CMainFrame类添加两个数据成员:  /**  *brief工具栏对应的图像列表。  */  CImageList m_imgToobar;  /**  *brief系统配置文件解析器,具体看我上传的代码。  */  CXmlParsem_SysSetting;  然后实现如下函数

4、:  /*!  * brief获取exe所在的文件夹。  *  * param[in][out]strBinPathexe程序所在的文件夹。  * return无。  */  voidCMainFrame::GetOutputPath(string&strBinPath)  {  TCHARszModulePath[_MAX_PATH];  ::GetModuleFileName(NULL,szModulePath,_MAX_PATH);  strBinPath=szModulePath;  strBinPath=strBinPath.substr(0,strBinPath.rfind(

5、'\')+1);  }  /*!  * brief解析系统配置文件,获取工具栏信息。  *  * param[in][out]MyToolbar工具栏信息。  * return无。  */ voidCMainFrame::ParseXml(ToolBar&MyToolbar)  {  stringstrBinPath;  GetOutputPath(strBinPath);  stringstrXmlPath=strBinPath+string(_T("SysConfig.xml"));  m_SysSetting.OpenXml(strXmlPath);  m_SysSetting.

6、GetToolbarInfo(MyToolbar);  }  /*!  * brief根据工具栏图片信息加载工具栏图像列表。  *  * param[in]MyToolbar工具栏信息。  * return是否成功。true为成功,false表示失败。  */  BOOLCMainFrame::LoadImageList(ToolBar&MyToolbar)  {  //获取按钮图片的个数  intnBmpNum=MyToolbar.m_MenuItemVec.size();  HBITMAP hBitmap   =NULL;  //打开所有位图,将其加进图像列表  for(inti=0

7、;i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。