VC++期末复习资料.doc_第1页
VC++期末复习资料.doc_第2页
VC++期末复习资料.doc_第3页
VC++期末复习资料.doc_第4页
VC++期末复习资料.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

王牌物理0911 VC+战略复习资料“Visual C+程序设计”复习内容要求一、 名词解释类: 类是一种抽象的数据类型。具有相同属性和功能的事物(数据,函数等)的抽象集合。 基类: 已存在的用来派生新类的类为基类,又称为父类。 派生类:利用继承机制,由基类派生的类称为基类,也称子类。 对象: 用某个类定义的变量称为该类的对象。 实例 (Instance): “对象”在实例化之后叫做一个“实例”。是一个具体化的对象。成员变量和成员函数: 属于类中的变量称为成员变量,函数称为成员函数。 构造函数: 是一种特殊的方法。主要用来在创建对象时初始化对象,即为对象成员变量赋初始值。特点是函数名跟类名相同。 析构函数: 与构造函数的作用相反,用来在系统释放对象前做一些清理工作。函数名与类名相同,但冠以 “” 符号。 重载: 一个函数名可以对应多个函数实现。即,允许一个程序内声明多个名称相同,但参数的类型和数目及返回值完全不同的函数,以完成不同的功能。 消息(窗口消息、命令消息和控件通知消息): Windows应用程序与系统或与另一应用程序进行交换的信息。一个消息(message)由一个消息名称和两个参数(wParam,lParam)。这两个参数用于提供消息的附加信息,随不同的消息而不同。 消息队列: 是在消息的传输过程中保存消息的容器(内存)。消息映射(Message Map): 指定要某个MFC类(有消息处理能力的类)处理某个消息。利用MFC提供的工具ClassWizard来帮助实现消息映射,即在处理消息的类中添加一些有关消息映射的内容和处理消息的成员函数。 消息处理函数: 处理消息的函数。 标识符: 对象,变量,常量,函数等的名字(ID),统称为标识符。 句柄: 句柄是一个用4字节长的数值代表的标识符,用于标识应用程序中不同的对象和同类对象中不同的实例。是指向指针的指针。 this指针: this指针是指向一个类的对象的地址。它是一个隐含指针,隐含于类的每个成员函数之中,即每个成员函数都有一个this指针变量。this指针指向该成员函数所属的类的对象。设备无关性: 就是操作系统屏蔽了硬件设备的差异,用户编程时无需考虑特殊的硬件设置。用一种通用的标准格式就行。主要针对图形输出输入设备。 设备描述表(也称设备环境): 是定义了一系列图形对象及属性的结构(见表4-1),包括图形模式及输出。应用程序必须通知GDI来加载特定的设备驱动,才能应用设备进行相关的操作(如选择线型的宽度和颜色,画笔的样式和颜色等)。这些任务都要通过创建和维护设备描述表来完成。 二、简答1) 什么是私有成员(private)、公有成员(public)、保护成员(protected)。答:一个类有私有成员(private)、公有成员(public)、保护成员(protected)三部分。默认时在类中定义的项都是私有的。私有部分的数据和函数只能被该类本身声明的函数存取;保护部分的成员除可以被本类中的成员函数访问外,还可以被本类派生出的类的成员函数访问,因此用于类的继承;公共部分的成员可以被本类以外的函数访问,是类与外部的接口。2) GetMessage() 、TranslateMessage()和DispatchMessage()三个函数的作用。答:GetMessage()的作用是从从消息队列中读取一条消息,并将消息放在MSG结构中。TranslateMessage()的作用是负责将消息的虚拟键转换为字符消息。DispatchMessage()的作用是将参数lpMSG指向的消息传到指定窗口函数。3) GetDlgItem()、ShowWindow()、MoveWindow()、GetClientRect()、SendMessage()、SetWindowText()、UpdateData()、DestroyWindow()、SetTimer( ) 函数和PostQuitMessage(0)函数的作用,包括它们的参数含义。4) 写出MSG、POINT和RECT三种结构的定义。答:MSG:typedef struct tagMSG HWND hwnd;窗口句柄,为null,则可检索所有驻留在消息队列中的消息 UINT typedef message; 消息值,由Windows.h头文件中的宏定义来标识 WPARAM wParam; 包含有关消息的附加信息,不同消息其值有所不同 LPARAM lParam; DWORD time; 指定消息送至队列的时间 POINT pt; 指定消息发送时屏幕光标位置,其数据类型POINT也是一个结构体MSG;POINT: typedef struct tag POINT LONG x; LONG y; x和y分别表示屏幕的横坐标和纵坐标 POINT;RECT: typedef struct_ RECT LONG left ; 矩形框左上角X坐标 LONG top ; 矩形框左上角Y坐标 LONG right ; 矩形框右上角X坐标 LONG bottom ; 矩形框右上角Y坐标 RECT ;5) 句柄和指针的区别。6) 鼠标按键有哪些消息?怎么使用?7) 使用动态加载菜单的步骤:(1)在项目工作区中的资源选项卡(Resource View)中插入菜单资源(需要更名时更名);(2)利用资源编辑器设计菜单栏和每个栏中的菜单项,并为每个菜单项设置一个标识符(ID);(3)使用m_Menu.LoadMenu (IDR_MYMENU)加载菜单;(4)使用SetMenu (&m_Menu);分配菜单到窗口;其中,m_Menu是CmainFrame类的成员变量。(5)利用类向导(class wizard)为各菜单项确定命令消息处理函数,以实现菜单命令。8) 模态对话框和非模态对话框有何区别?简述二者的创建方法和关闭方法。9) 简述窗口类(CWnd或主框架类CMainFrame)、视类(Cview)、文档类(Cdocument)和应用程序类(CwinApp)的主要功能:(1) 主框架类:挂接菜单,状态,工具栏,响应菜单命令,为CView提供容器(即视窗口总是位于框架的客户区内)等。(2) 视类:作显示文档或图形图像的主要区域,可接收菜单命令和鼠标消息。(3) 文档类:和CView关联在一起的,主要用于存取数据(如读文件,存文件)等。(4) 应用程序类:完成应用程序的初始化、运行和终止(不断执行消息循环,直到接收到WM_QUIT消息)。基于框架生成的应用程序必须有且仅有一个从 CWinApp 派生的类的对象。在创建窗口之前先构造该对象。10)控件通知消息:消息的分类有3种:窗口消息、命令消息和控件通知消息。控件通知消息,是指这样一种消息,一个窗口内的子控件发生了一些事情,需要通知父窗口。通知消息只适用于标准的窗口控件如按钮、列表框、组合框、编辑框,以及Windows公共控件如树状视图、列表视图等。例如,单击或双击一个控件、在控件中选择部分文本、操作控件的滚动条都会产生通知消息。 她类似于命令消息,当用户与控件窗口交互时,那么控件通知消息就会从控件窗口发送到它的主窗口。但是这种消息的存在并不是为了处理用户命令,而是为了让主窗口能够改变控件,例如加载、显示数据。例如按下一个按钮,他向父窗口发送的消息也可以看作是一个控件通知消息;单击鼠标所产生的消息可以由主窗口直接处理,然后交给控件窗口处理。 控件通知消息主要由窗口类即直接或间接由CWnd类派生类处理。三、设计题1)写出使用对话框的步骤,在对话框内分别放置按钮、文本框和组合框各一个,并利用类向导来实现对话框各控件的消息响应,完成一定的工作(动作)。具体步骤如下: (1)在项目工作区中的资源选项卡(Resource View)中插入对话框资源(需要更名时更名)。(2)利用资源编辑器分别放置按钮、文本框和组合框各一个,并为每个控件设置一个标识符(ID),如文本框为:XXX,组合框为:YYY。其中“确定”按钮可采用系统提供的默认符号(IDOK)。 (3)生成对话框类:双击对话框模板,进入类向导(class wizard)为对话框生成新类,取名为:CXXXX;系统同时自动生成对话框头文件XXX.h和实现文件XXX.cpp。 (4)创建对话框:在头文件MainFrm.h中包含对话框头文件XXX.h:#include XXX.h,并声明一个对话框类的对象为: protected:CXXXX m_dddd; 在主框架类实现文件MainFrm.cpp中的某一菜单命令(如打开对话框命令)响应函数中加入: m_dddd.Create(IDD_DIALOG1,NULL);/ 非模态对话框或: M_dddd.Domodal (); / 模态对话框 (5)利用类向导(class wizard)为对话框加入各控件的消息处理函数: OnCommand(WPARAM wParam, LPARAM lParam) (6)从LOWORD(wParam)中获取各控件的ID,分别编写处理各控件的处理代码。如:switch (LOWORD(wParam) case IDOK: DestroyWindow(); return TRUE;case IDC_XXX: break; .2)写出使用工具条的步骤,并利用类向导和消息处理函数来实现工具条命令,完成一定的工作。具体步骤如下:(1) 在项目工作区中的资源选项卡(Resource View)中插入工具条(Toolbar)资源(需要更名时更名)。(2)利用资源编辑器放置和设计所需的按钮,并为每个按钮指定一个标识符(ID),如ID_XXX。ID可与菜单项的某项相同,则实现相同的命令。(2) 创建工具条:在头文件MainFrm.h中声明一个工具条类的对象,如:protected: / control bar embedded membersCToolBar m_myToolBar;(3) 在主框架类实现文件MainFrm.cpp中的OnCreate()成员函数内加入:if (!m_myToolBar.Create(this,CBRS_TOP| WS_VISIBLE) |!m_myToolBar.LoadToolBar(IDR_TOOLBAR1)TRACE0(Failed to create toolbarn);return -1;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论