MFC常用控件只是课件

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

DoModal 显示有模式对话框
EndDialog 关闭有模式对话框
GotoDlgCtrl 把焦点移到对话框中指定的控件
InitModalIndirect 从内存中的对话框建立有模式对话框;存储
参数,直到调用DoMoal函数
NextDlgCtrl 把焦点移到下一个控件
OnCancel 按下Cancel按钮或ESC键
OnInitDialog 优先完成对话框的初始化
ቤተ መጻሕፍቲ ባይዱ
OnOK
按下OK按钮
OnSetFont 在显示文本时,指定对话框使用的字体
PrevDlgCtrl 把焦点移到以前的对话框
SetHelpID 设置上下文相关的帮助ID
模式和非模式对话框共享相同的基类CDialog,并且它们都可 以使用对话框编辑器来创建对话框资源。
列表框的基本操作
1、通用方法
➢ 通用方法用来获得和设置列表框数据的值和属性, ➢ 所有的CListBox列表框,包括单选列表框、多选列表框
MFC常用控件
对话框的分类
对话框有两种类型:模式对话框和无模式对话框。 1. 模式对话框 所谓“模式对话框”是指对话框被弹出后,用户必须
在对话框中作出相应的操作;在退出对话框之前,会 阻止其他应用程序的运行(包括它所在的应用程序)。 2. 无模式对话框 所谓“无模式对话框”是指当对话框被弹出后,将一 直保留在屏幕上,但不影响其他应用程序的运行,用 户可以继续在对话框所在的应用程序中进行其他操作; 当需要使用对话框时,只需像激活一般窗口一样单击 对话框所在的区域即可。例如在Microsoft Word中的 “查找”和“替换”对话框。
建立对话框类:
对话框资源建立后还不能直接使用,通常需要为对 话框建立一个新类,然后创建对话框类的对象,才 能使用这个资源。
CDialog类提供的函数成员
函数成员名 功 能
Cdialog
构造Cdialog对象
Create
初始化CDialog对象
CreateIndirect
从内存中的对话框模板建立无模式对话框
nIDCheckButton); ➢ int GetCheckedRadioButton(int nIDFirstButton,int nIDLastButton);
列表框(ListBox)
➢ 列表框常用于从众多数据中选某一项,如在对话框里, 用列表框选择文件名、目录等。
➢ 按性质来说,列表框有单选、多选、扩展多选和非选四 种类型。
➢ 命令按钮(button):命令按钮适用于消息的发送,通常用于执行某个命 令。
➢ 复选框(Checkboxes)按钮 :常用于只有两种完全相反状态的情况下 ➢ 单选按钮(Radio button) :适用于同一组属性相同的数据中选一个数据。
按钮的消息:
➢ 通常使用的有BN_CLICKED(单击)和BN_DOUBLECLICKED(双击)
UpdateData(FALSE)将数据传送到对话框中,缺省的调 用发生在对话框的OnInitDialog( )创建一个有模式对 话框时。
用户可以在任何时候调用UpdateData( )进行数据交换, 该函数参数缺省值为TRUE。
示例:
显示Edit控件内容的两种方式
静态控件
静态控件是用于显示一个字符串、框、图标、位图或 增强的图元文件。
按钮选中操作
设置和获取指定按的选中状态: ➢ void SetCheck(int nCheck); ➢ int GetCheck() const; ➢ 其中nCheck和GetCheck()的返回值可以是:0(不选中)、1(选
中)、2(不确定);
设置或获取多个单选按钮的选中状态: ➢ void CheckRadioButton(int nIDFirstButton,int nIDLastButton,int
在创建时,模式对话框是由系统自动分配内存空间,因 此在退出对话框时,对话框对象会自动删除。而无模式 对话框则是需要用户来指定内存,退出时还需用户自己 来删除对话框对象。
在退出时,两种对话框所使用的终止函数不一样。模式 对话框通过调用CDialog::EndDialog()来终止,而无 模式对话框则是通过调用CWnd::DestroyWindow() 来 终止。
我们可以通过调用成员函数DoModal( )来显示一个有模式的对话框, 当函数返回时,对话框将不再存在。而无模式对话框在它本身处于 激活状态时,还允许用户使用其他的应用程序。
创建无模式对话框要比创建模式对话框复杂一些:首先要调用默认 构造函数构造一个对话框窗口对象;然后通过调用CDialog的成员 函数Create来创建对话框窗口,而不是调用成员函数DoModal。并 且当对话框仍然留在屏幕上时,控制已经立刻返回了。
CNDialog *m_pDlg; m_pDlg=new CNDialog( ); m_pDlg->Create(); …… delete m_pDlg;
数据交换
MFC类库使用数据交换(DDX)机制在对话框的控件和 对话框类的数据成员之间交换数据
UpdateData(TRUE)将数据从对话框的控制传递到对话 框对象的数据成员,缺省的调用在对话框的OnOk( )函 数中;
在对话框的控件工具栏中,属于静态控件的有:静态 文本、组框和静态图片。
静态文本控件(Static Text Control); 静态图片(Picture Control);属性有:Center,image,Real
size,Type,Image和Color
按钮
常见的按钮有如下几种类型:命令按钮、单选按钮和复选 按钮。
在VC++6.0中,新插入一个对话框,会在对话框中预设 了两个缺省按钮:OK和Cancel。
OK按钮接受用户对对话框的动作
Cancel按钮取消用户的动作。
运行时如果用户单击OK按钮,对话框关闭并返回IDOK 值;
运行时如果用户单击Cancel按钮,对话框关闭并返回 IDCANCEL值。
两种对话框在用资源编辑器设计和使用Class Wizard 进行编程时的方法基本一致。但在创建和退出窗口时的 方式有所不同。
相关文档
最新文档