对话框控件

【勇芳软件工作室】汉化HomePreviousNext

该模板指定对话框中每个控件的位置,宽度,高度,样式,标识符和窗口类。Windows通过将此数据传递给CreateWindowEx函数来创建每个控件。按照模板中给出的顺序创建控件。模板应指定适当的控件数量,类型和顺序,以确保用户可以输入完成与该对话框相关的命令所需的输入。

对于每个控件,模板指定定义控件外观和操作的样式值。每个控件都是子窗口,因此必须具有WS_CHILD样式。为了确保控件在显示对话框时可见,每个控件也必须具有WS_VISIBLE样式。其他通常使用的窗口样式是具有可选边框的控件的WS_BORDER,WS_DISABLED用于在最初创建对话框时应禁用的控件,WS_TABSTOP和WS_GROUP可用于使用键盘访问的控件。WS_TABSTOP和WS_GROUP样式与本主题后面描述的对话框键盘界面结合使用。

模板还可以指定控件的窗口类特定的控件样式。例如,指定按钮控件的模板必须给出按钮控件样式,例如BS_PUSHBUTTON或BS_CHECKBOX。Windows通过WM_CREATE消息将控件样式传递给控制窗口过程,允许过程调整控件的外观和操作。

Windows将位置坐标和宽度和高度测量值从对话框基础单位转换为像素,然后再传递给CreateWindowEx.当Windows创建一个控件时,它将该对话框指定为父窗口。这意味着Windows总是将控件的位置坐标解释为客户端坐标,相对于对话框的客户区域的左上角。

该模板指定每个控件的窗口类。典型的对话框包含属于预定义控件窗口类的控件,例如按钮和编辑控件窗口类。在这种情况下,模板通过为类提供相应的预定义原子值来指定窗口类。当对话框包含属于自定义控件窗口类的控件时,该模板将给出该注册窗口类的名称或当前与该名称相关联的原子值。

对话框中的每个控件必须具有唯一的标识符,以区别于其他控件。控件通过WM_COMMAND消息将信息发送到对话框过程,因此控制标识符对于确定哪个控件发送给定消息的过程至关重要。该规则的唯一例外是静态控件的控制标识符。静态控件不需要唯一标识符,因为它们不发送WM_COMMAND消息。

要允许用户关闭对话框,模板应至少指定一个按钮,并给它控件标识符IDCANCEL。为了允许用户在完成或取消与对话框相关联的命令之间进行选择,模板应分别指定两个带有标记为OK和Cancel的按钮,其中包含IDOK和IDCANCEL的控制标识符。

模板还指定了控件的可选文本和创建数据。文本通常为按钮控件提供标签,或指定静态文本控件的初始内容。创建数据是创建控件时Windows传递给控制窗口过程的一个或多个字节数据。创建数据对于需要有关其初始内容或样式的更多信息而不是由其他数据给出的控件是有用的。例如,应用程序可以使用创建数据来设置滚动条控件的初始设置和范围。