课程设计MFC2013教程文件

上传人:yuzo****123 文档编号:138106827 上传时间:2020-07-13 格式:PPT 页数:122 大小:5.25MB
返回 下载 相关 举报
课程设计MFC2013教程文件_第1页
第1页 / 共122页
课程设计MFC2013教程文件_第2页
第2页 / 共122页
课程设计MFC2013教程文件_第3页
第3页 / 共122页
课程设计MFC2013教程文件_第4页
第4页 / 共122页
课程设计MFC2013教程文件_第5页
第5页 / 共122页
点击查看更多>>
资源描述

《课程设计MFC2013教程文件》由会员分享,可在线阅读,更多相关《课程设计MFC2013教程文件(122页珍藏版)》请在金锄头文库上搜索。

1、C+课程设计,内容及要求,主要内容,课程设计基本要求 Windows 编程基础 什么是C+的MFC 什么是MFC编程 MFC应用程序的开发流程 登录对话框与单文档视图联接 实例介绍,二、Windows 编程基础,Windows 编程 就是基于Windows 的应用程序。 2种重要的Windows应用程序 基于对话框的应用程序 基于文档/视图结构的应用程序 主要特点 具有标准的图形用户界面 具有与硬件无关的特性 采用“消息传递,事件驱动”的运行机制,即根据Windows发送的消息来处理用户的输入 编写Windows应用程序的主要方法(2种) 使用Windows提供的应用程序接口(API)函数 使

2、用Microsoft提供的微软基础类(MFC),三、什么是C+的MFC,MFC(Microsoft Foundation Class Library,基础类库) 是微软提供的用来编写Windows应用程序的C+类库; 封装了API(Windows的接口函数),是Win API与C+的结合。 MFC大约有200多个类,封装了Windows的大部分编程对象以及与它们有关的操作。即它由几百个执行文件和源代码文件组成。 注意C+和VC+的区别 C+是一种程序设计语言,是一种大家都承认的软件编制的通用规范,即C+是一套语法规则的名字,类似汉语,英语。 VC+是一个软件IDE(编译、编辑、调试 )集成开发

3、环境 MFC是一个非外挂式的软件包,类库, MFC类是微软为VC+专配的。,五、MFC应用程序的开发流程,应用程序编程的基本步骤: (1)根据应用程序的特性在MFC AppWizardexe应用程序中选择合适的应用程序框架。 (2)利用资源编辑器编辑资源,如菜单等。 (3)利用类向导(ClassWizard)或手工添加类、成员变量、成员函数声明。 (4)编写具体的成员函数代码。 (5)编译、链接程序 检查程序中是否存在语法错误。 (6)调试应用程序。,六、登录对话框与单文档视图联接,新建单文档工程:TEXT; 在ResourceView, 单击Insert Dialog,插入一对话框IDD_D

4、IALOG1(默认ID号); 建立一个新类Create a new class,名称为:CDlg_login ; 在FileView中点击source files,双击MainFrm.cpp。找到: CMainFrame:OnCreate(LPCREATESTRUCT lpCreateStruct), 这是窗体框架创建函数。在该函数的后面(在return 0 ;的前面)加入语句(注意大小写): CDlg_login dlg; /生成一个登录对话框对象 dlg.DoModal(); /让对话框对象以有模式形式显示出来 在MainFrm.cpp文件的前面添加: #include dlg_login

5、.h“ 此时对话框与单文档联接完成。 下载“格式工厂3.011”将自己的照片转换成BMP格式,并添加至对话框中。,六、登录对话框退出按钮代码,/确定按钮 void CDlg_login:OnOK() / TODO: Add extra validation here this-UpdateData(true); if(this-m_name1=wxl ,/取消按钮 void CDlg_login:OnCancel() / TODO: Add extra cleanup here ExitProcess(0); /退出 ,七、实例介绍,实例1静态控件的使用 实例2编辑框应用 实例3单选钮应用程序

6、 实例4简易时钟应用程序 实例5计算器应用程序 实例6调用自定义对话框 实例7数据库编程实例,返回目录,实例1静态控件的使用,创建步骤: 建立基于对话框的MFC应用程序框架; 设置对话 放置控件; 在菜单或工具栏的空白处,单击右键,弹出控件工具栏,再选择所需控件; 设置控件属性; 调试程序,步骤1:建立基于对话框应用程序框架,(1)创建工程:TEST1,步骤2、3:放置控件;调试程序,(1)删除现有控件 (2)设置对话框标题 利用“属性”设置 (3)添加组框 设置属性 (4)添加静态文本框 设置属性 (5)添加图片 单击“插入/资源”命令,通过菜单引入: (位图(BMP或DIB)、图标(Ico

7、n)、图元文件(wMF ) 图片控件属性对对话框中的类型、图像进行设置,返回实例,特殊效果对话框中设置静态文本框字体及颜色,操作步骤: 1. 添加对话框类声明中字体和颜色变量 class CDHK2013Dlg : public CDialog / Construction public: CFont m_myFont; / 字体对象 COLORREF m_myColor; / 颜色对象 . 2. 在对话框初始化函数OnInitDialog()中对字体和颜色进行初始化 m_myFont.CreatePointFont(150, _T(“华文彩云”); /150是字体大小 m_myColor =

8、 RGB(255, 0, 255);,续上:,3. 为对话框类添加WM_CTLCOLOR消息响应函数,并在其消息响应函数OnCtlColor()中添加代码 / 消息响应函数实现 HBRUSH CDHK2013Dlg:OnCtlColor( CDC* pDC, CWnd* pWnd, UINT nCtlColor ) HBRUSH hbr = CDialog:OnCtlColor(pDC, pWnd, nCtlColor); / TODO: Change any attributes of the DC here (在此更改 DC 的任何属性) if(pWnd-GetDlgCtrlID()=ID

9、C_STATIC_1) pDC-SelectObject( ,实例2编辑框应用,创建步骤: 建立基于对话框的MFC应用程序框架; 设置对话 放置控件; 设置控件属性; 为控件连接变量,即为控件命名; 添加并且编写消息处理函数; 调试程序。,步骤1,2:建立框架、添加控件,(1)创建工程:TEST2 (2)添加控件,并设置控件相关属性,步骤3:连接变量,(1)单击“建立类向导”命令,启动类向导; (2)选择“成员变量”选取项卡,连接变量; (3)结果如右图所示,BOOL CTEST2Dlg:OnInitDialog() CDialog:OnInitDialog(); / Add About. m

10、enu item to system menu. m_avg=0.0; UpdateData(FALSE); /省略,步骤4:进行消息映射,(1)初始化对话框(是程序运行时的开始状态的设定) 进入ClassWiZard(类向导),Message Maps,在Object IDs里选择要添加OnInitDialog()函数的对话框类,在Messages里选择WM_INITDIALOG,单击Add Function(增加函数),此时对话框类就新增了一个函数是OnInitDialog()。 (2)编辑初始化代码:,void CTEST2Dlg:OnJs() / TODO: Add your cont

11、rol notification handler code here UpdateData(TRUE); /更新控件值 double avg=double(m_sx+m_yw+m_yy)/3.0; m_avg.Format (%6.2f,avg); UpdateData(FALES); /控件值更新编辑框显示 ,步骤5:编写代码_对“计算平均分”按钮,(1)双击“计算平均分”按钮,为IDC_JS添加BN_CLICKED消息映射: (2)编写代码。,步骤6:编写代码_对“退出”按钮,(1)双击“退出”按钮,为IDC_OK添加BN_CLICKED消息映射: (2)编写代码。,void CTEST2

12、Dlg:OnOk() / TODO: Add your control notification handler code here OnOK(); ,步骤7:调试程序_运行,注意: 对话框中平均分显示部分是在设置属性时,选择了“扩展样式”选项卡中的“客户边缘”选项的效果。,返回实例,实例3单选钮应用程序,设计如右图所示的程序。 基本步骤: 创建工程TESTp246,并进行界面设计; 为编辑框连接到CString类型的添加成员变量m_xm,其余控件不需连接; 为控件编辑ID 4. 对单选钮编写初始化函数代码 5. 对对话框的“确定”按钮编写代码,步骤13:建立框架,连接变量,编辑ID,注意 对

13、组框1中2个单选按钮,在设置第一个按钮(男)的属性时,需选定“组”选项,表示此组默认第1个按钮; 同理对组框2中3个单选按钮,在设置第一个按钮(教授)的属性时,需选定“组”选项,表示此组默认第1个按钮; 组框本身的属性不要选中“组”选项。,步骤4:单选钮初始化函数代码,BOOL CTESTp246Dlg:OnInitDialog() CDialog:OnInitDialog(); CheckRadioButton(IDC_RADIO1,IDC_RADIO2,IDC_RADIO1); CheckRadioButton(IDC_RADIO3,IDC_RADIO5,IDC_RADIO3); / Ad

14、d About. menu item to system menu. ,表示为默认按钮,步骤5:对话框的“确定”按钮代码,void CTESTp246Dlg:OnButton1() / TODO: Add your control notification handler code here UpdateData(TRUE); CString s; s=s+m_xm; if(IsDlgButtonChecked(IDC_RADIO1) s=s+男; else s=s+女; if(IsDlgButtonChecked(IDC_RADIO3) s=s+教授; else if(IsDlgButton

15、Checked(IDC_RADIO4) s=s+副教授; else s=s+讲师; AfxMessageBox(s); ,返回实例,实例4简易时钟程序,基本步骤: 创建工程CLOCKYS(时钟演示) 添加新类CClockEx,实现时钟控件类。 添加消息响应及函数,来建立时钟控件的轮廓。 时钟设计时钟元素 创建时钟基类CClockElement 添加时针类、分针类、秒针类 编译执行。 步骤1:创建工程CLOCKYS,返回实例,步骤2:创建一个新类CClockEx,从CStatic(静态控件)类派生出类CClockEx 来实现时钟控件类,这样,就可以继承MFC静态控件的很多已经具备的功能和特点.,

16、步骤3:添加消息响应建立时钟控件的轮廓,时钟控件的轮廓 单击“查看建立类向导” 调出Class Wizard,在class name中选择刚建立的新类CClockEx,进行如下工作:,重载虚函数PreSubClassWindow 对时钟控件的基本初始化工作将在该函数中进行。 添加WM_PAINT消息响应 用于完成时钟的绘制工作。 添加WM_SIZE消息响应 以便设计的时钟控件能自动适应其大小的变化。 添加WM_TIMER的消息响应 定时刷新时钟控件让它走动。 此时,时钟控件的轮廓已建好。效果如图所示。,步骤4:时钟设计时钟元素,时钟绘制的具体实现。 时钟大致由:时钟背景、时针、分针、秒针4个部分构成。这4个部分可看作4个不同的对象,可以考虑建立类来分别实现。 。 CClockBackground (背景) CClockHourHand(时针) CClockMinHand(分针) CClockSecHand(秒针) 这4个类有它们的共同点:

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

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

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