zoukankan      html  css  js  c++  java
  • Duilib XML嵌套

    duilib使用嵌套xml可以简化代码的书写,有利于模块化的页面布局分解,duilib库的xml嵌套主要有两种方式

    方式一、以创建控件的方式嵌套xml

    在CreateControl(LPCTSTR pstrClassname )中创建自定义的控件,并绑定到xml文件

     1 CControlUI* FrameWnd::CreateControl( LPCTSTR pstrClassName )
     2 {
     3     if (_tcsicmp(pstrClassName, _T("Wnd_Xml_1")) == 0)
     4     {
     5         CDialogBuilder builder;
     6         CControlUI* pUI = builder.Create(_T("Wnd_Xml_2.xml")); 
     7         return pUI;
     8     }
     9     else if (_tcsicmp(pstrClassName, _T("Wnd_Xml_2")) == 0)
    10     {
    11         CDialogBuilder builder;
    12         CControlUI* pUI = builder.Create(_T("Wnd_Xml_2.xml")); 
    13         return pUI;
    14     }
    15 
    16     return NULL;
    17 }

    FrameWnd的XML文件使用时

     <Wnd_Xml_1 height="520" />
     <Wnd_Xml_2 height="521" />

    Wnd_Xml_1和Wnd_Xml_2则只需按照普通Window的方式来实现即可

    方式二、使用TableLayout嵌套xml

    1       <TabLayout name="wizard_setup_tab"  >
    2           <Include source="configpage.xml" />
    3         <Include source="installingpage.xml" />        
    4           <Include source="finishpage.xml" />
    5           <Include source="uninstallpage.xml" />
    6         <Include source="uninstallingpage.xml" />        
    7           <Include source="uninstallfinishpage.xml" />
    8     </TabLayout>

    使用的时候需要在指定具体的xml进行加载

    例如使用finishpage.xml

    使用时需要如下操作:

    CTabLayoutUI * setup_tab = static_cast <CTabLayoutUI*>(m_PaintManager.FindControl(_T("wizard_setup_tab")));
        setup_tab->SelectItem(2);

    方式三、以创建Frame的方式嵌套Frame从而达到嵌套xml的目的

    1     g_pWordManagerFrame->Create(NULL, _T("WordManagerWnd"), UI_WNDSTYLE_DIALOG, WS_EX_WINDOWEDGE | WS_EX_TOOLWINDOW);

    直接定义一个Frame来加载独立的xml

    技术交流QQ群,欢迎大家加入:347769318

  • 相关阅读:
    python 读写文件
    input 默认值为灰色,输入时清楚默认值
    openstack security group and rules python api use
    centos7 ssh 设置key认证
    联通烽火hg220桥接tplink路由器
    windows,linux,mac生成ssh public key 和 private key
    bootstrap的编辑标记 angularjs input 弹出框
    sqlalchemy多表联合查询(join)
    python urllib2 发起http请求post
    openstack新建虚机、网络、路由时候对应的ovs网桥的变化
  • 原文地址:https://www.cnblogs.com/Forever-Kenlen-Ja/p/7854357.html
Copyright © 2011-2022 走看看