第5章对话框和常用控件 51对话框的使用 52控件的创建和使用方法 作业1 53常用控件 54通用对话框和消息对话框 作业2
第5章对话框和常用控件 5.1 对话框的使用 5.2 控件的创建和使用方法 作业1 5.3 常用控件 5.4 通用对话框和消息对话框 作业2
51对话框的使用 5.11模式和无模式对话框 模式对话框 指当对话框被弹出,用户必须在对话框中作出相应的操作,在退出对话框之 前,对话框所在的应用程序不能继续执行。 无模式对话框 指当对话框被弹出后,一直保留在屏幕上,可继续在对话框所在的应用程序 中进行其它操作;需要使用对话框时,单击对话框所在的区域即可激活。 在创建和退出对话框窗口时的方式不同: 创建时,模式对话框由系统自动分配内存空间,对话框退出时,对话框对象 自动删除。无模式对话框需要来指定内存,退出时还需删除对话框对象。 退出时,两种对话框所使用的终止函数不一样。模式对话框通过调用 CDialog: EndDialog来终止,无模式对话框则是调用 CWnd: Destroy Window来终止。 函数 CDialog:OnoK和 CDialog: On Cancel是调用 EndDialog的,因此无模 式对话框必须用 DestroyWindow来重载OnOK和 On Cancel两个函数 需要正确删除表示对话框的对象。对模式对话框,在创建函数返回后即可删 除对象。无模式对话框不是同步的,在创建函数调用后立即返回,因而不知 道何时删除对象,但可以通过重载CWnd: PostNcDestroyl函数并执行清除操 作
5.1对话框的使用 5.1.1模式和无模式对话框 ➢ 模式对话框 ◆ 指当对话框被弹出,用户必须在对话框中作出相应的操作,在退出对话框之 前,对话框所在的应用程序不能继续执行。 ◆ 无模式对话框 ◆ 指当对话框被弹出后,一直保留在屏幕上,可继续在对话框所在的应用程序 中进行其它操作;需要使用对话框时,单击对话框所在的区域即可激活。 在创建和退出对话框窗口时的方式不同: ◆ 创建时,模式对话框由系统自动分配内存空间,对话框退出时,对话框对象 自动删除。无模式对话框需要来指定内存,退出时还需删除对话框对象。 ◆ 退出时,两种对话框所使用的终止函数不一样。模式对话框通过调用 CDialog:: EndDialog来终止,无模式对话框则是调用 CWnd::DestroyWindow来终止。 ◆ 函数CDiaolog::OnOK和CDiaolog::OnCancel是调用EndDialog的,因此无模 式对话框必须用DestroyWindow来重载OnOK 和OnCancel两个函数。 ◆ 需要正确删除表示对话框的对象。对模式对话框,在创建函数返回后即可删 除对象。无模式对话框不是同步的,在创建函数调用后立即返回,因而不知 道何时删除对象,但可以通过重载CWnd::PostNcDestroy函数并执行清除操 作
51对话框的使用 5.1.2使用对话框编辑器 >打开对话框编辑器 将项目工作区窗口切换到 Resourceview页面,双击 Dialog目录下任意一个对 话框ID。或者,选择“ Insert”→“ Resource菜单命令(或按快捷键Ctrl+R), 选择 Dialog项,单击NeW Is,BIALDGICisleel 网区 Stil. tait Yw Luert beset hld Layet Leels tinde yals 日,·巴曾 ASTUDENT 默认对话框 -a Dialog 模板 默认对话框 资源ID号 aString Table 控件工具栏 b日团画 布局工具栏 oNBuild (Debue A Find in files 1 X Find in Files 2R .Il 0187×9 图5.1打开的对话框编辑器
5.1对话框的使用 5.1.2使用对话框编辑器 ➢ 打开对话框编辑器 将项目工作区窗口切换到ResourceView页面,双击Dialog目录下任意一个对 话框ID。或者,选择“Insert”→“Resource”菜单命令(或按快捷键Ctrl+R), 选择Dialog项,单击New。 图5.1 打开的对话框编辑器 控件工具栏 布局工具栏 默认对话框 资源ID号 默认对话框 模板 基准线 标尺
51对话框的使用 在对话框中添加和编辑控件 (1)控件添加的方法 在对话框中添加一个控件的方法有下列几种 在控件工具栏中单击某控件,鼠标箭头在对话框内变成“十”字形状;在对话框指定 位置单击鼠标左键,再拖动选择框可改变控件的大小和位置。 在控件工具栏中单击某控件,鼠标箭头对话框内变成“十”字形状;在指定位置处单 击鼠标左键不放,拖动鼠标至满意位置,释放鼠标键 用鼠标左键点中控件工具栏中的某控件,并按住鼠标键不放;在移动鼠标到对话框的 指定位置的过程中,会看到一个虚线框,下面带有该控件的标记;释放鼠标键。 控件的选择 静态图片 静态文一 Aa abl 编辑框 组框 按钮 单选框 组合框 面国 表框 垂直滚动条 旋转按钰 进展条 滑动 热键 列表视图 树形视图 标签 □目 复合编辑 日期选择 月历 IP地址 用户定制工 组合框的扩 图52控件工具栏和各按钮含义
5.1对话框的使用 在对话框中添加和编辑控件 (1)控件添加的方法 在对话框中添加一个控件的方法有下列几种: ◆ 在控件工具栏中单击某控件,鼠标箭头在对话框内变成“十”字形状;在对话框指定 位置单击鼠标左键,再拖动选择框可改变控件的大小和位置。 ◆ 在控件工具栏中单击某控件,鼠标箭头对话框内变成“十”字形状;在指定位置处单 击鼠标左键不放,拖动鼠标至满意位置,释放鼠标键。 ◆ 用鼠标左键点中控件工具栏中的某控件,并按住鼠标键不放;在移动鼠标到对话框的 指定位置的过程中,会看到一个虚线框,下面带有该控件的标记;释放鼠标键。 控件的选择 静态文本 组框 复选框 组合框 水平滚动条 旋转按钮 滑动条 列表视图 标签 复合编辑 月历 用户 定制工 具 静态图片 编辑框 按钮 单选框 列表框 垂直滚动条 进展条 热键 树形视图 动画 日期选择 IP地址 组合框的扩 展 图5.2 控件工具栏和各按钮含义
51对话框的使用 (2)单个控件的选取 ≯鼠标选取 保证选扌钮()是被选中的,移动鼠标指针至指定的控件上,单击鼠标左键 >助记符选取 在相应的控件上右击。选择“ Properties菜单项,对话框中的“ Caption”框是用来 输入控件的标题,在标题中的某个字母之前键入“&符号,则该字母就是此控件的助记符。 Tab键选取 利用Tab键,可在对话框内的控件中进行选择。每按一次Tab键依次选取对话框中 的下一个控件,若按住 Shift键,再单击Tab键则选取上一个控件。 (3)多个控件的选取 ◆在对话框内按住鼠标左键不放,拖出一个大的虚框,释放鼠标,则被该虚框所包围的控件 都将被选取 ◆先按住Shit键不放,用鼠标选取控件,直到所需要的多个控件选取之后再释放 Shift键。若 在选取时,对已选取的控件再选取一下,则该控件取消选取。 旦单个控件被选取后,其四周由选择框包围着,选择框上还有几个(通常是八个)蓝色实 心小方块,拖动它可改变控件的大小,如图 ◆多个控件被选取后,其中只有一个控件的选择框有几个蓝色实心小方块,这个控件称为主 要控件,而其他控件的选择框的小方块是空心的。如图。 Check1 B Button 图53单个控件和多个控件的选择框
5.1对话框的使用 (2)单个控件的选取 ➢鼠标选取 保证选择按钮( )是被选中的,移动鼠标指针至指定的控件上,单击鼠标左键。 ➢助记符选取 在相应的控件上右击。选择“Properties”菜单项,对话框中的“Caption”框是用来 输入控件的标题,在标题中的某个字母之前键入“&”符号,则该字母就是此控件的助记符。 ➢Tab键选取 利用Tab键,可在对话框内的控件中进行选择。每按一次Tab键依次选取对话框中 的下一个控件,若按住Shift键,再单击Tab键则选取上一个控件。 (3)多个控件的选取 ◆在对话框内按住鼠标左键不放,拖出一个大的虚框,释放鼠标,则被该虚框所包围的控件 都将被选取。 ◆先按住Shift键不放,用鼠标选取控件,直到所需要的多个控件选取之后再释放Shift键。若 在选取时,对已选取的控件再选取一下,则该控件取消选取。 ◆一旦单个控件被选取后,其四周由选择框包围着,选择框上还有几个(通常是八个)蓝色实 心小方块,拖动它可改变控件的大小,如图。 ◆多个控件被选取后,其中只有一个控件的选择框有几个蓝色实心小方块,这个控件称为主 要控件,而其他控件的选择框的小方块是空心的。如图。 (b) 图5.3 单个控件和多个控件的选择框 (a)