WINDOWS对话框模板结构简化分析
DLGTEMPLATE 结构
DLGTEMPLATE 结构始终紧跟三个长度可变的数组:菜单、类、标题。这些数组必须在 WORD 边界上对齐。
菜单(值) | 描述 |
---|
0x0000 | 对话框没有菜单,并且数组没有其他元素。 |
0xFFFF | 数组有一个附加元素,用于指定可执行文件中菜单资源的序号值。 |
0xXXXX(其他值) | 数组视为以 null 结尾的 Unicode 字符串。 |
类(值) | 描述 |
---|
0x0000 | 则系统将预定义的对话框类用于对话框,并且数组没有其他元素。 |
0xFFFF | 则数组有一个附加元素,用于指定预定义系统窗口类的序号值。 |
0xXXXX(其他值) | 数组视为以 null 结尾的 Unicode 字符串。 |
标题(值) | 描述 |
---|
0x0000 | 则对话框没有标题,并且数组没有其他元素。 |
0xXXXX(其他值) | 数组视为以 null 结尾的 Unicode 字符串。 |
字样数组(值) | 描述 |
---|
0xXXXX(其他值) | 数组视为以 null 结尾的 Unicode 字符串,创建对话框和控件时向对话框过程和控件窗口过程发送WM_SETFONT消息。 |
DLGITEMTEMPLATE 结构
标准对话框模板中的 DLGTEMPLATE 标头之后是一个或多个 DLGITEMTEMPLATE 结构,用于定义对话框中控件的尺寸和样式。
每个 DLGITEMTEMPLATE 结构必须在 DWORD 边界上对齐,并紧跟三个长度可变的数组:类、标题和创建数据。
I类(值) | 描述 |
---|
0xFFFF | 数组具有一个附加元素,用于指定预定义系统类的序号值。 |
0xXXXX(其他值) | 数组视为以 null 结尾的 Unicode 字符串,窗口类的名称。 |
I标题(值) | 描述 |
---|
0xFFFF | 数组具有一个附加元素,,用于指定可执行文件中的资源(如图标)的序号值。 |
0xXXXX(其他值) | 数组视为以 null 结尾的 Unicode 字符串。 |
I创建数据(值) | 描述 |
---|
0x0000 | 没有创建数据 |
0xXXXX(其他值) | 指示创建数据的大小(以字节为单位), (包括大小字) 。 控件的窗口过程必须能够解释数据。 当系统创建控件时,它会在发送到控件的WM_CREATE消息的 lParam 参数中传递指向此数据的指针。 |
注意:以上信息仅供参考,实际使用时请参考 Windows API 文档。