MFC中使用Duilib--2

前端之家收集整理的这篇文章主要介绍了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. }

编译运行即可。

原文链接:https://www.f2er.com/xml/300250.html

猜你在找的XML相关文章