-
Notifications
You must be signed in to change notification settings - Fork 6
/
ReadMe.txt
35 lines (31 loc) · 1.83 KB
/
ReadMe.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
本项目是由本人基于原始Duilib维护而来,和当前他人使用的Duilib可能不兼容
一些较大的改动(目前整理出来这些,后续可能还会补充):
1、支持StringTable,但是不支持动态切换
StringTable的格式为:
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<String default="en_us">
<en_us>
<IDS_XXX>123</IDS_XXX>
<IDS_XXX2>#IDS_XXX#456</IDS_XXX2>
<!-- IDS_XXX2 对应的字符串为123456,两个#之间可以引用其他ID-->
</en_us>
</String>
或
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<String>
<IDS_XXX>XXX</IDS_XXX>
</String>
皮肤文件里可以使用Window的StringTable属性指定StringTable的文件名,默认为String.xml
引用方法:
<Label text="#IDS_XXX"/>
注意:所有字符串ID必须以“IDS_”开头,这是为了方便区分普通字符串还是字符串ID
2、基于default扩展了style属性,支持嵌套Style
3、控件名和属性不区分大小写
4、属性限定符不区分先后顺序如hotbkcolor与bkhotcolor等同,即color的限定符顺序不区分
5、将XML改为pugixml,语法支持更标准,同时也更严格,比如之前属性之间手误没有空格也能解析通过,但是现在不行了
6、所有内置控件都基于Container,即所有控件内都可以嵌套其他控件
7、WindowImplBase新增一些常用函数GetDlgItem,SetDlgItemText等,GetDlgItem会从当前虚拟窗口内查找,没有虚拟窗口则从根查找
8、虚拟窗口可以嵌套,同时Option的Group会自动区分虚拟窗口,即不同的虚拟窗口引用同一个xml文件不再担心Option的Group重复的问题
9、Font改用字符串名称,不再使用声明顺序
10、预处理命令可以在任何使用之前声明,不需要必须紧跟在Window后声明
11、改善了TreeView的可用性