对话框样式

下表列出了在创建对话框时可以指定的对话框样式。 可以在调用 CreateWindowCreateWindowEx 函数、DLGTEMPLATE 和 DLGTEMPLATEEX 结构的样式成员以及资源文件中对话框定义的 语句中使用这些样式。

返回的常量 说明
DS_3DLOOK
已过时。 系统会自动将三维外观应用于应用程序创建的对话框。
DS_ABSALIGN
指示对话框的坐标是屏幕坐标。 如果未指定此样式,则坐标为客户端坐标。
DS_CENTER
将对话框在包含所有者窗口的监视器工作区中居中。 如果未指定所有者窗口,则对话框在系统确定的监视器的工作区域中居中。 工作区是任务栏或任何应用栏未遮盖的区域。
DS_CENTERMOUSE
鼠标光标上的对话框居中。
DS_CONTEXTHELP
在对话框的标题栏中包括问号。 当用户单击该问号时,光标将变成带指针的问号。 如果用户随后单击对话框中的控件,该控件将收到 WM_HELP 消息。 控件应将消息传递给对话框过程,该过程应使用 HELP_WM_HELP 命令调用 函数。 帮助应用程序显示一个弹出窗口,该窗口通常包含控件的帮助。
请注意, DS_CONTEXTHELP 只是占位符。 创建对话框时,系统会检查 DS_CONTEXTHELP ,如果存在,则向对话框的扩展样式添加 WS_EX_CONTEXTHELPWS_EX_CONTEXTHELP 不能与 WS_MAXIMIZEBOXWS_MINIMIZEBOX 样式一起使用。
DS_CONTROL
创建一个对话框,该对话框可以很好地用作另一个对话框的子窗口,这与属性表中的页面非常类似。 此样式允许用户在子对话框的控件窗口中按 Tab 键、使用其快捷键等。
DS_FIXEDSYS
使对话框使用 SYSTEM_FIXED_FONT 而不是默认 SYSTEM_FONT。 这是与早于 3.0 的 16 位版本的 Windows 中的系统字体兼容的单空间字体。
DS_LOCALEDIT
仅适用于 16 位应用程序。 此样式指示对话框中的编辑控件从应用程序的数据段分配内存。 否则,编辑控件将从全局内存对象分配存储。
DS_MODALFRAME
使用模式对话框框架创建一个对话框,该框可通过指定 WS_CAPTIONWS_SYSMENU 样式与标题栏和窗口菜单结合使用。
DS_NOFAILCREATE
创建对话框,即使发生错误,例如,如果无法创建子窗口或系统无法为编辑控件创建特殊数据段。
DS_NOIDLEMSG
禁止 显示WM_ENTERIDLE 消息,否则系统将在显示对话框时发送给对话框所有者的消息。
DS_SETFONT
指示对话框模板的标题 (标准或扩展) 包含指定用于对话框工作区和控件中的文本的字体的其他数据。 如果可能,系统会根据指定的字体数据选择字体。 系统将字体的句柄传递给对话框,并通过向每个控件发送 WM_SETFONT 消息。 有关此字体数据格式的说明,请参阅 DLGTEMPLATEDLGTEMPLATEEX
如果既未指定 DS_SETFONT ,也未指定 DS_SHELLFONT ,则对话框模板不包括字体数据。
DS_SETFOREGROUND
使系统使用 SetForegroundWindow 函数将对话框引入前台。 无论所有者窗口是否为前台窗口,此样式都适用于需要用户立即关注的模式对话框。
系统限制哪些进程可以设置前台窗口。 有关详细信息,请参阅 前台和后台窗口
DS_SHELLFONT
指示对话框应使用系统字体。 扩展对话框模板的 字样 成员必须设置为 MS Shell Dlg。 否则,此样式无效。 还建议使用 DIALOGEX 资源,而不是 DIALOG 资源。 有关详细信息,请参阅 对话框字体
系统使用 点大小粗细斜体 成员中指定的字体数据选择字体。 系统将字体的句柄传递给对话框,并通过向每个控件发送 WM_SETFONT 消息。 有关此字体数据格式的说明,请参阅 DLGTEMPLATEEX
如果既未指定 DS_SHELLFONT ,也 未指定DS_SETFONT ,则扩展对话框模板不包括字体数据。
DS_SYSMODAL
此样式已过时,并且为了与 16 位版本的 Windows 兼容而包含在内。 如果指定此样式,系统将创建具有 WS_EX_TOPMOST样式的 对话框。 此样式不会阻止用户访问桌面上的其他窗口。
请勿将此样式与 DS_CONTROL 样式组合使用。

要求

要求
最低受支持的客户端
Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器
Windows 2000 Server [仅限桌面应用]
标头
Winuser.h (包括 Windows.h)