1、概述n控件消息 在应用程序创建控件后,需要向控件发送消息来完成特定的任务,如通过发送WM_ SETTEXT消息来设置控件上的文字,在MFC中封装了该发送消息的过程,可以直接使用SetDlgItemText()或 SetDlgItemInt()设定控件上的文本。n通知消息 当控件的状态发生变化时(例如用户利用控件进行输入),控件就会向所属窗口发送通知消息。在MFC中有专门的宏将这些消息与相应的处理函数联系起来,使程序能够及时地对用户的输入进行处理。n控件的创建 n静态创建控件 n动态创建控件 1按钮(BUTTON)MFC从CWnd派生的CButton类封装了按钮的操作,按钮在工具箱中的图标为“”
2、,通常显示为一个突起的矩形窗口。每一个按钮都代表了一个单独的命令,单击按钮就会激发该命令所要执行的动作。n按钮样式 按钮像所有的窗口一样,也可以有各种窗口样式的组合。按钮也有自己特有的样式,教材表11-1列出了常用的按钮样式 n按钮控件的通知消息 教材表11-2列出了常用的按钮通知消息 n按钮的使用 n在资源编辑器中为对话框模板添加按钮控件n为新建的按钮设置ID n为按钮控件添加相关成员变量(实际为控件对象)n为按钮控件添加BN_CLICKED事件处理程序 2文本编辑框(EDITBOX)MFC从CWnd派生的CEdit类封装了编辑控件的功能,编辑控件也被称为编辑框,在工具箱中的图标为“”。编辑
3、框是一个矩形子窗口,允许用户输入或改变文本,它是对话框中用户进行输入的常用工具。n文本编辑框样式 文本编辑框像所有的窗口一样,也可以有各种窗口样式的组合。文本编辑框也有自己特有的样式,教材表11-3列出了常用的文本编辑框样式 n文本编辑框的通知消息 教材表11-4列出了常用的文本编辑框通知消息 n文本编辑框的使用 n在资源编辑器中为对话框模板添加文本编辑框控件n为新建的文本编辑框设置ID n为文本编辑框控件添加相关成员变量(实际为控件对象)3文本编辑框(EDITBOX)n选取更改编辑框的内容m_Edit1.SetSel(0,-1);/选中编辑框中所有文字m_Edit1.ReplaceSel(“
4、This is the first EditBox!”);/代替原编辑框内容 n复制、粘贴编辑框的内容 m_Edit1.SetSel(0,-1);m_Edit1.Copy();/将Edit1中的内容拷贝到剪贴板m_Edit2.SetSel(0,-1);m_Edit2.ReplaceSel();/用空字符串代替原有文本 m_Edit2.Paste();/将剪贴板上的内容粘贴到Edit2编辑框中4静态控件(STATIC)MFC从CWnd派生的CStatic类封装了静态控件的功能,静态控件在工具箱中的图标为“”。静态控件主要是用来向用户显示文本,用户通常不能改变这些文本或者与控件交互,静态控件是只读
5、控件。然而在需要的时候也可以通过程序改变静态控件所显示的文本。n静态控件样式教材表11-5列出了常用的静态控件样式 n静态控件的通知消息 静态控件一般不接受用户输入,为其指定唯一ID并设SS_NOTIFY样式,可以通知消息。教材表11-6列出了常用的静态控件通知消息 n静态控件的使用 n在资源编辑器中为对话框模板添加静态控件n为新建的静态控件设置ID n为静态控件添加相关成员变量(实际为控件对象)5静态控件(STATIC)n选取更改编辑框的内容m_Static=“This is the Static!”;UpdateData(FALSE);/更新控件内容 6复选框 (CHECKBUTTON)复
6、选框在MFC中对应的类也是CButton,它在工具箱中的图标为“”,复选框实质是一种具有BS_CHECKBOX风格的按钮。n复选框控件样式教材表11-7列出了常用的复选框控件样式 n复选框控件的通知消息 n单击(BN_CLICKED)n双击(BN_DOUBLECLICKED)n复选框控件的使用 n在资源编辑器中为对话框模板添加复选框控件n为新建的复选框控件设置ID n为复选框控件添加相关成员变量n取得用户输入 UpdateData(TRUE);7单选按扭 (RADIOBUTTON)单选按钮在MFC中对应的类也是CButton,它在工具箱中的图标为“”,复选框实质是一种具有BS_RADIOBUT
7、TON风格的按钮。n单选按钮控件样式BS_AUTORADIOBUTTON n单选按钮控件的通知消息 n单击(BN_CLICKED)n双击(BN_DOUBLECLICKED)n单选按钮控件的使用 n在资源编辑器中为对话框模板添加单选按钮控件n为新建的单选按钮控件设置ID n为单选按钮控件添加相关成员变量n取得用户输入 UpdateData(TRUE);8进程条 (PROGRESS)MFC从CWnd派生的CProgressCtrl类封装了进程条控件的功能,进程条控件在工具箱中的图标为“”。n进程条控件样式PBS_VERTICAL PBS_SMOOTH n进程条的成员函数 参见教材表11-8 进程条
8、成员函数说明表 n进程条控件的使用 n在资源编辑器中为对话框模板添加进程条控件n为新建的单选按钮控件设置ID n为单选按钮控件添加相关成员变量n在OnInitDialog()函数中设置进程条控件范围 n启动进程条 9滑动条 (SLIDER)MFC从CWnd派生的CSliderCtrl类封装了滑动条控件的功能,滑动条控件在工具箱中的图标为“”。n滑动条控件样式教材表11-11列出了常用的滑动条控件样式n滑动条控件通知消息 nWM_VSCROLLnWM_HSCROLL n滑动控件的成员函数 滑动控件的成员函数参见教材表11-12 滑动控件成员函数 n使用滑动条控件 n在资源编辑器中为对话框模板添加
9、滑动控件n为新建的滑动控件设置ID n为滑动控件添加相关成员变量n添加滑动控件消息处理函数,取得滑动值10Spin控件 MFC从CWnd派生的CSpinButtonCtrl类封装了微调控件的功能,微调控件在工具箱中的图标为“”。n微调控件样式教材表11-13列出了常用的微调控件样式n微调控件通知消息 nWM_HSCROLL nWM_VSCROLL nEN_UPDATE n微调控件的成员函数 微调控件的成员函数参见教材表11-15微调控件成员函数 n使用微调控件 n在资源编辑器中为对话框模板添加微调控件n为新建的微调控件设置ID n设定跳格顺序,使每个Spin控件找到自己的伙伴 n为微调控件添加
10、相关成员变量n在对话框的OnInitDialog()函数中设置微调范围n添加微调控件消息处理,取得滑动值11组合框 (ComboBox)MFC从CWnd派生的CComboBox类封装了组合框控件的功能,组合框控件在工具箱中的图标为“”。n组合框控件样式教材表11-16列出了常用的组合框控件样式n组合框控件通知消息 教材表11-17列出了常用的组合框控件通知消息 n使用组合框控件 n在资源编辑器中为对话框模板添加组合框控件n为新建的组合框控件设置ID n为组合框控件添加相关成员变量n在对话框的OnInitDialog()函数中设置组合框内容n添加组合框控件消息处理12习题1.举例说明控件的消息与
11、控件的通知消息有何异同?2.在取得某个控件的值之前,为什么必须调用UpdateData函数?此函数当参数不同时,各有何作用?3.简述进程条、滑动条分别适用于何种情况。分别编写使用进程条与滑动条的程序。4.结合使用文本编辑框与 Spin 控件编写一个显示系统当前时间的程序,用三个进程条分别表示当前的时、分、秒的数值。进程条的当前值随时间的变化而变化。5.尝试文本框控件的不同风格,如何将文本框控件中的内容写入文件,并且从文件读入用文本框控件显示出来。6.体会各种控件的用法,使用控件的各种不同的风格,编一个程序。7.利用按钮与文本编辑框编写一个计算器的程序,要求实现如下功能:1)基本界面如图所示:2)能够实现基本的加、减、乘、除、开平方功能。3)应既能够用鼠标操作又可以用键盘操作。8.完善例子11.6.2,配合使用组合框控件做一个学生基本情况登记系统。要求将输入的信息保存到文件,程序启动时能够显示上一次的输入内容。并且有添加、删除记录功能。13
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。