Visual C++程序设计基础 教学课件 ppt 作者 刘加海 主编 应潇潇 黄崇本 余建军 副主编 第7章

上传人:E**** 文档编号:89186346 上传时间:2019-05-20 格式:PPT 页数:80 大小:2.83MB
返回 下载 相关 举报
Visual C++程序设计基础 教学课件 ppt 作者 刘加海 主编 应潇潇 黄崇本 余建军 副主编 第7章_第1页
第1页 / 共80页
Visual C++程序设计基础 教学课件 ppt 作者 刘加海 主编 应潇潇 黄崇本 余建军 副主编 第7章_第2页
第2页 / 共80页
Visual C++程序设计基础 教学课件 ppt 作者 刘加海 主编 应潇潇 黄崇本 余建军 副主编 第7章_第3页
第3页 / 共80页
Visual C++程序设计基础 教学课件 ppt 作者 刘加海 主编 应潇潇 黄崇本 余建军 副主编 第7章_第4页
第4页 / 共80页
Visual C++程序设计基础 教学课件 ppt 作者 刘加海 主编 应潇潇 黄崇本 余建军 副主编 第7章_第5页
第5页 / 共80页
点击查看更多>>
资源描述

《Visual C++程序设计基础 教学课件 ppt 作者 刘加海 主编 应潇潇 黄崇本 余建军 副主编 第7章》由会员分享,可在线阅读,更多相关《Visual C++程序设计基础 教学课件 ppt 作者 刘加海 主编 应潇潇 黄崇本 余建军 副主编 第7章(80页珍藏版)》请在金锄头文库上搜索。

1、第7章 常用控件,7.1 常用控件,Windows常用控件有:静态控件(CStatic)、按钮(CButton)、编辑框(CEdit)、列表框(CListBox)、组合框(CComboBox)、滚动条(CScrollBar)、旋转按钮(CSpinButtonCtrl)及滑动条(CSliderCtrl)等,7.2 静态控件和按钮,1静态控件(CStatic) 是用来显示一个字符串、框、矩形、图标、位图或增强的图元文件 。在对话框编辑器的控件工具栏中,属于静态控件的有:静态文本、组框和静态图片三种。其中静态图片控件的属性对话框,如下图所示。,静态图片属性和风格的各个项的含义如下表所示,2按钮 在W

2、indows中所用的按钮是用来实现一种开与关的输入,常见的按钮有三种类型:按键按钮、单选按钮、复选框按钮,如下图所示。,7.2.1单选、复选框按钮举例 如下图所示,字体选择为复选框,可以同时选定为隶书与大字体,而颜色变化只能选择一种。,(1)利用AppWizard建立MFC(exe)基于对话框的应用程序框架,工程名为:“单复选框”,删除默认的控件,添加表中的控件。如下所示。,(2)打开ClassWizard对话框的Member Variables选项卡,添加以下成员变量。,(3) 在ClassWizard的Message Maps选项卡中的Class name中选取CMyDlg类,分别选取表中

3、的Object Ids及Messages消息,并编辑消息处理函数。,(4)添加代码 在CMyDlg类中定义一个COLORREF类型的变量color,用于记录颜色变化和一个void Draw()函数。 在构造函数CMyDlg中初始化变量color。, 在”单复选框.cpp”文件中分别为单选框、复选框添加代码。 如左所示, 编写CMyDlg类的成员函数。, 检验结果。,7.3 编辑框,编辑控件(Edit)是一个让用户从键盘输入和编辑文本的矩形窗口,用户可通过它,很方便地输入各种文本、数字或者口令,也可使用它来编辑和修改简单的文本文件内容。 1编辑控件的属性和风格:如下图所示。,编辑控件的属性对话框

4、中各项的含义 如下表所示。,2编辑框的基本操作 (1)文本、数字的设置和读取。用户需要使用DDV和DDX技术 。方法是使用ClassWizard的Member Variables,在Contro1 IDs列表中,双击所要关联的控件ID,即可弹出Add Member Variable对话框。在Control IDs列表中出现刚才添加的内容,而在对话框的下方则要求用户输入变量的范围,如下图所示。,例如,若为编辑控件添加成员变量m_Edit,类型为CString,字串长度为20,则在DoDataExchange虚函数体中存在下列代码:,(2)口令设置。缺省的口令字符是“*”,应用程序可以用成员函数C

5、editSetPasswordChar来定义自己的口令字符,其函数原型如下: void SetPasswordChar(TCHAR ch); 参数ch表示设定的口令字符。 (3)选择文本 。通过调用成员函数CeditSetSel来实现。这个函数确定了编辑框内文本的选择范围,与该函数相对应的还有CeditGetSel和CeditReplaceSel,它们分别用来获取编辑控件中前一选择的开始和结束的位置以及替换被选择的文本。 (4)设置编辑框的页面边距。通过调用成员函数CeditSetMargins来实现,这个函数的原型如下: void SetMargins(UINT nleft,UINT nRi

6、ght); 参数nLeft和nRight分别用来指定左、右边距的像素宽度。,3编辑控件的通知消息 当编辑控件的文本修改或者被滚动时,会向其父窗口发送一些消息,如下表所示。,4应用举例 本例将用到静态文本、组框、编辑框以及按钮等控件,运行结果如下图所示。当用户在“语文”、“数学”编辑框中输入成绩后,单击“计算”按钮,将显示出这两个成绩的平均成绩。,具体步骤如下: (1)用MFC AppWizard(.exe)创建一个名为Ex1的基于对话框的应用程序。 (2)向应用程序中添加一个对话框资源,打开属性对话框将其字体设置为“宋体9号”(以后对话框的字体均作此设置),标题定为“使用编辑框”,ID号设为I

7、DD_Ex1。 (3)用编辑器为对话框添加如下图所示的一些控件,ID号如下表所示。,(4)打开Class Wizard的Member Variables标签,在Class name中选择CEx1Dlg,选中所需的控件ID号,双击鼠标或单击Add Variables按钮,为相应控件增加成员变量。 (5)打开Class Wizard的Message Maps标签,为CEx1Dlg增加WM_INITDIALOG的消息映射,并添加下列代码:,(6)用ClassWziard为按钮IDC_JS,添加BN_CLICKED的消息映射,并增加下列代码:,(7)用ClassWziard为按钮IDC_TC,添加BN

8、_CLICKED的消息映射,并增加下列代码:,(8)编译并运行程序。,编辑框对象常用的方法如下表。,7.3.1编辑框应用举例 如下图所示的对话框,点击按扭”显示1” 、”显示2”,编辑框1、编辑框2中分别能显示一字符串,编辑框1、编辑框2并能接受输入;点击按扭”清除1” 、”清除2”,能分别清除编辑框1、编辑框2中的内容;点击按扭”复制”,能把编辑框1的内容复制到编辑框2中;点击”撒消”按扭,能撒消编辑框1、编辑框2中上次所编辑的内容;点击”确定”按扭,程序结束。,操作过程: (1)利用AppWizard建立MFC(exe)基于对话框的应用程序框架,工程名为:编辑框应用举例。其它默认。 (2)

9、对话框建立后删除默认的控件。如图给对话框添加控件,控件的对象、ID、标题、连接的变量及类型如下表所示。,(3)修改编辑框IDC_EDIT1、IDC_EDIT2的特性,如下图所示。,(4)编辑消息处理函数。,7.4 列表框,列表框是一个列有许多项目让用户选择的控件。 1列表框的风格 按性质来分,列表框有单选、多选、扩展多选以及非选四种类型。列表框还有一系列其他风格,这些风格如下图所示的列表框属性对话框中设置。,列表框控件的各项Style属性如下表所示:,2列表框的基本操作 (1)添加列表项。CListBox类成员函数AddString和InsertString分别用来向列表框增加列表项,其函数原

10、型如下: int AddString(LPCTSTR lpszItem); int InsertString(int nIndex,LPCTSTR lpszItem); CListBox的SetItemData和SetItemDataPtr能有效解决根据列表项使用其他数据。其函数原型如下: int SetItemData(int nIndex,DWORD dwItemData); int SetItemDataPtr(int nIndex,vold *pData); (2)删除列表项。CListBox类成员函数DeleteString和ResetContent分别用来删除指定的列表项和清除列表

11、框所有项目。它们的函数原型如下: int DeleteString(UINT nIndex); /nIndex指定要删除的列表项的索引 void ResetContent( );,(3)查找列表项。CListBox类成员函数Findstring和FindStringExact分别用来在列表框中查找所匹配的列表项,其中FindStringExact的查找精度最高。 int FindString(int nStartAfter LPCTSTR lpszItem)const; int FindStringExact(int nIndexStart,LPCTSTR lpszFind)const; (4

12、)列表框的单项选择。当选中列表框中某个列表项,用户可以使用ClistBoxGetCurSel来获取这个结果,与该函数相对应的ClistBoxSetCurSel函数是用来设定某个列表项呈选中状态(高亮显示)。 int GetCurSel( )const; /返回当前选择项的索引 int SetCurSel(int nSelect ); 若要获取某个列表项的字符串,可使用下列函数: int GetText(int nIndex,LPTSTR lpszBuffer)const; void GetText(int nIndex,CString rString)const;,3列表框的通知消息 常用的通

13、知消息如下表所示。,7.4.1 列表框例子应用举例 本例将一个SCORE结构(含有两门成绩的数据成员)数据和列表框中每一个学生姓名列表关联起来。当用户单击“添加记录”按钮时,学生成绩记录中的“姓名”被添加在列表框中,且该学生的成绩与该列表项关联。当用户单击“删除记录”按钮时,列表框中当前选择项被删除,相关联的数据所占的内存空间被释放。任何时候选中列表框中某个学生,相应的记录数据都被显示出来,如下图所示。,列表框举例的控件设置如下表所示:,步骤 (1) 用MFC AppWizard(.exe)创建一个基于对话框名为ListBox的应用程序。在MFC AppWizard-Step 4 of 4中选

14、择类:CListBoxDlg。 (2)在ResourceView中展开Dialog,双击对话框IDD_LISTBOX_DIALOG,删除已有的控件,标题定为“使用列表 (3) 用编辑器为对话框添加如下图所示的一些控件,ID号如图上表所示。,(4)打开Class Wizard的Member Variables标签,在Class name中选择CListBoxDlg,选中所需的控件ID号,双击鼠标或单击Add Variables按钮,为相应控件增加成员变量。 (5)打开Class Wizard的Message Maps标签,为相应对象增加相应的消息映射,并添加下列代码:,在MFC ClassWiz

15、ard中的Object Ids:中选中IDC_LIST,在Messages中选中消息LBN_SELCANCEL,并完成消息处理函数。,(6)打开ListBoxDig.h头文件,在public处添加下列代码:,(7)编译并运行程序。,7.5 组合框,组合框把常用的项列在列表框中以供选择,而同时提供编辑控件,允许用户输入列表框中所没有的新项。 1组合框的风格及类型 按照组合框的主要风格特征,可把组合框分为三类:简单组合框、下拉式组合框、下拉式列表框。组合框还有其他一些风格,在如下图所示的组合框的属性对话框中设置,,其各项含义如下表所示。,2组合框常见的操作 大致分为两类,一类是对组合框中的列表框进

16、行操作,另一类是对组合框中的编辑控件进行操作。这些操作都可以调用CComboBox成员函数来实现,主要函数如下表所示。,3组合框的通知消息 有的是操作列表框发出的,有的是操作编辑框发出的,组合框控件的通知消息如下表所示。,7.5.1组合框应用举例 本例根据用户从组合框中选择的填充样式,在对话框中绘制一个矩形区域,如下图所示。,步骤: (1)用MFC AppWizard(.exe)创建一个名为ComBox的基于对话框的应用程序。在MFC AppWizard-Step 4 of 4中选择类:CComBoxDlg。 (2)在ResourceView中展开Dialog,双击对话框IDD_COMBOX_DIALOG,删除已有的控件,标题定为“使用列表框”。 (3)用编辑器为对话框添加如题目所示的一些控件。组合框举例的控件设置如下表所示。,(4)打开Class Wizard的Member Variables标签,为组合框IDC_PATTERN增加下列成员变量:CcomboBox m_Pattern

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号