MiniGUI 3.0编程:对话框模板与控件定义

需积分: 47 15 下载量 138 浏览量 更新于2024-08-09 收藏 5.05MB PDF 举报
"MiniGUI 3.0 编程指南提供了关于如何定义对话框模板和控件的数据结构,以及MiniGUI编程的基础知识。" 在MiniGUI 3.0中,对话框模板(DLGTEMPLATE)和控件数据结构(CTRLDATA)是创建和管理对话框及其控件的核心元素。对话框模板定义了一个对话框的基本属性,包括位置、大小、标题、图标、菜单、控件数量以及控件数组的指针。CTRLEDATA结构则用来详细描述每个对话框中的控件,如其位置、尺寸、类型等。 对话框模板结构`DLGTEMPLATE`包含以下字段: 1. `x`, `y`: 对话框的左上角坐标。 2. `w`, `h`: 对话框的宽度和高度。 3. `caption`: 对话框的标题。 4. `hIcon`: 对话框的图标句柄。 5. `hMenu`: 对话框的菜单句柄。 6. `controlnr`: 对话框中控件的数量。 7. `controls`: 指向包含所有控件定义的`CTRLEDATA`结构数组的指针。 8. `dwAddData`: 额外数据,通常设置为0。 CTRLEDATA结构用于定义对话框控件,其中包括控件的位置、大小、样式等。在MiniGUI 3.0中,此结构增加了`werdr_name`和`we_attrs`字段,用于指定控件的渲染器和窗口元素属性。这些新成员允许开发者自定义控件的视觉效果,而默认情况下,如果使用静态或全局变量定义`CTRLEDATA`结构,这两个字段会被初始化为零,使用默认渲染器和属性。 清单4.1展示了如何定义一个对话框模板的示例。在程序中,首先定义所有控件的`CTRLEDATA`结构,然后创建`DLGTEMPLATE`结构,指定对话框的样式、扩展样式、位置、大小和标题,并将`controls`字段指向控件数组。 MiniGUI 3.0编程指南覆盖了MiniGUI编程的基础到高级主题,包括窗口和消息处理、控件编程、图形设备接口、进程间通信和定制服务器程序的开发。此外,它还涵盖了各种特定控件的编程,如静态框、按钮、列表框、编辑框等,为开发者提供了全面的参考和指导。 对于从MiniGUI 1.6/2.0迁移至3.0的开发者,由于`CTRLEDATA`结构的扩展,使用静态变量或全局变量定义的旧版应用程序可以直接在MiniGUI 3.0中编译,因为新增的成员会自动初始化为默认值。这使得升级过程更加平滑。