DUIEngine入门指南:Bkwin转接与资源管理详解

需积分: 0 0 下载量 121 浏览量 更新于2024-08-04 收藏 40KB DOCX 举报
本文主要介绍了如何从Bkwin过渡到DUIEngine,这是一款由金山公司基于Bkwin进行改进和优化的新界面库。对于那些熟悉Bkwin的开发者来说,快速掌握DUIEngine的关键在于理解其资源管理和处理方式的变化。 首先,DUIEngine引入了index.xml和residbuilder工具作为新的资源管理核心。index.xml的作用类似于Bkwin中的bkwinres.rc2,它定义了资源类型(如XML文件)、资源名称和ID,但不再是静态配置,而是动态生成的。通过运行residbuilder工具,可以生成Duires\winres.rc2(类似于bkwinres.rc2的替代品),其中包含了根据index.xml动态编译的资源定义,以及Winres.h头文件,后者包含了根据布局文件(如dlg_mail.xml)自动生成的控件宏定义,这些宏使得编程时可以直接引用控件的资源ID。 在Bkwin中,资源通常通过定义文件和residbuilder工具进行预处理,而在DUIEngine中,开发者需要确保所有的资源都在index.xml中声明,并使用命令行选项指示residbuilder生成所需的资源文件。例如,运行命令`residbuilder-y-i.\skin\index.xml-r.\duires\winres.rc2-n.\duires\name2id.xml-h.\duires\winres.h`,其中'y'表示强制覆盖(如果文件已存在),'i'表示输入资源定义文件,'r'生成rc2资源文件,'n'生成name2id映射文件,'h'生成Winres.h头文件。 此外,DUIEngine的布局文件在原有的基础上增加了控件的name属性,这使得residbuilder可以根据控件的名称和ID生成宏定义,从而简化了资源引用的过程。name2id.xml文件则记录了内部使用的控件名称和ID的对应关系,便于程序内部操作。 重构后的DUIEngine在资源处理上更加灵活和高效,这对于从Bkwin迁移到DUIEngine的开发者来说,意味着需要适应新的工具链和工作流程,但同时也带来了更好的代码可维护性和资源复用性。通过学习并掌握这些新的资源管理方法,开发者可以更快地融入DUIEngine的开发环境,提升开发效率。