您好,欢迎访问三七文档
《VisualC++》实验指导书软件学院软技教研室2008-81目录实验一VisualC++编程基础实验......................................................2实验二MFC程序的界面设计与资源管理实验...............................7实验三MFC的消息和命令实验.....................................................12实验四设备环境与屏幕绘图实验..................................................18实验五对话框实验..........................................................................22实验六通用控件实验......................................................................25实验七文档与视图结构实验..........................................................40实验八数据库编程实验..................................................................442实验一VisualC++编程基础实验一、实验目的和要求1、熟悉VisualC++编程环境。2、利用应用程序向导生成应用程序框架。3、了解MFC可以生成的应用程序类型。二、实验内容利用应用程序向导建立基于单文档/视图结构的应用程序,查看框架程序中各类的结构。三、实验步骤在VisualC++6.0开发环境中,选择“文件”菜单下的“新建”菜单项,弹出对话框,选择要创建的文件类型,共分为文件、工程、工作区和其它文档四种类型。每种类型又包含许多具体的类型,这里选择“工程”选项卡。“工程”选项卡下列出的是各种不同的工程类型,例如dll类型的动态链接库,exe类型的可执行程序等,这里选择MFCAppWizard(exe),表示要创建的是使用MFC编程的可执行程序,如图1.1所示。在图1.1中的“工程名称”文本框中输入工程名字test,在“位置”文本框中输入工程文件的存放目录,界面右下角的“平台”下拉列表框中的Win32表示新建的工程建立在32位Windows平台上。图1.1设置工程类型、工程名称和工程存放路径在图1.1所示的界面中,单击“确定”按钮,设置应用程序类型和程序中的资源使用的语言,这里选择应用程序类型为“单文档”,语言为中文,如图1.2所示。3图1.2设置应用程序类型和程序中的资源使用的语言在图1.2所示的界面中,单击“下一步”按钮,设置程序是否支持数据库,这里选择“否”,如图1.3所示。图1.3设置应用程序是否支持数据库在图1.3所示的界面中,单击“下一步”按钮,设置程序对复合文档的支持,这里选择“不需要”,如图1.4所示。4图1.4设置应用程序是否支持复合文档在图1.4所示的界面中,单击“下一步”按钮,设置程序的其他特性,如程序外观、是否支持WindowsSockets等。这里保留默认设置不变,如图1.5所示。图1.5设置应用程序的外观、是否支持WindowsSockets在图1.5所示的界面中,单击“下一步”按钮,弹出如图1.6所示界面。在图1.6所示的界面中,第一项设置应用程序的界面风格,第二项设置是否为程序自动生成备注,第三项设置使用MFC库的方式是动态连接还是静态连接。使用动态连接方式是在以后生成的应用程序中不包含MFC中的对象代码,这些对象代码只有在应用程序需要的时候才调用;而使用静态连接方式时,则把MFC中的对象代码编译成应用程序的一部分。这里保留默认设置不变。5图1.6设置界面风格、是否生成备注、DLL的连接方式在图1.6所示的界面中,单击“下一步”按钮,设置应用程序向导自动创建的对象及其相关文件名,如图1.7所示。图1.7设置应用程序向导自动生成的对象及相关文件名在图1.7所示的界面中,单击“完成”按钮,可以浏览一下应用程序向导调用过程中每个步骤的设置情况,如图1.8所示。6图1.8应用程序向导设置情况浏览界面在图1.8所示的界面中,单击“确定”按钮,应用程序向导会根据以上步骤的设置情况生成一个基于MFC的框架程序,如图1.9所示。图1.9应用程序向导生成的框架程序四、问题讨论1、比较应用程序向导能够生成的三种应用程序之间的异同。2、了解基于文档/视图结构的框架程序中各个类的结构及各自的功能。7实验二MFC程序的界面设计与资源管理实验一、实验目的和要求1、熟悉VisualC++编程环境。2、掌握常用客户区鼠标消息的用法。3、掌握键盘消息的用法。4、掌握快捷键的用法。二、实验内容编程实现下图2.1所示界面,要求:1)在客户区点击鼠标左键、右键时弹出消息框显示当前鼠标坐标。2)在客户区按下字符键时弹出消息框显示当前按下的字符。利用应用程序向导建立基于单文档/视图结构的应用程序,查看框架程序中各类的结构。图2.1实验二程序运行界面三、实验步骤1.新建工程新建一个工程,工程名称为Mouse,工程类型为MFCAppWizard(exe),应用程序类型为单文档/视图结构,最终会得到一个框架程序。2.定义鼠标消息处理函数选择“查看”菜单下的“建立类向导”菜单项,调出如图2.2所示的类向导界面。8图2.2ClassWizard界面由于对客户区鼠标消息的处理封装在视图类中,所以在图2.2所示的界面中,Classname选择CMouseView,ObjectIDs选择CMouseView,Messages选择WM_LBUTTONDOWN,然后单击AddFunction按钮,添加消息WM_LBUTTONDOWN的处理函数,最后单击EditCode按钮,进入该函数的代码编辑区,,如图2.3所示。图2.3鼠标消息处理函数代码编辑界面在如图2.3所示的鼠标消息处理函数中添加下列代码,捕捉鼠标当前坐标。voidCMouseView::OnLButtonDown(UINTnFlags,CPointpoint){//TODO:Addyourmessagehandlercodehereand/orcalldefaultMessageBox(youhavepressedtheleftbutton,”Mouse”,MB_YESNOCANCEL|MB_ICONWARNING);CView::OnLButtonDown(nFlags,point);}在图2.2所示的界面中,用同样的方法添加消息WM_RBUTTONDOWN的处理函数,在该函数中添加下列代码。9voidCMouseView::OnRButtonDown(UINTnFlags,CPointpoint){//TODO:Addyourmessagehandlercodehereand/orcalldefaultCStringstr;//定义字符串变量str.Format(你按下了鼠标右键,当前x坐标为%d,当前y坐标为%d,point.x,point.y);//格式化字符串MessageBox(str);//显示字符串CView::OnRButtonDown(nFlags,point);}3.编译运行程序,测试执行结果程序运行主界面如图2.4所示。图2.4Mouse工程执行主界面在图2.4空白处即视图类对应的区域单击鼠标左键,弹出如图2.5所示界面,单击鼠标右键,弹出如图2.6所示界面。图2.5单击左键弹出的消息框图2.6单击右键弹出的消息框4.定义键盘消息处理函数选择“查看”菜单下的“建立类向导”菜单项,调出如图2.7所示类向导界面。10图2.7ClassWizard界面由于对键盘消息的处理封装在视图类中,所以在图2.7所示的界面中,Classname选择CKeyView,ObjectIDs选择CKeyView,Messages选择WM_KEYDOWN,然后单击AddFunction按钮,添加消息WM_KEYDOWN的处理函数,如图2.8所示。图2.8键盘消息处理函数代码编辑界面在图2.8所示的键盘消息处理函数中添加下列代码。voidCKeyView::OnKeyDown(UINTnChar,UINTnRepCnt,UINTnFlags){//TODO:Addyourmessagehandlercodehereand/orcalldefaultCStringstr;str.Format(键盘消息被触发,你按下了%c键,nChar);MessageBox(str);CView::OnKeyDown(nChar,nRepCnt,nFlags);}在图2.7所示的界面中,用同样的方法添加消息WM_CHAR的处理函数,在该函数中添加下列代码。voidCKeyView::OnChar(UINTnChar,UINTnRepCnt,UINTnFlags){//TODO:Addyourmessagehandlercodehereand/orcalldefaultif(nChar=='a'){MessageBox(字符消息被触发,你按下了字符a);}if(nChar=='s'){MessageBox(字符消息被触发,你按下了字符s);}if(nChar=='d'){MessageBox(字符消息被触发,你按下了字符d);}11CView::OnChar(nChar,nRepCnt,nFlags);}5.编译运行程序,测试执行结果程序运行主界面如图2.9所示。图2.9工程Key运行主界面在图2.9所示的界面中,按下字符a,会出现图2.10和图2.11所示的消息框。图2.10字符消息处理函数执行界面图2.11键盘消息处理函数执行界面四、问题讨论1、CString与char*两种数据类型的异同点。2、MessageBox的用法。3、客户区鼠标消息与非客户区鼠标消息的区别。4、字符消息处理函数的原型。12实验三MFC的消息和命令实验一、实验目的和要求1、掌握菜单与加速键编程方法。2、掌握菜单命令消息和更新命令用户界面消息处理函数的添加方法。3、掌握快捷菜单的调用方法。4、掌握工具栏中按钮的命令消息及更新命令用户界面消息处理函数的添加方法。5、掌握状态栏数组的结构。二、实验内容编程实现下面界面,要求:1)将当前系统时间显示在状态栏的窗格上。2)在视图中单击右键显示上下文菜单。图实验三要求的程序运行界面三、实验步骤1)将当前系统时间显示在状态栏的窗格上1.新建工程新建一个工程,工程名称为StatusBar,工程类型为MFCAppWizard(exe),应用程序类型为单文档/视图结构,最终得到一个框架程序。2.修改状态栏数组在项目开发区窗口中,选择ClassView选项卡中的CMainFrame类,在其构造函数CMainFrame()上双击,打开MainFrm.cpp文件,将该文件中状态栏定义数组indicators[]修改为下列代码。staticUINTindicators[]={ID_SEPARATOR,ID_INDICATOR_CAPS,13ID_INDICATOR_NUM,ID_INDICATOR_SCRL,ID_INDICATOR_TIME//新定义的用来显示时间的窗格};3.添加字符串资源在项目工作区窗口中,选择ResourceView选项卡中的StringTable,在其包含的“字串表”上双击,打开字符串列表,如图3.1所示。图3.1字符串表编辑器在图3.1所示的字符串表资源编辑器的空白处双击,定义新的字符串资源ID_INDICATOR_TIME,标题为“00:00:00”,如图3.2所示。图3.2字符串属性对话框4.添加消息处理函数在项目工作区窗口中,选择“查看”菜单下的“建立类向导”菜单项,调出类向导界面。在类向导界面中,Classname选择CMainFrame,ObjectIDs选择CMai
本文标题:mfc实验指导书
链接地址:https://www.777doc.com/doc-4255933 .html