(本科)第10章 MFC编程基础ppt课件.ppt
-
资源ID:15609262
资源大小:156.50KB
全文页数:28页
- 资源格式: PPT
下载积分:20金币
快捷下载

会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
(本科)第10章 MFC编程基础ppt课件.ppt
课程主讲人:第10章 MFC编程基础C+C+语言程序设计语言程序设计中国铁道出版社中国铁道出版社张思民等主编张思民等主编第10章 MFC编程基础本章内容本章内容n10.1 MFC类库简介n10.2 使用向导开发MFC应用程序n10.2.1 生成MFC应用程序框架n10.2.2 MFC应用程序结构n10.3 MFC图形用户界面程序设计n控件n10.3.2 编辑框、静态文本框及命令按钮的使用n10.3.3 几个常用控件的使用10.1 MFC 类 库 简 介MFC是Microsoft公司提供的基于Windows API的C+类库集,它定义了一个标准的应用程序框架,借助这个框架,用户可以轻松地开发出标准的Windows应用程序。 MFC 实现了标准的用户接口,它提供了管理窗口、菜单、对话框的代码,可实现基本的输入/输出和数据存储。同时,MFC提供了大量可重用代码,隐藏了程序设计中的许多复杂工作,这也是面向对象方法的典型体现。 MFC库中的常用类库中的常用类1、根类CObject 2、MFC应用结构类 3、窗口、对话框和控件类 4、菜单类 5、绘图和打印类 6、简单的数据类型类 7、数组、列表和映射类 8、文件和数据库类 9、Internet和网络类 10、OLE类11、调试和异常类 10.2 使用向导开发MFC应用程序MFC应用程序向导可以帮助程序员创建一个MFC应用程序框架,并且自动生成这个MFC应用程序框架所需要的全部文件。然后,程序员利用资源管理器和向导为应用程序添加实现特定功能的代码,以实现应用程序所要求的功能。 产生一个应用程序的步骤如下:产生一个应用程序的步骤如下: (1) 利用应用程序向导生成一个新项目,生成的文件包括源文件和资源文件。 (2) 可以通过集成编辑器编辑源文件或类向导编辑C+类来修改源文件。 (3) 在资源编辑器中修改资源文件。 (4) 源文件经过编译器编译,生成obj文件,资源文件经过编译后,生成res文件。 (5) 最后,链接器将结合obj文件、res文件和库文件,生成可执行文件的exe。10.2.1 生成MFC应用程序框架【例10-1】 使用MFC向导生成一个简单的MFC应用程序。1、使用向导建立MFC应用程序框架(1)新建项目(2)使用MFC应用程序向导(3)生成类(4)应用程序框架(5)编译运行窗口 2、在应用程序框架中添加代码、在应用程序框架中添加代码在“类视图”标签卡中,单击 CnetMFCView 类,在下面的列表框中双击成员函数 OnDraw(CDC *pDC),如图10.6所示。在函数体的指定位置添加下面的代码: 1 void CMFCtestView:OnDraw(CDC* pDC)2 3 CMytestDoc* pDoc = GetDocument();4 ASSERT_VALID(pDoc);5 /添加代码,表示在坐标(50,50)处显示字符串6 pDC-TextOut(50, 50, EXTE(这是向导自动生成的应用程序);7 注意:添加代码后,要将函数OnDraw( )中参数的注释符号“/* */”去掉。10.2.2 MFC应用程序结构1、MFC应用程序框架结构MFC应用程序框架构建应用程序时共构建了四个类:(1)应用程序类(2)文档类(3)视图类(4)主框架窗口类2、MFC应用程序执行过程MFC应用程序从应用程序类CWinApp的派生类 CMFCtestApp 开始执行,定义全局变量theApp,进行应用程序初始化InitInstance(),并调用系统自动生成的主窗体句柄m_pMainWnd来显示窗体。10.3 MFC图形用户界面程序设计控件10.3.2 编辑框、静态文本框及命令编辑框、静态文本框及命令 按钮的使用按钮的使用(1) 编辑框(Edit Box) (2) 静态文本框(Static Text)(3) 命令按钮(Button)【例【例10-2】设计一个密码验证窗体。】设计一个密码验证窗体。1、利用MFC向导建立对话框窗体框架(1)新建项目(2)建立对话框 (3)设置用户界面的主框架样式(4)对其后的向导提示窗体,均选择默认项,最后生成了一个基本的对话框应用程序框架 2、设计密码验证窗体界面、设计密码验证窗体界面(1)从控件工具栏中,选择 编辑框控件,画出一个大小合适的编辑框。该编辑框用于输入密码。 (2)右键单击编辑框,弹出快捷菜单,设置【属性】(3)从控件工具栏中,选择静态文本框控件,画出一个大小合适的静态文本框。 (4)右击静态文本框,在弹出的快捷菜单中选择【属性】项,在弹出的【属性】面板中设置静态文本框的ID属性值“IDC_STATIC”,其标题Caption设为“请输入密码:”。(5)从控件工具栏中,选择 按钮控件,在设计窗体中,画出一个大小合适的按钮。(6)再从控件工具栏中,选择编辑框控件,画出第二个编辑框。3、设置控件对应变量、设置控件对应变量(1)右击“输入密码”编辑框,在弹出的快捷菜单中选择【添加变量】项 ,设置如下:访问:public变量类型:CEdit控件ID: IDC_EDIT1类别: Control变量名:m_edit1(2)按同样的方法,设置显示验证密码结果的编辑框的变量,将其设置为:访问:public变量类型:CEdit控件ID: IDC_EDIT2类别: Control变量名:m_edit24、对按钮进行设置并设计触发的事件函数、对按钮进行设置并设计触发的事件函数编写函数OnBnClickedButton1( )的代码: void CPasswdDlg:OnBnClickedButton1( )CString str;m_edit1.GetWindowText(str);if(!str.Compare(TEXT(admin) m_edit2.SetWindowText(TEXT(“密码正确!”); elsem_edit2.SetWindowText(TEXT(密码错误,非法用户!);UpdateData(FALSE); 10.3.3 几个常用控件的使用【例10-3】设计一个简单计算器。1、界面布局与控件属性设置2、关于群组框和单选按钮的使用说明n 群组框(Group Box)群组框常用于封装一组单选按钮,或一组复选框。与静态文本框一样,群组框也不会发出或响应消息。n 单选按钮(Radio Button)是一组互斥的按钮,但总有一个处于选中状态。n 一组单选按钮中要指定第一个单选按钮为组长,要设置其Group属性,而同组的其它单选按钮不能再设置Group属性。仅设置单选按钮组长的对应变量m_oper,同组其余单选按钮不再设置对应变量。一组单选按钮的序号从0开始计数,第1个单选按钮的变量值为0,第2个单选按钮的变量值为1,依此类推。【例【例10-4】编写一个简易记事本程序。如图】编写一个简易记事本程序。如图10.24所示。所示。1、利用、利用 MFC 向导建立对话框项目向导建立对话框项目“D:EXAMPLENote”。2、设计程序界面布局。、设计程序界面布局。 3、设计按钮函数并添加代码。、设计按钮函数并添加代码。 void CNote1Dlg:OnSave() UpdateData(true); /将编辑框控件的内容映射到变量中 m_path = D:note.txt; /设置保存留言板内容的文件 CFile file; /定义文件类的对象,以便于调用函数 if(!file.Open(m_path,CFile:modeWrite|CFile:modeCreate) MessageBox(Openning file error); /打开文件错误,显示出错信息 return; int len=m_edit.GetLength(); /获得留言长度 char *buffer=new charlen+1; /动态分配内存空间 【保存】 按钮响应单击事件的函数OnBnClickedButtonSave() 代码 :if(!buffer) /动态申请内存失败动态申请内存失败 MessageBox(Allocating fail); /显示出错信息显示出错信息 else strcpy(buffer,m_edit); /将留言拷贝到缓冲区将留言拷贝到缓冲区 bufferlen=0; /缓冲区以空白结束缓冲区以空白结束 file.Write( buffer, len ); /写留言到文件中写留言到文件中 delete buffer; /释放动态申请的内存释放动态申请的内存 file.Close(); /关闭文件关闭文件 UpdateData(false); /更新对话框内容更新对话框内容 本章小结