如何:创建对话框 (C++)

C++ 对话框的位置和大小,以及其中控件的位置和大小,均以对话框为单位进行测量。 选择单个控件和对话框时,它们的值显示在 Visual Studio 状态栏的右下角。

注意

如果你的项目尚未包含 .rc 文件,请参阅创建新的资源脚本文件

操作方式

对话框编辑器可用于:

创建新对话框

  1. 在“资源视图”中,右键单击 .rc 文件,然后选择“添加资源”

  2. 在“添加资源”对话框中,选择“资源类型”列表中的“对话框”,然后选择“新建”

    如果“对话框”资源类型旁边显示加号 (+),则表示对话框模板可用。 选择加号以展开模板列表,选择一个模板,然后选择“新建”

    新对话框将在对话框编辑器中打开。

你还可以在对话框编辑器中打开现有对话框进行编辑。

创建用户无法退出的对话框

可以创建用户无法退出的运行时对话框。 这种类型的对话框对于登录、应用程序或文档锁定非常有用。

  1. 在对话框的“属性”窗格中,将“系统菜单”属性设置为 false

    此设置会禁用对话框系统菜单和“关闭”按钮。

  2. 在对话框窗体中,删除“取消” 和“确定” 按钮。

    在运行时,用户无法退出具有这些特征的模式对话框。

为了对这种对话框进行测试,测试对话框函数会检测何时按下 Esc 键。 Esc 也称为 VK_ESCAPE 虚拟键。 无论如何设计运行时的对话框行为,都可以按 Esc 键结束测试模式。

注意

对于 MFC 应用程序,要创建一个用户无法退出的对话框,就必须重写 OnOKOnCancel 的默认行为,因为即使删除关联按钮,仍可通过按 Enter 或 Esc 键关闭对话框。

指定对话框的位置和大小

可以在属性窗口中设置一些属性来指定对话框在屏幕上的显示位置。

  • 布尔 Center 属性。

    如果将值设置为 True,对话框将始终显示在屏幕中央。 如果将此属性设置为 False,则可以设置 XPos 和 YPos 属性。

  • XPos 和 YPos 属性,用于显式定义对话框在屏幕上的显示位置。

    这些位置属性是距查看区域左上角的偏移值,定义为 {X=0, Y=0}

  • 影响位置的“绝对对齐”属性。

    如果为 True,则坐标相对于屏幕。 如果为 False,则坐标相对于对话框所有者的窗口。

测试对话框

当您设计对话框时,无需编译程序即可模拟并测试其运行时行为。 在此模式中,您可以:

  • 键入文本、从组合框列表中选择、打开或关闭选项,以及选择命令。

  • 测试 Tab 键顺序。

  • 测试控件的分组,如单选按钮和复选框。

  • 在对话框中测试控件的键盘快捷键。

注意

使用向导建立的对话框代码连接不包括在此模拟中。

当测试对话框时,它通常显示在与主程序窗口相对的位置。 如果已经将对话框的“绝对对齐”属性设置为 True,则对话框显示在相对于屏幕左上角的位置。

  1. 当对话框编辑器为活动窗口时,转到菜单“格式”>“测试对话框”

  2. 若要结束此模拟,请按 Esc 键,或选择正在测试的对话框中的“关闭”按钮。

要求

Win32

另请参阅

对话框编辑器
如何:管理对话框控件