欢迎来到天天文库
浏览记录
ID:13066511
大小:85.01 KB
页数:10页
时间:2018-07-20
《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
此文档下载收益归作者所有