欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    Windos编程实验指导书解析.docx

    • 资源ID:9193553       资源大小:1.12MB        全文页数:43页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Windos编程实验指导书解析.docx

    1、Windos编程实验指导书解析实验一 框架的创建与消息处理 程序1:Ex_SDIDemo 创建一个默认的单文档应用程序 1.开始 选择“文件”“新建”菜单,在弹出的“新建”对话框中选择“工程”标签,这时显示出一系列的应用程序项目类型; 2 .选择程序类型 (1) 从应用程序类型单个文档(Single Document,简称SDI)、 多重文档(Multiple Document ,简称MDI)和基本对话框(Dia log Based,基于对话框的应用程序)中选择“单个文档”。 (2) 决定应用程序中是否需要MFC的文档视图(“文档/查看体 系结构支持”)结构的支持。(3) 选择资源所使用的语言

    2、 3. 简单创建 保留其他的默认选项,单击完成按钮出现一个对话框,显示出用户在步骤中作出的选择,单击确定按钮系统开始创建。 4. 编译并运行 到这里为止,用户虽然没有编写任何程序代码,但MFC AppW izard已经根据用户的选择内容自动生成基本的应用程序框架。单击编译工具条 上的运行工具按钮 或按快捷键Ctrl+F5,系统开始编连并运行生成的单文档应用程序可执行文件Ex_SDIDemo.exe请仔细查看生成的文件,理解文件内容。【程序2:单文档消息映射】生成一个单文档程序,实现鼠标右键单击,发送自定义消息,显示一个消息框.【程序3:绘制直线鼠标消息实验】生成一个单文档程序,实现用鼠标绘制直

    3、线的功能.【程序4:按键消息实验】生成一个单文档程序,当按下A键时,在消息窗口中显示“输入字符A!”。.实验二 图形与文本【程序1:】编写一个单文档的应用程序,在视图窗口中显示一行文本,要求文本颜色为红色,背景色为黄色。【程序2:】编写一个单文档的应用程序,在客户区使用不同的画笔和画刷绘制点、折线、曲线、圆角矩形、弧、扇形和多边形等几何图形。【程序3:】编写一个单文档的应用程序,在视图窗口中显示3个圆,通过使用不同颜色的画笔以及画刷来模拟交通红绿灯。【程序4:】编写一个单文档的应用程序,在视图窗口实现一行文本的水平滚动显示,要求每个周期文本为红、黄两种颜色,字体为宋、楷两种字体。实验三 菜单和

    4、工具栏【程序1:】编写一个单文档,为程序添加主菜单“显示”,且“显示”菜单中包含“文本”和“图形”2个菜单项。当程序运行时,用户单击”文本“菜单项,可以在视图窗口中显示”我已经学会了如何设计菜单程序!“文本信息,单击“图形”菜单项,在视图窗口中画出一个红色的实心矩形。【程序2:】在程序1的基础上,新增菜单项添加控制功能,当“文本”菜单项被选中时,图形“菜单项无效;当”图形“菜单项被选中时,”文本“菜单项无效。【程序3:】创建一个单文档,为该程序添加2个按钮到默认工具栏,单击第1个按钮,在视图窗口中弹出用于文件打开的”打开“对话框;单击第2个按钮,在消息框中显示”我已经学会使用默认工具栏了!“文

    5、本信息。【程序4:】在程序2上,新增工具栏,完成菜单里的对应的功能。并在状态栏中显示鼠标光标的坐标和当前系统时间。实验四 对话框 程序1:Ex_DlgDemo 使用向导创建对话框应用程序 (1) 选择“文件”“新建”菜单,在弹出的“新建”对话框中选择“工程”页面,选择MFC AppWizard(exe),在工程框中输入项目名Ex_DlgDemo。 (2) 单击确定按钮,在出现的“Step 1”对话框中选择“基本对话(框)”应用程序类型,如图所示。(3) 单击下一个按钮,出现如图(右)所示的对话框,允许用户设置对话框的风格及ActiveX控件等特点的支持。(4) 单击下一个按钮出现如图(左)所示

    6、的对话框,两个方面的选项可供用户选择:一是在源文件中是否加入注释用来引导用户编写程序代码,另一是使用动态链接库还是静态链接库。(5) 保留默认选项,单击下一个按钮出现如图(右)所示的对话框。(6) 单击完成按钮出现一个对话框,显示出用户在前面几个步骤中作出的选择内容,单击确定按钮系统开始创建。应用程序可执行文件Ex_DlgDemo.exe,结果如图所示 程序2:Ex_SDI 在单文档程序中添加对话框资源 创建一个默认的单文档应用程序项目Ex_SDI。 (1) 选择“插入”“资源”菜单,或按快捷键Ctrl+R打开“插入资源” 对话框中看到资源列表中存在Dialog项,若单击Dialog项左边的“

    7、+”号,将展开对话框资源的不同类型选项,表列出各种类型的对话框资源的不同用途。“插入资源”对话框 :(2) 对展开的不同类型的对话框资源不作任何选择,选中“Dialog”,单击新建按钮,系统就会自动为当前应用程序添加了一个对话框资源。 系统为对话框资源自动赋给它一个默认标识符名称 使用通用的对话框模板创建新的对话框资源。对话框的默认标题为Dialog,有OK和Cancel两个按钮,这两个按钮的标识符分别为IDOK和IDCANCEL。 对话框模板资源所在的窗口称为对话框资源编辑,在这里可以通过控件工具栏和布局工具栏向对话框添加和布局控件,并可设置对话框的属性。 Visual C+6.0开发环境的

    8、工具栏具有“浮动”与“停泊”功能,图中的控件工具栏是处于“浮动”状态,通常将它拖放到窗口右侧,以便于操作。在对话框模板处右击鼠标,从弹出的快捷菜单中选择“属性”菜单项,出现如图所示的对话框属性窗口。对话框的属性有General(一般)、Styles(风格)、More Styles(更多)、Extended Styles(扩展风格)、MoreExtended Styles(更多扩展风格)等部分,这里仅介绍最常用的General属性。对话框的General属性项 目 说 明 ID框 修改或选择对话框的标识符名称 标题框 输入对话框的标题名称,中英文均可,如“我的对话框” 字体按钮 单击此按钮可选择

    9、字体的种类(如宋体)及尺寸(如9号) Xpos/Ypos 对话框左上角在父窗口中的X、Y坐标,都为0时表示居中 菜单框 默认值为无,当对话框需要菜单时输入或选择指定的菜单资源 Class name 默认值为无,它提供C/C+语言编程时所需要的对话框类名,对MFC类库的资源文件来说,该项不被激活。 将添加对话框的General属性进行如下三点修改, 将对话框标识符改成IDD_DIALOG_FIRST; 将对话框标题改为“我的第一个对话框”; 单击字体按钮,通过弹出的字体对话框将对话框内的文本设置成“宋体,9” ,以使自己的对话框和Windows中的对话框保持外观上的一致。 在程序中使用对话框(1

    10、) 在项目工作区窗口中选择ResourceView页面,双击资源“Menu”项中的IDR_MAINFRAME,则菜单编辑器窗口出现在主界面的右边,相应的Ex_SDI项目的菜单资源被显示出来,在菜单的最后一项,Visual C+为用户留出了一个空位置,用来输入新的菜单项,如图 (2) 在菜单的空位置上双击鼠标左键,则出现它的属性对话框,在标题框中输入“测试(&T)”,结果如图所示,其中符号&用来其后面的字符作为该菜单项的助记符,这样当按住“Alt”键不放,再敲击该助记符键时,对应的菜单项就会被选中,或在菜单打开时,直接按相应的助记符键,对应的菜单项也会被选中。 (3) 单击菜单属性对话框中的“保

    11、存可见”(Keep Visible)按钮,使此属性对话框一直可见,以方便操作。单击“测试”菜单项下方的空位置,在属性对话框中,输入标题“对话框(&D)”,在ID框输入该菜单项的资源标识;_TEST_DLG,结果如图所示,单击属性对话框右上角的关闭按钮 (4) 用鼠标将新添加的菜单项拖到“查看”和“帮助”菜单项之间,结果如图所示。(5) 选择“查看”“建立类向导”菜单命令或直接按Ctrl+W快捷键,则出现MFC ClassWizard对话框,该对话框会自动切换到Message Maps页面。(6) 从“Class name”组合框中选择CMainFrame,在Object Ids列表中选择ID_

    12、TEST_DLG,然后在Messages框中选择COMMAND消息。 (7) 单击Add Function按钮或双击COMMAND消息,出现“Add Member Function”对话框以输入成员函数的名称。系统默认的函数名为OnTestDlg,如图所示。该函数是对菜单项ID_TEST_DLG的映射,也就是说,当在应用程序运行时,用户选择“对话框”,则该函数OnTestDlg被调用,执行函数中的代码。 (8) 单击OK按钮,在ClassWizard的“Member functions”列表中将列出新增加的成员函数。选择此函数,单击Edit Code按钮(或直接在函数名双击鼠标),在此成员函数

    13、中添加下列代码:void CMainFrame:OnTestDlg() CFirstDlg dlg; / 定义对话框类对象 dlg.DoModal(); / 显示对话框 代码中,DoModal是CDialog基类成员函数,它是用来显示和终止模式对话框。(9) 在OnTestDlg函数的实现文件MainFrm.cpp的前面添加CFirstDlg类的头文件包含,即: #include Ex_SDI.h#include MainFrm.h#include FirstDlg.h“ (10) 编译并运行。在应用程序菜单上,选择“测试” “对话框”菜单项,将出现如图的对话框,这个对话框就是刚才添加的对话框

    14、。 程序3:Ex_Modeless 创建并使用无模式对话框 (1) 用MFC AppWizard(exe)创建一个默认的单文档应用程序x_Modeless。(2) 在该项目中添加一个对话框资源,将其标识符设为IDD_DIALOG_SECOND,标题设为“无模式对话框”,(3) 对话框字体和大小设为“宋体,9号”。为IDD_DIALOG_SECOND对话框资源创建一个对话框类CSecondDlg。 (4) 按Ctrl+W快捷键打开MFC ClassWizard,从“Class name”列表中选择CSecondDlg,在IDs列表中选择IDOK,是对话框中OK 按钮的标识符,然后在Message

    15、s框中选择BN_CLICKED(单击按钮)消息,单击Add Function按钮或双击BN_CLICKED消息,出现“Add Member Function”对话框以输入成员函数的名称,保留系统默认的函数名为OnOK,如图所示。(5) 修改CSecondDlg:OnOK函数中的代码。void CSecondDlg:OnOK() / 添加其他代码使用户输入对话框的数据有效 DestroyWindow(); / 终止对话框显示 delete this; / 删除对话框,释放内存空间代码中,DestroyWindow是对话框基类CWnd的一个成员函数,用来终止窗口。(6) 添加Cancel按钮(标识

    16、符为IDCANCEL)的BN_CLICKED消息映射,并修改其映射函数CSecondDlg:OnCancel的代码。void CSecondDlg:OnCancel() / 单击Cancel(取消)按钮 DestroyWindow(); delete this; (7) 在项目工作区窗口中选择ResourceView页面,双击资源“Menu”项中的IDR_MAINFRAME,打开菜单资源。(8) 在菜单“查看”与“帮助”之间添加一个“测试(&T)”菜单,该菜单项的资源标识设为ID_TEST_DLG。(9) 按Ctrl+W快捷键,打开MFC ClassWizard对话框,在Message Map

    17、s页面中从“Class name”列表中选择CMainFrame,在Object IDs列表中选择ID_TEST_DLG,然后在Messages框中选择COMMAND消息。 (10) 单击Add Function按钮或双击COMMAND消息,出现“Add Member Function”对话框,取系统默认的函数名OnTestDlg,并在此成员函数中添加下列代码:void CMainFrame:OnTestDlg() CSecondDlg *pDlg = new CSecondDlg; / 使用new为对分配内存空间 pDlg-Create( IDD_DIALOG_SECOND ); / 创建对

    18、话框 pDlg-ShowWindow( SW_NORMAL ); / 显示对话框代码中,Create可用来以一个对话框资源来创建对话框, ShowWindow是一个CWnd成员函数,用来显示对话框, SW_NORMAL是用来指定将窗口显示成一般常用的状态。 (11) 在文件MainFrm.cpp前面添加CSecondDlg类的文件包含 #include MainFrm.h #include SecondDlg.h (12) 编译并运行。在应用程序菜单上,多次选择“测试” “对话框”菜单项,将会在同一个位置中出现多个对话框,拖动这些对话框到适当位置,如图:这就是无模式对话框的效果,从上述示例可以

    19、看出:模式和无模式对话框在用编辑器设计和使用MFC ClassWizard创建用户对话框类的方法是一致的,但在对话框的创建和退出的方式是不同的。 程序4:通用对话框MFC的通用对话框对话框 用 途 CColorDialog 颜色对话框,允许用户选择或创建颜色 CFileDialog 文件对话框,允许用户打开或保存一个文件 CFindReplaceDialog 查找替换对话框,允许用户查找或替换指定字符串 CPageSetupDialog 页面设置对话框,允许用户设置页面参数 CFontDialog 字体对话框,允许用户从列出的可用字体中选择一种字体 CPrintDialog 打印对话框,允许用

    20、户设置打印机的参数及打印文档 这些对话框都有一个共同特点:它们都从用户获取信息,但并不对信息作处理。 选定一个文件后,单击打开按钮,就会弹出一个消息对话框,显示该文件的全路径名称。void CMainFrame:OnTestDlg() CString filter; filter = “文本文件(*.txt)|*.txt|C+文件 (*.h,*.cpp)|*.h;*.cpp|; CFileDialog dlg (TRUE, NULL, NULL, OFN_HIDEREADONLY, filter); if (dlg.DoModal () = IDOK) CString str; str = d

    21、lg.GetPathName(); AfxMessageBox(str); GetPathName是CFileDialog类成员函数,用来获取文件的全路径名。 通用文件对话框类CFileDialog的构造函数的原型如下:CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_O VERWRITEPROMPT, LPCTSTR lpszFilter = NULL, CWnd* pParentWn

    22、d = NULL ); 程序5:写一个单文档,添加一个菜单,在菜单里打开一个模态对话框,通过该对话框输入一对坐标值,单击OK按钮,在视图中该坐标位置显示自己的姓名。程序6:用非模态对话框完成程序5的功能。程序7:写一个单文档,添加2个按钮到工具栏,第1个按钮实现打开文件对话框,选择文件并弹出消息框显示文件名称。第2个按钮实现打开颜色对话框选择颜色,并在视图区画出一个该颜色的矩形。实验五 标准控件程序1:Ex_DlgCtrls 用控件的编程方式来创建一个按钮(1) 选择“文件”“新建”菜单,在弹出的“新建”对话框中单击“工程”标签,选择MFCAppWizard(exe)的项目类型,在工程框中输入

    23、项目名Ex_DlgCtrls(2) 单击确定按钮,在出现的“Step 1”对话框中选择“基本对话框)”应用程序类型,单击完成按钮,创建一个默认的基于对话框的应用程序项目。(3) 将项目工作区切换到ClassView页面,展开CEx_DlgCtrlsDlg类,右击CEx_DlgCtrlsDlg类名,弹出如图所示的快捷菜单。 (4) 从快捷菜单中选择Add Member Variable,出现如图所示的对话框,在Variable Type(变量类型)编辑框中输入CButto n(MFC按钮类),在Variable Name(变量名) 编辑框中输入要定义的CButton类对象名m_btnWnd。(5

    24、) 单击OK按钮,这样Visual C+就会自动在CEx_DlgCtrlsDlg 类中添加该成员变量。 在项目工作区的ClassView页面中,双击OnInitDialog函数名,在该函数中添加下列代码:BOOL CEx_DlgCtrlsDlg:OnInitDialog() CDialog:OnInitDialog(); m_btnWnd.Create(你好, WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, CRect(20, 20, 120, 60), this, 201); / 创建 CFont *font = this-GetFont(); / 获取对话框的

    25、字体 m_btnWnd.SetFont(font); / 设置控件字体 return TRUE; / return TRUE unless you set the focus to a control (6) 编译并运行,结果如图所示上述是通过编程方式实现控件的,但比较繁琐和复杂,一般是通过对话框模板中用编辑器指定控件。程序2:映射控件消息1. 在MFC中,映射一个控件消息是非常简便的,如下面的过程是对新添加的按钮控件映射BN_CLICKED(单击)消息。将项目工作区窗口切换到ResourseView页面,双击Dialog资源下的标识IDD_EX_DLGCTRLS_DIALOG,打开该对话框资

    26、源模板。删除“TODO: 在这里设置对话控制。”控件,添加一个按钮控件,保留其默认属性。如图所示。 2 按快捷键Ctrl+W,打开MFC ClassWizard对话框,查看“Class name”列表中是否选择了CEx_DlgCtrlsDlg,在IDs列表中选择IDC_BUTTON1,这是添加按钮后,系统自动为此按钮设置的默认标识符,然后在Messages框中选择BN_CLICKED消息。3 单击Add Function按钮或双击BN_CLICKED消息,出现“Add Member Function”对话框,在这里可以输入成员函数的名称,系统默认的函数名为OnButton1。4 单击OK按钮,

    27、在MFC ClassWizard的“Member functions”列表中将列出新增加的成员函数。在此成员函数中添加下列代码:void CEx_DlgCtrlsDlg:OnButton1() MessageBox(你按下了Button1按钮!);5.编译并运行,当单击Button1按钮时,就会执行OnButton1函数,弹出一个消息对话框。这就是按钮BN_CLICKED消息的映射过程,其他控件的消息也可以类似操作。 程序3:写一个单文档程序,用菜单命令打开一个对话框,通过该对话框中的红色,绿色,蓝色单选按钮选择颜色,在视图中绘制不同颜色的矩形。程序4:写一个单文档程序,添加一个工具栏按钮。单

    28、击该按钮弹出一个对话框,通过该对话框中的红色,绿色,蓝色复选框选额颜色,在视图中输出一行文本。程序5:写一个对话框程序,根据用户从列表框中选择的线条样式,在对话框中绘制一个矩形。线条样式有水平线,垂直线,向下斜线,十字线等四种画刷。程序6:用组合框取代列表框,实现程序5一样的功能。实验六 文档与视图程序1: 文档数据和视图显示。编写单文档程序,为文档对象添加数据成员recno(int类型),表示学号,stuname(CString类型)表示姓名,并在视图中输出文档对象中的内容。要求当按向上箭头或按向下箭头时,学号每次递增1或递减1,能在视图中反映学号变化。(1)首先建立一个单文档程序。(2)在

    29、文档类添加类的成员变量。头文件:public: int recno; CString stuname;并在实现文件里构造函数中初始化:CDemo1Doc:CDemo1Doc() / TODO: add one-time construction code here recno=1; stuname=张三; (3)在ClassWizard里面利用消息映射(Message Maps)在对应类中(如*View)添加对WM_KEYDOWN的响应函数。添加下面阴影部分的代码。void CDemo1View:OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)

    30、/ TODO: Add your message handler code here and/or call default /获取文档类的指针 CDemo1Doc* pDoc = GetDocument(); switch(nChar) case VK_UP:/上 /学号递增 pDoc-recno+; break; case VK_DOWN: /下 /学号递减 pDoc-recno-; break; /刷新客户区,重新绘制 Invalidate(); CView:OnKeyDown(nChar, nRepCnt, nFlags);(4)在视图类的OnDraw函数实现在客户区显示姓名和学号。添加下面阴影的代码:void CDemo1View:OnDraw(CDC* pDC) CDemo1Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc); CString message; message.Format(学号:%d,姓名:%s,pDoc-recno ,pDoc-s


    注意事项

    本文(Windos编程实验指导书解析.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开