对话框与通用控件
对话框及常用控件

2
对话框程序的创建
2.1 一个对话框程序 2.2 创建对话框资源模板 2.3 利用对话框类CDialog操纵对话框 2.4 初始化对话框 2.5 对话框的调用 2.6 对话框的消息处理
2.1
一个对话框程序
1.程序功能 该应用程序具有认证的功能:当该程序运行时,首先弹 出一个“密码验证” 对话框,让用户输入其用户名和密 码。用户需要输入用户名“good”和用户密码“ good ” 后才能进入主界面,若有一个输入错误,都不能进入。 2.程序类型
1.3 对话框的组成(续)
对话框类 从CDialog类派生的对话框类提供编程接口来 管理与对话框模板相关联的对话框。 CDialog 类的 许多成员函数与对话框编程密切相关,可供程序员 调用。由于对话框是一种窗口,因此相应的对话框 类必须与一个Windows窗口相联系,而对话框资源 模板就是用于创建这个 Windows窗口及其包含在其 中的控件。 对话框类可以看作对话框应用程序的一种程序 员接口,用户对应用程序操作,后台调用的都是该 类的成员函数来完成的。
可见在对话框的构造函数中主要是对对话框的数据成员变量 进行初始化。
2.4
初始化对话框(续)
2.在WM_CREATE的消息映射函数中初始化 由于对话框也是窗口,它在窗口创建时会收到 WM_CREATE 消息,该消息的响应函数是 OnCreate()。 这样,就能在窗口创建中做一些初始化工作。尽管用户 可能在 WM_CREATE 消息处理函数中进行一些数据成员 的初始化工作,但更通常的做法是在对话框中的所有控 件都建立起来之后,响应消息 WM_INITDIALOG 时,对 数据成员进行初始化。 3.在WM_INITDIALOG的消息映射函数中初始化 在对话框创建时,会收到 WM_INITDIALOG 消息,该 消息的响应函数是OnInitDialog()。在得到了
第8章通用对话框、菜单、多文档界面

两种方法: 1、菜单:工程—部件,在对话框中选“Microsoft Common
Dialog Control 6.0 ” 2、快捷:工具箱单击鼠标右键,在快捷菜单中选“部件”,在
对话框中选“Microsoft Common Dialog Control 6.0 ”
8.3.1 单文档界面
1.添加窗体 三种方法:
A.选择“工程”菜单的“添加窗体”子菜单 B.选择工具栏的添加窗体按钮 C.在工程资源管理窗口单击鼠标右键,在出现的快捷菜单 中选择“添加”菜单中的“添加窗体”菜单
8.1.2 通用对话框的使用
通用对话框控件没有事件,只有方法和属性。 通过方法或Action属性值显示标准对话框。 通用对话框控件中的每一个标准对话框都有自己的属性。
方法名称 ShowOpen ShowSave ShowColor ShowFont ShowPrinter ShowHelp
Action属性值 1 2 3 4 5 6
8.2.2 弹出菜单
例8-6 在例8-5的文本框中点击鼠标右键时,在鼠标当前位置弹出编辑
菜单项。 '显示编辑的弹出菜单 Private Sub Text1_MouseUp(Button As Integer, Shift As Integer,
X As Single, Y As Single) '在文本框对象上鼠标弹起事件
程序代码
.FontBold = Dlog.FontBold
.ForeColor = Dlog.Color
End With
End Sub
8.1.7 “打印”对话框
打印对话框通过ShowPrint方法或Action属性设为5打开。 打印对话框仅供用户对打印参数进行设置,要实现打印功能还需要通过对
VB消息框(MsgBox)和输入对话框(InputBox)

[教案](八)对话框授课方式:讲授法授课学时:2学时教学目的:通过本次课的学习,学生应该掌握能灵活使用消息框(MsgBox)和输入对话框(InputBox)和通用对话框,体现用户界面更具有交互性。
能灵活使用控件数组,并能编写出响应事件的代码。
教学重点和难点:1.消息框(MsgBox)和输入对话框(InputBox)的语法格式;2.各种属性的灵活使用。
教学过程:消息框(MsgBox)和输入对话框(InputBox)和通用对话框一、消息框(MsgBox)和输入对话框1.了解其在VB中的用途。
2.掌握基语法格式3.实际中的应用二、通用对话框1.用途介绍其在VB中的用途。
2.主要属性3.在实际中应用实例《Visual Basic程序设计语言》授课教案[讲稿](八)对话框一、消息框(MsgBox)和输入对话框我们已学习了两个函数的语法格式,下面通过例子来说明其在实际的用法。
1 InputBox示例:设计一个程序,将输入的时、分和秒的和转换成秒数。
要求从输入对话框输入时、分和秒数。
事件过程与代码:Private Sub Command1_Click()Dim h As Integer, m As Integer, s As IntegerDim x As Longh = Val(Text1.Text)m = Val(Text2.Text)s = Val(Text3.Text)x = h * 3600 + m * 60 + sLabel1.Caption = "共计" & Str(x) & "秒"End SubPrivate Sub Command2_Click()Text1.Text = ""Text2.Text = ""Text3.Text = ""End SubPrivate Sub Command3_Click()Text1.Text = InputBox("时间中的小时数", "请输入", 0)End SubPrivate Sub Command4_Click()Text2.Text = InputBox("时间中的分钟数", "请输入", 0)End SubPrivate Sub Command5_Click()Text3.Text = InputBox("时间中的秒数", "请输入", 0)End Sub2、MsgBox函数例题:•将文本框中的英文字母进行大小写切换。
vb通用对话框名词解释

vb通用对话框名词解释
VB通用对话框是一种用于Visual Basic编程语言的对话框控件。
它可以用于创建各种类型的对话框,包括消息框、输入框、文件对话框、颜色对话框等。
这些对话框可以帮助程序员与用户进行交互,从而增强程序的用户友好性和功能性。
消息框对话框用于向用户显示消息,如警告、错误、提示等。
输入框对话框用于接收用户输入的文本或值。
文件对话框用于让用户选择文件或保存文件。
颜色对话框用于让用户选择颜色。
VB通用对话框提供了简单易用的接口和方法,使程序员能够轻松地创建和管理各种类型的对话框。
通过使用这些对话框,程序员可以为他们的应用程序增加更多的交互性和功能性,从而提升用户体验。
总之,VB通用对话框是Visual Basic编程语言中非常重要的一个组件,它为程序员提供了丰富的对话框类型和功能,帮助他们更好地与用户进行交互,使应用程序更加强大和易用。
VC++ 课件 第05章 对话框和常用控件

5.2控件的创建和使用方法
5.2.1控件的创建方法 控件的创建方式有以下两种: 一种是在对话框模板中用编辑器指定控件,也就是说,将控件的父窗口指 定为对话框,这样做的好处是明显的,因为当应用程序启动该对话框时, Windows系统就会为对话框创建控件;而当对话框消失时,控件也随之清 除。 另一种方式是将控件看作是任一窗口的子窗口,并通过调用相应的Create 函数来创建。 [例Ex_SDIHello] 在上例Ex_SDIHello的基础上用子窗口方式创建控件。 (1)打开CMyDlg的头文件MyDlg.h,添加一个按钮类CButton指针变量: class CMyDlg : public CDialog { // Construction public: CMyDlg(CWnd* pParent = NULL); // standard constructor CButton *m_btnWnd; … }
5.1对话框的使用
在程序中使用对话框 (1)利用项目工作区的ClassView标签项,将Ex_SDIHello.cpp源文件打开; (2)在Ex_SDIHello.cpp源文件的前面加上包含类CMyDlg的头文件: #include "MyDlg.h" (3)在InitInstance函数体中的“return TRUE;”语句之前添加下列代码: CMyDlg dlg; dlg.DoModal(); DoModal是模态对话框最常用的函数,它负责对话框的显示和终止。 (4)编译并运行。在程序的一开始就出现用户自己设计的对话框,单击 [Button1]按钮将弹出“欢迎进入对话框的设计!”的消息对话框来。
5.1对话框的使用
5.1.2使用对话框编辑器
打开对话框编辑器
将项目工作区窗口切换到ResourceView页面,双击Dialog目录下任意一个对 话框ID。或者,选择“Insert”“Resource”菜单命令(或按快捷键Ctrl+R), 选择Dialog项,单击New。
Windows程序设计 第3章 对话框和常见控件

树形控件
树形控件(TreeCtrl)和下面要讲的列表控件(ListCtrl) 在系统中大量被使用,例如Windows资源管理器就是一 个典型的树形控件例子。 树形控件可以用于树形的结构,其中有一个根接点(Root) (Root) 然后下面有许多子结点,而每个子结点上有允许有一个 或多个或没有子结点。MFC中使用CTreeCtrl类来封装树 形控件的各种操作。通过调用 BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );
滚动条控件
滚动条(Scroll Bar)一般不会单独使用,因为SpinCtrl 可以取代滚动条的一部分作用,但是如果我们需要自己生 成派生窗口,滚动条还是会派上一些用场。创建一个滚动 条可以使用成员函数: : BOOL CEdit::Create( LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID = 0xffff );
MFC 提供类CDialog作为对话框服务的基类,类CDialog将对话框模板与使 用对话框时必需熟悉的几种类方法进行封装。对于对话框中发送消息的的 控件,我们可创建相应的消息处理程序。MFC编译器提供的框架工具使得 我们把对话框中的控件消息映像到派生类的类函数变得简单、快捷。对话 框数据映像函数使用专门的值初始化对话框中的控件,接着检索数据并使 之有效。大多数对话框需要类成员变量来跟踪用户的输入,这些数据在数 据映像中使用,它们在对话控件与类变量之间自动映像数据。 为创建对话框,首先建立CDialog对象,然后创建和显示对话框窗口我们 有两种选择:一种方法是调用函数CDialog::DoModal()来创建有模式对话 框窗口,另一种方法是调用函数CDialog::Create()来创建无模式对话框窗口, 在上述两种情况之下,对话框对象先初始化,然后创建对话框以及它的控 件。 类CDialog成员函数Create()使用两种重载原形,最常用的一种如下: Create(UINT nIDTemplate, CWnd * pParentWnd=NULL); 其中,参数nIDTemplate是一个对话框模板的标识符, 参数pParentWnd是对话框所属的父窗口。
VB--ch7通用对话框

CommonDialog1. ShowPrinter 同 Action = 5 CommonDialog1. ShowHelp 同 Action = 6
设计时设置控件属性
• 右击窗体上的CommonDialog控件图标, 可以打开“属性页”对话框,如下图所示:
有5个选项卡, 用于对不同类 型的对话框进 行属性设置
CommonDialog1.Action = 4
Text1.FontName =CommonDialog1.FontName Text1 1.FontBold=CommonDialog1.FontBold
End Sub
例7.5
“字体”对话框示例。
编程:在文本框上显示文字,利用“字体”对 话框来设置所显示文字的字体、字型、大小、 颜色等。 知识点: 设置字体一定需要添加语句: CommonDialog1.Flags=1+256 (屏幕字体加下划线、删除线、颜色组合框)
把对话框部件添加到工具箱步骤: “工程” “部件” 选中: Microsoft Common Dialog Control 6.0 对话框的类型由对话框控件的Action属性决定。 与Timer 控件一样,CommonDialog 控件
在程序运行时不可见。
通用对话框的重要属性 Action
Action属性只能在运行时设置: 只写
Text1.BackColor = CommonDialog1.Color
End Sub
例7.4 利用颜色对话框给shape着色
界面设计,如图所示。 在窗体上添加一个框架:在框架上画出6个单选 钮(控件数组)用来选择不同的形状; 形状控件、通用对话框控件、命令按钮各一个。 知识点:
这里采用了一组 控件数组来设计 单选钮,充分体 现使用控件数组 的优点
第三章对话框和常用控件69

3.1 对话框的使用 3.2 控件的创建和使用方法 3.3 常用控件 3.4 通用对话框和消息对话框 3.5 综合应用
3.1对话框的使用
在Visual C++ 6.0应用程序中,使用一个对话框通常有两种情形:一是直接创建一个 对话框应用程序,二是在一个应用程序中进行调用。为不失一般性,这里介绍第二种对话 框使用情况的一般过程,即依次如下:
3.1对话框的使用
项目 ID框 标题框 字体按钮 位置X/位置Y 菜单框
类名称框
图3.3 对话框属性窗口 表3.2 对话框的常规(General)属性
说明 修改或选择对话框的标识符名称 输入对话框的标题名称,中英文均可,如“我的对话框” 单击此按钮可选择字体的种类(如宋体)及尺寸(如9号) 对话框左上角在父窗口中的X、Y坐标,都为0时表示居中 默认值为无,当对话框需要菜单时输入或选择指定的菜单资 源 默认值为无,它提供C/C++语言编程时所需要的对话框类名, 对MFC类库的资源文件来说,该项不被激活。
● 自动出现“对话框资源编辑器”窗口,在这里可以通过“控件工具栏”和“布 局工具栏”向对话框添加和布局控件,并可设置对话框的属性。
需要说明的是,第一次使用Visual C++6.0的对话框编辑器时,“控件工具栏”和 “布局工具栏”可能是浮动,可以将其拖放到指定位置(参看图3.2),以便让开发环境 更易于操作。
3.1对话框的使用
图3.8 布局前的静态文本控件
图3.9 布局后的静态文本控件
3.1.4 创建对话框类 在对话框资源模板的空白区域(没有其他元素或控件)内双击鼠标或按Ctrl+W快 捷键,将弹出一个对话框,询问是否为对话框资源创建一个新类。
vb通用对话框名词解释__概述说明以及解释

vb通用对话框名词解释概述说明以及解释1. 引言1.1 概述在软件开发中,对话框是一种常见的用户界面元素,用于与用户进行交互和获取输入。
VB通用对话框是一种基于Visual Basic编程语言的对话框类型,具有广泛的应用领域和重要性。
本文将详细介绍VB通用对话框的概念、重要性、应用场景以及常见名词解释和功能解析。
此外,还将提供实际操作指南与技巧,并展望VB通用对话框未来可能的发展趋势。
1.2 vb通用对话框概念说明VB通用对话框是使用Visual Basic编程语言开发的一种标准化对话框。
它为开发人员提供了一套预定义的、可直接调用和使用的界面组件,以便更快速地构建用户友好的应用程序界面。
通过使用VB通用对话框,开发人员可以轻松地创建窗体、按钮、文本框等基本控件,并实现与用户的交互。
它提供了丰富的功能库和方法,使得开发过程更加高效和便捷。
1.3 目的本文旨在帮助读者全面了解VB通用对话框在软件开发中的重要性和作用。
通过介绍其应用场景以及常见名词解释和功能解析,读者可以更好地理解如何使用VB通用对话框构建用户友好的界面和实现与用户的交互。
此外,本文还提供了实际操作指南与技巧,帮助读者掌握基本的VB通用对话框的创建和使用方法。
最后,本文还展望了VB通用对话框未来可能的发展趋势,旨在激发读者对该领域的兴趣并为其未来的研究或应用提供参考。
2. VB通用对话框的重要性和应用场景2.1 为什么需要VB通用对话框:VB通用对话框是一个在软件开发中非常重要的工具,它可以提供给用户一个交互界面,通过该界面用户可以进行各种操作和输入。
VB通用对话框的存在使得软件开发更加高效和便捷,因此它成为了不可或缺的一部分。
2.2 VB通用对话框在软件开发中的作用:VB通用对话框可以帮助程序员创建各种功能丰富的用户界面。
它提供了一系列常见控件,如按钮、文本框、复选框等,以及与这些控件交互的方法和属性。
使用VB通用对话框,开发者可以快速创建一个简单易用、美观大方的用户界面,并将其与应用程序逻辑进行连接。
对话框及常用控件

统一的视觉风格
对话框的视觉风格应与应 用程序的整体风格保持一 致。
合适的色彩搭配
对话框的颜色搭配应符合 应用程序的主题和风格, 同时也要考虑色彩的对比 度和舒适度。
精美的图标和插图
对话框中可以适当地使用 图标和插图,以提高视觉 效果和用户体验。
一致性
对话框布局一致
不同对话框的布局和组件应保持一致,以提高用户对 应用程序的熟悉度和使用效率。
提示对话框
总结词
提供简短信息或警告的对话框
详细描述
提示对话框通常用于向用户显示应用程序的状态或提 供简短的通知。它包含一个标题、一条消息和一个关 闭按钮。根据需要,提示对话框还可以包含图标以强 调其重要性。
感谢观看
THANKS
按钮
总结词
用于触发特定功能的控件
详细描述
按钮是常见的交互控件,用户点击按钮后可以触发特定的功能或操作。根据功 能,按钮可分为确认、取消、提交等类型。
列表框
总结词
用于显示和选择列表项的控件
详细描述
列表框可以显示一系列的列表项,用户可以通过鼠标或键盘选择所需的列表项。根据选择方式,列表 框可分为单选列表框和多选列表框。
对话框的分类
模态对话框
模态对话框会阻塞用户对其他界面的 操作,直到对话框关闭。这类对话框 常用于需要用户做出决策或输入的情 况。
非模态对话框
非模态对话框不会阻塞用户对其他界 面的操作,用户可以在对话框打开的 同时进行其他操作。这类对话框常用 于显示信息或提供简单的选项。
对话框的使用场景
确认操作
01
复选框
总结词
用于表示选项是否被选中的控件
详细描述
复选框是一种开关控件,用户可以通过点击来选中或取消选中某个选项。多个复选框可 以组合在一起,表示多个选项的组合。Fra bibliotek单选按钮
WTL中的对话框和控件

・ 通用控 件 :Cl g LS CLsViwC MF 中为 ma e it it e tl( C r
C iCr) C r Ve t ( C 中 为 C r Cr 、 H aeCr Ls t 、 Te i t 1 e wCr MF I Te t ) C edrt e 1 l
图 1 : 创 建 基 于 对 话 榧 田 应 用
Hale Waihona Puke ( 具有复选框 的列表 视图 )C r Ve tE 和C r lm ( 、 Te i r x Te t e wC l ee 两个
类一起使 用 . Te lm封装 了H R E E 、 H p ri 可点击 Cr t ee T E I M) C y e n T L k( 的超链接 .在所有操作 系统 上均 可用 ) 。 需要 注 意 的是 大 多 数 的封 装类 都 是 窗 口接 口类 .就像 C no Wi w一样。它们封 装了H D d WN 并提供 了围绕 消息 的封装层 ( 例如 .C iB x :eC re(封 装了 L_ E C R E ) Ls o :G tuS l) t B G T U S L 。因而像
CE t CScol a CDrg s B di r I r B a Lit ox
、 、
对
c no wi w一样 . d 创建一个临时 的控件封 装对 象并将之 关联到现 存 的控件 上 , 其代价 是很低的。仍然像 C n o Wi w一样 ,当控件 d 封 装对象析 构 时控 件并不会被 销毁 .不过 C ma B to Bi p u t n、 t
C p B t n t ) C rge s a t 、 H te C r A i ae t 、 S j ut C r 、 Po rsB r r C oK y t 、C nm tC r n o 1 C l l t
通用对话框控件

通用对话框控件在VB中,对话框是一种特殊的窗口,它通过显示和获取信息与用户进行交流,一个对话框可以很简单,也可以很复杂,前面介绍的MsgBox和InputBox函数可以建立简单的对话框,即信息框和输入框。
但是要定义的对话框较复杂时,将会花较多的时间和精力设计和书写代码,为此,Visual Basic 6.0提供了通用对话框控件,用其可以定义比较复杂的对话框(通用对话框)。
要把通用对话框控件加到工具箱中,可按如下步骤操作:(1)(1)执行“工程”菜单中的“部件”命令,打开“部件”对话框。
(2)(2)选择“控件”选项卡,如图1所示,在控件列表框中选择“Microsoft Common Dialog Control 6.0”。
图1部件对话框(3)(3)单击“确定”按扭,通用对话框即被添加到工具箱中,如图2所示。
在设计状态下,CommonDialog控件以图标的形式显示在窗体上,其大小不能改变,在程序运行时,控件本身被隐藏。
CommonDialog图2通用对话框通用对话框的默认名称(Name属性)为CommonDialogX(X为1,2,3……)。
通用对话框控件为程序设计人员提供了几种不同类型的对话框,有文件对话框、打印对话框、字体对话框、颜色对话框等。
利用这些对话框,可以获取所需要的信息,例如打开文件、打印、存盘、选择颜色等。
这些对话框与Windows本身及商业程序具有相同的风格。
对话框的类型可以通过Action属性设置,也可以使用说明性的Show方法来代替Action属性值。
Action属性和Show方法如表1:表1 Action属性和Show方法Action属性Show方法说明1 ShowOpen 显示文件打开对话框2 ShowSave 显示另存为对话框3 ShowColor 显示颜色对话框4 ShowFont 显示字体对话框5 ShowPrinter 显示打印机对话框6 ShowHelp 显示帮助对话框通用对话框具有的主要共同属性为:(1)(1)CancelError属性:通用对话框里有一个“取消”按扭,用于向应用程序表示用户想取消当前操作。
对话框及控件

对 Student 程序,可在用户按添加菜单项/按钮时,弹出对话框,让用户输入学生的姓名 和成绩。具体操作如下: (1) 创建对话框资源 l 计 划 用 对 话框 编 辑 器 建 立 一 个 如 下 图 所 示 的 输 入 对话 框 资 源 : 在 项 目 工作 区 的 ResourceView 页中 Dialog 项上单击鼠标右键,在弹出菜单中选 Insert Dialog 项,VC 会 自动创建一个 ID 为 IDD_DIALOG1、标题为 Dialog、含 OK 与 Cancel 按钮的缺省对话 框,并打开对话框编辑器(包括对话框资源编辑窗口和控件工具栏窗口)
对话框的组成
资源和控件:
我们已经了解到,对话框实际上是一种窗口,那么它和我们已经见过的 CView 窗 口有什么不同呢?其中很重要的一个区别就在于, 对话框窗口几乎总是和 Windows 的资源
一起,这些资源标识了对话框中的元素,同时也指定了对话框的布局。由于我们可以用 资源编辑器来创建和编辑对话框资源,因此,我们可以以可视的方式迅速而有效地创建 对话框。对话框包含了一些被称为控件的元素,对话框控件包括编辑控件(即文本框)、 列表框、组合框、静态文本(即标签)、树状视图、进度指示器和滑块等等,这些对话框 的控件既可以通过 CWnd 的指针来引用(因为它们本身实际上就是窗口)。 控件通过向上级 对话框发送消息响应用户的动作,如输入了正文或按下了鼠标键等。对话框和控件有自 己相应的类,如对话框由 CDialog 类来管理,编辑框由 CEdit 类来管理。
对话框及控件
对话框(dialog box)是 GUI 的常用组件,也是其最复杂的组件,主要用于接收用户的各 种输入和选择,也可用于向用户显示信息。在对话框中可以包含文本框、编辑框、列表框、 组合框、按钮、单选钮、复选框等各种控件(control),供用户查看、输入和选择。 几乎所有的 Windows 应用程序都要借助于对话框窗口来和用户打交道,这种对话框可 以是简单的 OK 消息框, 也可以是较复杂的数据输入窗体。 对话框实际上是一个真正的窗口, 可以接受消息,而且还可以被移动和关闭,甚至可以在它的客户区中进行绘图操作。对话框 可分为“模式”和“无模式”两大类。 按工作方式不同,可将对话框分成两类: l 模式对话框(modal dialog box 模态对话框):在关闭模式对话框之前,程序不能进行其他 工作(如一般的“打开文件”对话框) l 无模式对话框(modeless dialog box 非模态对话框):模式对话框打开后,程序仍然能够 进行其他工作(如一般的“查找与替换”对话框)
10.3 通用对话框

颜色对话框
Private Sub CmdColor_Click() CommonDialog1.Action=3 '打开颜 打开颜 色对话框 Text1.ForeColor=CommonDialog1.Color End Sub
演示
•
“字体”对话框 运 行 时 , 使 用 通 用 对 话 框 控 件 的 Showsoft Common Dialog Contorl 6.0前打“√” 6.0前打 前打“
单击鼠标右键 单击部件 出现“通用对 出现“ 话框” 话框”控件 “部件”对话 部件” 框
通用对话框类型
通用对话框类型 打开(Open) 打开 另存为(Save As) 另存为 颜色(Color) 颜色 字体(Font) 字体 打印机(Printer) 打印机 帮助(Help) 帮助 Action 1 2 3 4 5 6 方法 ShowOpen ShowSave ShowColor ShowFont ShowPrinter ShowHelp
DialogTiltle FileName InitDir Filter
DefaultExt FilterIndex
文件对话框的属性
DialogTitle属性 ①DialogTitle属性 • 该属性用来设置通用对话框标题,在缺省情况下,打开对话 该属性用来设置通用对话框标题,在缺省情况下, 框的标题是“打开”,保存对话框的标题是“另存为”。 框的标题是“打开” 保存对话框的标题是“另存为” FileName属性 ②FileName属性 • 在程序中可用该属性值设置或返回要打开或保存的文件的文 件名(包含路径) 件名(包含路径)。 • 在文件对话框中显示一系列文件名,选择一个文件并单击 在文件对话框中显示一系列文件名, 打开” 保存”按钮, “打开”或“保存”按钮,所选择的文件即作为属性 FileName的值 的值, FileName的值,然后即可把该文件名作为要打开或保存的文 件。 (3)FileTitle(文件标题) (3)FileTitle(文件标题)属性 FileTitle(文件标题 • 在程序中可用该属性值设置或返回用户所选定的文件名(不包 在程序中可用该属性值设置或返回用户所选定的文件名( 含路径) 含路径)。
MFC 对话框和常用教程

第五章对话框和常用控件对话框是Windows应用程序中最重要的用户界面元素之一,是与用户交互的重要手段,在程序运行过程中,对话框可用于扑捉用户的输入信息或数据。
对话框是一个特殊类型的窗口,任何对窗口进行的操作(如:移动、最大化、最小化等)都可在对话框中实施,一般来说,在对话框中通过各种控件(如:按钮、编辑框、列表框、组合框等)来和用户进行交互。
控件是在系统内部定义的用于和用户交互的基本单元。
一、对话框的使用Visual C++提供的对话框编辑器能“可视”地进行设计、编辑,并可用ClassWizard为对话框从CDialog基类中派生一个类,MFC的CDialog类封装了用于对话框的显示、关闭等操作的许多功能函数,例如:DoModal函数用来显示模式对话框并返回用户操作的结果。
1、模式对话框(为186附加举例页)所谓模式对话框是指,当对话被弹出时,用户必须在对话框中进行相应的操作,在退出对话框之前,对话框所在的应用程序不能继续执行。
平常我们所见到的对话框大多是模式对话框。
例:模式对话框(通过菜单命令弹出)1)建一个单文档(SDI)应用程序2)创建对话框模板Insert→Resource→选中Dialog→单击New拖过一个静态文本,鼠标对准它,按右键点properties改标题为“新建模式对话框”。
3)鼠标右键对准对话框的任何位置单击,选择properties选项,设置ID为IDD_MYDIALOG 4)给对话框创建类双击新建对话框的任何位置,单击OK,写类名为“CMyDlg”,保证”CDialog”作为该类的基类。
5)创建菜单命令:a)打开资源编辑器的菜单项Menub)双击IDR_MAINFRAMEc)双击右边空白菜单,点开pop_up(让它是空白),在名字处写”弹出对话框(&A)”,ID 处写ID_PUPDIALOG6)将菜单命令连接到主框架程序中,完成ID_PUPDIALOG的消息映射:View→ClassWizard→保证Class name里是CMainFrame,在ObjectIDs里找到ID_PUPDIALOG点黑→Messages里(右边)点COMMAND建立主框架对象方法并加代码:void CMainFrame::OnPupdialog(){ CMyDlg MyDlg;MyDlg.DoModal(); //DoModal()是CDialog类成员函数,通过调用该//函数将显示对话框。
对话框及其应用

示例2:dxan:dialog{
label="确定图纸幅面"; :boxed_radio_row{label="幅面规格"; :radio_button{label="A0"; key="a0"; } :radio_button{label="A1"; key="a1"; } :radio_button{label="A2"; key="a2"; } :radio_button{label="A3"; key="a3"; } :radio_button{label="A4"; key="a4"; } :radio_button{label="A5"; key="a5"; value=5;} } ok_cancel; }
续前: :edit_box{label="半径R(mm)="; mnemonic="R"; key="R";value=25;} ok_cancel; }
示例4:
示例4的显示结果:
示例5:
示例5的显示结果:
第六讲 对话框的程序驱动
能够编写对话框文件,仅仅是迈出了对 话框设计的第一步,事实上,编写对话 框文件比较容易,而要控制对话框,使 之实现应有的功能,就要下更大的功夫。 要显示编写的对话框并有效控制它,需 要结合AutoLISP编程。AutoLISP提供了 处理对话框的各种管理函数,利用它们 可以实现DCL文件的各种控制。
(action_tile “accept” “(done_dialog)”) (action_tile “cancel” “(setq a –1) (done_dialog)”)
《Visual C++程序设计教程》第四章对话框设计和Windows常用控件

4.1 对话框应用程序介绍
1.对话框组成 对话框主要由以下两部分组成: (1) 对话框资源:定义了对话框的特性(如大小、位 置和风格等)以及对话框中每个控件的类型、位置等 属性。一般情况下,对话框资源在资源编辑器中静 态地定义,也可以用编程的方法在程序运行时动态 地创建。 (2) 对话框类:对话框类是与对话框资源相关联的, 基于CDialog类的派生类,它提供编程接口来管理对 话框。
1.通过资源编辑器添加控件 打开对话框资源编辑器弹出如图48所示的控 件工具栏之后,就可以方便地在对话框中添加 各种控件了。 (1)单击添加:在控件工具栏上单击要添加 的控件后,将鼠标移动到对话框模板上,此时 鼠标光标变成了“+”形状,在对话框上再次单 击鼠标,控件就添加到对话框模板上了。 (2)拖动添加:拖动要添加的控件到对话框 模板上,然后释放鼠标,也可以添加控件。
(2)单击“新建”按钮可以创建一个资源类型列表中指定类 型的新资源;单击“定制”按钮可以创建资源类型列表中 没有的新类型的资源;单击“导入”按钮可以将外部已有 的位图、图标等资源添加到当前应用程序中。 (3)修改对话框属性。在对话框模板的空白处右击,从弹出 的快捷菜单中选择“属性”命令,弹出如图4-3的“对话属 性”对话框。
4.列表框控件(CListBox) 列表框是一种输入控制,它可以使用户从所列的表 项中进行选择。用户可以在其中选择一个或多个项, 这与单选按钮和复选框的功能有些相近,但不同的 是,列表框中项的数目是灵活变化的,程序运行时 可往列表框中添加或删除某些项。并且,当列表框 中项的数目较多不能一次全部显示时,还可以通过 滚动条来拓展显示范围。
对话框有什么用途-

对话框有什么用途?篇一:Excel“选项”对话框使用问答在Excel中,执行“工具→选项”命令,打开“选项”对话框可进一步对Excel进行个性化设置。
但是,如果设置不当,有时会带来不必要的麻烦。
下面是笔者同一位Excel初学者的对话,我们整理出来,希望对大家有所帮助。
问:每次启动Excel时,窗口右侧都被一个工具条占去了一大部分(如图1),影响编辑表格,如何不让这个工具条自动启动呢?答:你所说的工具条,是自Excel2002以后,新增的一个“任务窗格”,在这个任务窗格的引导下,可以快速完成Excel的相关编辑工作。
但是,对于初学者来说,这个功能可能很少用到,我们可以将其关闭:打开“选项”对话框,切换到“视图”标签下,清除“显示”下面“启动任务窗格”选项前面复选框中的“∨”号(如图2),确定返回就行了。
注意:如果在编辑过程中,想使用这个任务窗格,只要执行一下“视图任务窗格”命令(或者按一下“Ctrl+F1”组合键)即可。
问:我想清除编辑区域中的网络线(象Word那样白色一片),如何操作呢?答:还是在“选项”对话框的“视图”标签中,清除“窗口选项”下面“网格线”选项前面复选框中的“∨”号(参见图2),确定返回就可以了。
注意:①这个设置仅对当前活动工作簿文档有效。
②在上述选项中还可以设置网格线的颜色呢!问:以前我双击某个单元格,即可进入编辑状态,修改其中的内容。
最近不知为什么,这个功能不能用了,每次都要到编辑栏中去修改,特别麻烦。
如何恢复呢?答:打开“选项”对话框,切换到“编辑”标签下,在“单元格内容直接编辑”选项前面复选框中添加上“∨”号(如图3),确定返回。
问:输入完一个单元格的内容后,按下“Enter”键,光标移到了下面一个单元格。
我想让光标移到右边一个单元格,该如何设置呢?答:还是在“编辑”标签中,选中“按Enter键后移动”选项,然后按“方向”右侧的下拉按钮,在随后出现的下拉列表中,选择“向右”选项,确定返回即可(参见前图3)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CScrollBar* pSB = (CScrollBar*) GetDlgItem(IDC_LOYAL); pSB->SetScrollRange(nMin, nMax); pSB = (CScrollBar*) GetDlgItem(IDC_RELY); pSB->SetScrollRange(nMin, nMax);
为对话框提供控件形式的滚动条
常用于为其它控件提供标签 显示连续的AVI视频剪辑 位于某一行文本之上的按钮, 可用来控制显示文件的宽度
热键
CHotKeyΒιβλιοθήκη trl用于通过按下某一组合键
来很快的执行某些常用的操作
图象列表 列表 进度
CImageList CListCtrl
一系列图象 显示文本及其图标列表的窗口
#include "exaView.h" #include "exaDialog.h"
6.编译和测试该应用程序。
深入理解EXA应用程序
当程序中调用了DoModal时,只有在用户关闭 了对话框后,控制才能返回到程序中。只有 理解了这点,才算理解了模式对话框。当我 们开始学习无模式对话框时,就会深切地体 会到模式对话框的程序设计是多么的简单, 不过当DoModal被调用时,实际上在“幕后” 将引起一系列的动作。我们将一些调用关系 总结如下:
void CExaView::OnLButtonDown(UINT nFlags, CPoint point) { CEx06aDialog dlg; //建立对象 dlg.m_strName = "Shakespeare, Will"; dlg.m_nSsn = 307806636; dlg.m_nCat = 1; // 0 = hourly, 1 = salary dlg.m_strBio = "This person is not a well-motivated tech writer"; dlg.m_bInsLife = TRUE; dlg.m_bInsDis = FALSE; dlg.m_bInsMed = TRUE; dlg.m_strDept = "Documentation"; dlg.m_strSkill = "Writer"; dlg.m_strLang = "English"; dlg.m_strEduc = "College"; dlg.m_nLoyal = dlg.m_nRely = 50;
创建对话框资源
控件说明
Name字段的静态文本控件 Name编辑控件 SS Nbr(社会安全号码)编辑控件 Bio(简历)编辑控件 Category分组框 Hourly和Salary单选按钮。 Insurance分组框
Life,Disability和Medical复选框 Skill组合框 Educ(教育程度)组合框 Dept(部门)列表框 Lang(语言)组合框 Loyalty和Reliability滚动条 OK,Cancel和Special按钮 Any图标
CProgressCtrl 用于在一较长操作中提示用户所完 成的进度
多格式文本编辑 CRichEditCtrl 提供可设置字符和段落格式的 文本编辑的窗口 滑块 旋转按钮 CSliderCtrl 包括一个有可选标记的滑块的窗口 提供一对可用于增减某个 值的箭头
CSpinButtonCtrl
状态条
CStatusBarCtrl
4.向文件exaView.cpp中的虚函数OnDraw 中加入代码。
void CEx06aView::OnDraw(CDC* pDC) { pDC->TextOut(0, 0, "Press the left mouse button here."); }
5.在exaView.cpp文件中加入对对话框类的 包含语句。
对工具条按钮或其它控件功能的简单描述 树 CTreeCtrl 用于显示一系列的项的继承结构
模式对话框的编程
向现存项目中添加模式对话框的步骤: 1.用对话框编辑器创建包含各种控件的对话框资 源。对话框编辑器会对项目的资源文件进行更 新,使之包含新的对话框资源,并且该项目的 resource.h文件也会被更新,以便能够包含新 的#define常量 2.利用Class Wizard来创建Cdialog的派生类,并 将它和第一步所创建的资源相连接。Class Wizard会自动在Developer Studio的项目中加 入相应的代码和头文件。 3.利用Class wizard 向对话框类中加入数据成员、 交换函数和确认函数。
4.利用Class Wizard对对话框中的按钮和其 他可以产生事件的控件加入相应的消息控 制函数。 5.对一些特殊的控件初始化函数(如 OnInitDialog)及消息控制函数进行编辑。 6.对视图类的代码进行编辑,以便对话框能 够被激活。
包罗万象的对话框
我们不准备在一些小的对话框上浪费时间, 而是将直接创建一个几乎包含了各种类 型的控件的庞大对话框。有了Developer Studio中的对话框编辑器的帮助,这一工 作就容易得多了!
int ret = dlg.DoModal(); //关键 TRACE("DoModal return = %d\n", ret); TRACE("name = %s, ssn = %d, cat = %d\n", dlg.m_strName, dlg.m_nSsn, dlg.m_nCat); TRACE("dept = %s, skill = %s, lang = %s, educ = %s\n", dlg.m_strDept, dlg.m_strSkill, dlg.m_strLang, dlg.m_strEduc); TRACE("life = %d, dis = %d, med = %d, bio = %s\n", dlg.m_bInsLife, dlg.m_bInsDis, dlg.m_bInsMed, dlg.m_strBio); TRACE("loyalty = %d, reliability = %d\n", dlg.m_nLoyal, dlg.m_nRely); }
Windows标准控件
控件 按钮 MFC类 Cbutton 描述 用来产生某种行为的按钮, 以及复选框、单选钮和组框
列表框
编辑框 组合框
CListBox
CEdit CComboBox
包括一系列字符串的列表
用于键入文本 编辑框和列表框的组合
滚动条
静态文本 动画 标题头
CScrollBar
Cstatic CAnimateCtrl CHeaderCtrl
4.为Special按钮加入消息控件函数。 ( ClassWizard Message Maps 标签,选择 IDC_SPECIAL,在选择Message中的 BN_CLICKED消息,添加处理函数OnSpecial void CEx06aDialog::OnSpecial() { TRACE("CEx06aDialog::OnSpecial\n"); }
用于显示状态信息的窗口,同
MFC类CStatusBar类似
选项卡
CTabCtrl
在选项卡对话框或属性页中
提供具有类似笔记本中使用的分隔标签的外观的选项卡
工具条 CToolBarCtrl 具有一系列命令生成按钮的 窗口,同MFC类CToolBar类似
工具提示
CToolTipCtrl
一个小的弹出式窗口,用于提供
对话框与通用控件
模式和无模式对话框 资源和控件 模式对话框的编程 包罗万象的对话框 Windows通用控件 示例程序 无模式对话框 CFormView类——另外一种 可供选择的无模式对话框 Windows通用对话框
模式和无模式对话框
Cdialog基类既支持模式对话框,也支持无模式对话框。 对于模式对话框,如Open File对话框,在该对话框被 关闭之前,用户将无法在同一个应用程序(更准确地 说,是在同一用户接口线程里)的其他地方进行工作; 而对于无模式对话框,在它仍然保留在屏幕上的同时, 用户还可以在应用程序的其他窗口中进行工作。 Microsoft Word 中的Find And Replace对话框就是无模 式对话框的一个很好的例子,在该对话框打开的同时, 我们仍然可以对文档进行编辑。
资源和控件
对话框包含了一些被称为控件的元素,对话框控件包括编辑控 件(既文本框)、按钮、列表框、组合框、静态文本(既标 签)、树状视图、进度指示器和滑块等等,而Windows正是通 过特殊的组及选项卡逻辑来管理这些控件的,这极大地减轻了 我们的编程负担。这些对话框控件既可以通过CWnd的指针来 引用(因为它们本身实际上就是窗口),也可以通过资源文件 中所制定的索引值(和#define常量相关联)来引用。控件通 过向上级对话框发送消息来响应用户的动作,如输入了正文或 按下了鼠标键等。
Cdialog::DoModal CEx06aDialog::OnInitDialog …其他初始化… Cdialog:: OnInitDialog CWnd::UpdateData(FLASE) CEx06aDialog::DoDataExchange 用户输入数据… 用户单击OK 按钮 CEx06aDialog::OnOK …其他的确认处理… Dialog::OnOK CWnd::UpdateData(TRUE) CEx06aDialog::DoDataExchange CEx06aDialog::EndDialog(IDOK)