DUI引擎属性详解:模板、风格与窗口控制
需积分: 0 15 浏览量
更新于2024-08-04
收藏 27KB DOCX 举报
DUI引擎属性文档1提供了关于DUI引擎核心组件的详细配置属性,这些属性对于理解和定制DUI应用程序的外观和行为至关重要。文档主要分为两大部分:模版属性和窗口属性。
1. **模版属性** (定义在duiobject.h中):
- `baseClass`: 这个属性用于指定一个基础类(classTemplate),新创建的UI元素将继承该类的特性。这有助于复用和扩展已有的UI元素模板。
2. **风格属性** (定义在duiwndstyle.h中):
- `name`:风格类名,用于标识特定样式的UI元素。
- `skin`:皮肤对象名,用于定义UI元素的外观样式,如背景、文本颜色等。
- `ncskin`:非客户区皮肤,可能与客户区皮肤有所区别,比如对话框的标题栏和边框。
- `textmode`:文本样式,通过参照Windows API函数DrawText的FormatFlags,可以调整文本的显示方式。
- 颜色属性(如crbg、crbghover、crtext等):控制不同状态下的颜色,如背景、鼠标悬停、文本颜色、按下状态和禁用状态。
- `font`:字体定义,包括字体大小、粗细、下划线、斜体等属性,以及具体的字体名称(如宋体)。
- `hoverfont`、`pushfont`:鼠标悬停和按下状态的特殊字体。
- `x-margin`和`y-margin`:元素的左右和上下空白,用于调整布局空间。
- `margin`:合并了四个方向的空白,提供简洁的布局配置。
- `spacing`: richtext中的链接和文本块之间的间距。
- `linespacing`: richtext中的文本行距。
- `cursor`:鼠标指针样式,如"hand"(手型)或"arrow"(箭头)。
3. **窗口属性** (定义在duiwnd.h中):
- 继承了风格属性,但更专注于窗口特性。
- `skin` 和 `ncskin`:分别对应客户区和非客户区的皮肤对象。
- `name` 和 `class`:窗口名称和风格属性,可以直接使用`style`属性来指定。
- `id`:窗口的唯一标识符。
- `data`:用于存储与UI交互相关的数据,例如DUINMCOMMAND结构体中的uItemData字段。
- `href`:链接的URL,通常与导航相关。
- `tip`:提示文本,用于鼠标悬停时显示的辅助信息。
- `valign`:元素在容器内的垂直对齐方式,如"top"、"middle"或"bottom"。
- `pos`:窗口的位置,可能是绝对坐标或相对定位。
- `show`:1表示显示,0表示隐藏。
- `msgtransparent`:决定是否处理用户的鼠标事件。
- `sep`:用于自动排列时的水平空格。
4. **子类和扩展**:
- `div`、`dlg` 和 `divex` 是Duiwindow的子类,分别具有额外的功能特性,如div可能仅负责绘制而忽略用户交互,dlg支持拖动区域,divex可能增加了滚动条的支持(通过`sbskin`属性)。
通过理解和配置这些属性,开发人员可以根据需要创建出符合设计规范且功能丰富的DUI界面,实现个性化定制。掌握这些属性是开发基于DUI引擎应用的关键,能够确保控件的一致性和用户体验。
2020-04-04 上传
2020-07-20 上传
2022-05-27 上传
2021-06-29 上传
2021-06-13 上传
2020-02-17 上传
2021-05-16 上传
2020-08-30 上传
大头蚊香蛙
- 粉丝: 22
- 资源: 316
最新资源
- SSM动力电池数据管理系统源码及数据库详解
- R语言桑基图绘制与SCI图输入文件代码分析
- Linux下Sakagari Hurricane翻译工作:cpktools的使用教程
- prettybench: 让 Go 基准测试结果更易读
- Python官方文档查询库,提升开发效率与时间节约
- 基于Django的Python就业系统毕设源码
- 高并发下的SpringBoot与Nginx+Redis会话共享解决方案
- 构建问答游戏:Node.js与Express.js实战教程
- MATLAB在旅行商问题中的应用与优化方法研究
- OMAPL138 DSP平台UPP接口编程实践
- 杰克逊维尔非营利地基工程的VMS项目介绍
- 宠物猫企业网站模板PHP源码下载
- 52简易计算器源码解析与下载指南
- 探索Node.js v6.2.1 - 事件驱动的高性能Web服务器环境
- 找回WinSCP密码的神器:winscppasswd工具介绍
- xctools:解析Xcode命令行工具输出的Ruby库