MFC中使用Duilib--2

在上一篇文章"MFC中使用Duilib--1"中,没有用到资源文件,即xml,本篇讲怎样加载文件。

1. 在exe输出目录下,创建一个skin目录,里面放入需要用到的图片文件,以及创建一个或几个xml文件,在这里,我创建一个skin.xml文件。内容如下:

[html] view plain copy
  1. <?xmlversion="1.0"encoding="UTF-8"?>
  2. <Windowmininfo="200,360"size="480,320">
  3. Defaultname="Button"value="normalimage="file='skin\button_nor.bmp'corner='4,2,4,2'fade='200'hsl='true'"hotimage="file='skin\button_over.bmp'corner='4,2'fade='200'hsl='true'"pushedimage="file='skin\button_down.bmp'corner='4,2'fade='200'hsl='true'""/>
  4. Fontname="幼圆"size="16"default="true"/>
  5. VerticalLayoutbkcolor="#FFFF00FF">
  6. Buttonname="changeskinbtn"height="20"text="测试按钮"maxwidth="120"RichEditname="testrichedit"bordercolor="#FF0000"bordersize="0"borderround="18,18"inset="4,2"bkcolor="#FFF2F5FA"bkcolor2="#FFA0A000"bkcolor3="#FFF2F5FA"font="1"multiline="true"vscrollbar="true"autovscroll="true"enabled="true"rich="true"readonly="false"text="测试richedit"</RichEditEditname="testedit"text="测试编辑框"VerticalLayoutWindow>


需要用到的资源图片有button_nor.bmp、button_over.bmp、button_down.bmp。

再将上节内容中的CTestDlg的HandleMessage函数中的WM_CREATE消息改成如下内容:

[cpp] copy
    LRESULTCTestDlg::HandleMessage(UINTuMsg,WPARAMwParam,87); background-color:inherit; font-weight:bold">LPARAMlParam)
  1. {
  2. if(uMsg==WM_CREATE){
  3. //m_pm.Init(m_hWnd);
  4. //CControlUI*pButton=newCButtonUI;
  5. //pButton->SetName(_T("closebtn"));
  6. //pButton->SetBkColor(0xFFFF0000);
  7. //m_pm.AttachDialog(pButton);
  8. //m_pm.AddNotifier(this);
  9. m_pm.Init(m_hWnd);
  10. CDialogBuilderbuilder;
  11. CControlUI*pRoot=builder.Create(L"skin\\skin.xml",(UINT)0,NULL,&m_pm);
  12. ASSERT(pRoot&&"FailedtoparseXML");
  13. m_pm.AttachDialog(pRoot);
  14. m_pm.AddNotifier(this);
  15. return0;
  16. }
  17. elseif(uMsg==WM_DESTROY){
  18. ::PostQuitMessage(0);
  19. }
  20. LRESULTlRes=0;
  21. if(m_pm.MessageHandler(uMsg,wParam,lParam,lRes))returnlRes;
  22. returnCWindowWnd::HandleMessage(uMsg,lParam);
  23. }

编译运行即可。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


xml怎么加入图片路径
rss源错误怎么解决
文件后缀xml是什么意思
xml格式电子发票怎么获取
xml格式是什么意思
rss是什么意思啊
xml格式电子发票怎么打开
rss订阅源是什么意思
rss源是什么
xml注释怎么写
php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类