Duilib中的XML嵌套

2024-05-05 20:48
文章标签 xml 嵌套 duilib

本文主要是介绍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的目的

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

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

这篇关于Duilib中的XML嵌套的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/962640

相关文章

在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码

《在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码》在MyBatis的XML映射文件中,trim元素用于动态添加SQL语句的一部分,处理前缀、后缀及多余的逗号或连接符,示... 在MyBATis的XML映射文件中,<trim>元素用于动态地添加SQL语句的一部分,例如SET或W

Python xmltodict实现简化XML数据处理

《Pythonxmltodict实现简化XML数据处理》Python社区为提供了xmltodict库,它专为简化XML与Python数据结构的转换而设计,本文主要来为大家介绍一下如何使用xmltod... 目录一、引言二、XMLtodict介绍设计理念适用场景三、功能参数与属性1、parse函数2、unpa

关于Maven中pom.xml文件配置详解

《关于Maven中pom.xml文件配置详解》pom.xml是Maven项目的核心配置文件,它描述了项目的结构、依赖关系、构建配置等信息,通过合理配置pom.xml,可以提高项目的可维护性和构建效率... 目录1. POM文件的基本结构1.1 项目基本信息2. 项目属性2.1 引用属性3. 项目依赖4. 构

Spring常见错误之Web嵌套对象校验失效解决办法

《Spring常见错误之Web嵌套对象校验失效解决办法》:本文主要介绍Spring常见错误之Web嵌套对象校验失效解决的相关资料,通过在Phone对象上添加@Valid注解,问题得以解决,需要的朋... 目录问题复现案例解析问题修正总结  问题复现当开发一个学籍管理系统时,我们会提供了一个 API 接口去

使用Python实现批量访问URL并解析XML响应功能

《使用Python实现批量访问URL并解析XML响应功能》在现代Web开发和数据抓取中,批量访问URL并解析响应内容是一个常见的需求,本文将详细介绍如何使用Python实现批量访问URL并解析XML响... 目录引言1. 背景与需求2. 工具方法实现2.1 单URL访问与解析代码实现代码说明2.2 示例调用

SpringBoot嵌套事务详解及失效解决方案

《SpringBoot嵌套事务详解及失效解决方案》在复杂的业务场景中,嵌套事务可以帮助我们更加精细地控制数据的一致性,然而,在SpringBoot中,如果嵌套事务的配置不当,可能会导致事务不生效的问题... 目录什么是嵌套事务?嵌套事务失效的原因核心问题:嵌套事务的解决方案方案一:将嵌套事务方法提取到独立类

hdu1254(嵌套bfs,两次bfs)

/*第一次做这种题感觉很有压力,思路还是有点混乱,总是wa,改了好多次才ac的思路:把箱子的移动当做第一层bfs,队列节点要用到当前箱子坐标(x,y),走的次数step,当前人的weizhi(man_x,man_y),要判断人能否将箱子推到某点时要嵌套第二层bfs(人的移动);代码如下:

intellij idea generatorConfig.xml

generatorConfig.xml <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-ge

xml概论

以下内容摘录自W3School 一、XML的特性 xml是用来传输和存储数据的,本身对数据没有任何操作。在这里要区别一下html,html是用来显示数据的。xml的焦点是数据内容,html的焦点是数据外观。 下面是xml的定义: •XML 指可扩展标记语言(EXtensible Markup Language) •XML 是一种标记语言,很类似 HTML

XML的创建

这里使用的是org.dom4j的jar包来完成xml格式数据的创建。 import java.io.IOException;import java.io.StringWriter;import org.dom4j.Document;import org.dom4j.DocumentHelper;import org.dom4j.Element;import org.dom4j.