




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
题型分布大约为 填空题型分布大约为 填空 5050 分分 问答问答 3030 分分 编程编程 2020 分 分 其中填空题每题其中填空题每题 1 1 分 带冒号的基本为填空题 问答 编程基本为习题分 带冒号的基本为填空题 问答 编程基本为习题 第一章第一章 P2P2 APIAPI 函数 由操作系统提供的函数 由操作系统提供的 用户可直接使用的函数 用户可直接使用的函数 APIAPI 函数的函数的 3 3 大类型 大类型 窗口管理函数 图形设备函数 系统服务函数 窗口管理函数 图形设备函数 系统服务函数 VCVC 编程方式 编程方式 SDKSDK MFCMFC P3P3 句柄 用于区分程序对象和实例的标识 句柄 用于区分程序对象和实例的标识 常用句柄类型常用句柄类型 HWND HWND 窗口句柄窗口句柄 HINSTANCE HINSTANCE 当前实例句柄当前实例句柄 HCURSOR HCURSOR 光标句柄光标句柄 HFONT HFONT 字体句柄字体句柄 HPEN HPEN 画笔句柄画笔句柄 HBRUSH HBRUSH 画刷句柄画刷句柄 HDC HDC 图形设备环境句柄图形设备环境句柄 HBITMAP HBITMAP 位图句柄位图句柄 HICON HICON 图标句柄图标句柄 HMENU HMENU 菜单句柄菜单句柄 HFILE HFILE 文件句柄文件句柄 WindowsWindows 数据类型 数据类型 POINTPOINT RECTRECT P4 5 P4 5 事件 有可能触发计算机程序作出相应反应的刺激 事件 有可能触发计算机程序作出相应反应的刺激 消息 用于描述事件的各种信息的结构 消息 用于描述事件的各种信息的结构 消息分类 标准消息 命令消息 通告消息 消息分类 标准消息 命令消息 通告消息 3 3 空填这个空填这个 队列消息 非队列消息 队列消息 非队列消息 2 2 空填这个 空填这个 常用常用 windowswindows 消息 消息 WM LBUTTONDOWNWM LBUTTONDOWN WM LBUTTONUPWM LBUTTONUP WM RBUTTONDOWNWM RBUTTONDOWN WM RBUTTONUPWM RBUTTONUP WM LBUTTONDBLCLKWM LBUTTONDBLCLK W W M RBUTTONDBLCLKM RBUTTONDBLCLK WM CHARWM CHAR WM CREATEWM CREATE WM CLOSEWM CLOSE 消息循环 利用消息循环 利用 GetMessage GetMessage 从消息队列中获取消息 并利用从消息队列中获取消息 并利用 GetMessageGetMessage 函数的返回 函数的返回 值组织一个循环 从而不断从消息队列获取消息 再将消息发送给系统 这个循环叫做消值组织一个循环 从而不断从消息队列获取消息 再将消息发送给系统 这个循环叫做消 息循环 息循环 消息队列 消息队列是消息队列 消息队列是一种以链表式结构组织的一组数据 存放在内核中 是由各进程通一种以链表式结构组织的一组数据 存放在内核中 是由各进程通 过消息队列标识符来引用的一种数据传送方式过消息队列标识符来引用的一种数据传送方式 消息队列代码 消息队列代码 P6 P8P6 P8 WinMainWinMain 函数主要任务 创建应用程序窗口和建立消息循环函数主要任务 创建应用程序窗口和建立消息循环 WNDCLASS WNDCLASS 描述窗口属性的数据结构 描述窗口属性的数据结构 RegitsterClass RegitsterClass 将定义好的窗口属性向系统进行登记 将定义好的窗口属性向系统进行登记 CreateWindow CreateWindow 在内存中创建窗口 成功返回窗口句柄 在内存中创建窗口 成功返回窗口句柄 ShowWindow ShowWindow 将窗口显示在屏幕上 将窗口显示在屏幕上 UpdateWindow UpdateWindow 更新窗口 更新窗口 消息循环代码 消息循环代码 P8P8 while GetMessage TranslateMessage DispathMessage DispathMessage P19P19 窗口显示及更新时产生窗口显示及更新时产生 WM PAINTWM PAINT 消息消息 P23 P23 练习题练习题 1 51 5 什么事事件什么事事件 答 有可能触发计算机程序作出相应反应的刺激叫做事件 如 单击左键 计算机产生答 有可能触发计算机程序作出相应反应的刺激叫做事件 如 单击左键 计算机产生 WM LBUTTONDOWNWM LBUTTONDOWN 的反应 的反应 1 71 7 什么事消息循环 什么事消息循环 答 利用答 利用 GetMessage GetMessage 从消息队列中获取消息 并利用从消息队列中获取消息 并利用 GetMessageGetMessage 函数的返回值组织 函数的返回值组织 一个循环 从而不断从消息队列获取消息 再将消息发送给系统 这个循环叫做消息循环 一个循环 从而不断从消息队列获取消息 再将消息发送给系统 这个循环叫做消息循环 1 81 8 windowswindows 应用程序的主函数有哪三个主要任务应用程序的主函数有哪三个主要任务 答 注册窗口类型 创建显示窗口和建立消息循环 答 注册窗口类型 创建显示窗口和建立消息循环 第二章第二章 P33P33 虚函数 利用虚函数 利用 C C 的多态性来解决用户的多样性的要求 将基类中的一些成员函数声明为的多态性来解决用户的多样性的要求 将基类中的一些成员函数声明为 虚函数 虚函数 P43P43 消息处理函数 消息处理函数 在处理消息时要在类中声明消息的处理函数 在处理消息时要在类中声明消息的处理函数 形式 形式 afx msgafx msg voidvoid 消息处理函数名 消息处理函数名 afx msgafx msg 是一个宏 是一个宏 表示声明的是一个消息响应函数 如 实现表示声明的是一个消息响应函数 如 实现 WM LBUTTONDOWNWM LBUTTONDOWN 声明 声明 afx msgafx msg voidvoid OnLButtonDown OnLButtonDown P45P45 消息映射表宏 消息映射表宏 这个宏使用在类的声明中 用来声明消息映射表这个宏使用在类的声明中 用来声明消息映射表 DECLARE MESSAGE MAP DECLARE MESSAGE MAP 这个宏在使用类声明外 用来定义链表节点和填写链表节点中的数据 其格式为 这个宏在使用类声明外 用来定义链表节点和填写链表节点中的数据 其格式为 BEGIN MESSAGE MAP BEGIN MESSAGE MAP 类名称 基类名称类名称 基类名称 BEGIN MESSAGE MAP BEGIN MESSAGE MAP 这个宏使用在宏这个宏使用在宏 BEGIN MESSAGE MAP BEGIN MESSAGE MAP 的后面 依次填写类消息映射表中的各个表的后面 依次填写类消息映射表中的各个表 项项 ON XXXX ON XXXX 消息处理函数表的结束宏 是表示消息映射表结束的标志消息处理函数表的结束宏 是表示消息映射表结束的标志 END MESSAGE MAPEND MESSAGE MAP P48 P48 练习题练习题 2 12 1 在窗口类在窗口类 CFrameWndCFrameWnd 中需要封装哪些成员 中需要封装哪些成员 答 答 在窗体类在窗体类 CFrameWndCFrameWnd 中需要封装窗口句柄中需要封装窗口句柄 hWndhWnd 窗口类型属性的定义 窗口类型的 窗口类型属性的定义 窗口类型的 注册 窗口的创建和显示更新窗口 注册 窗口的创建和显示更新窗口 2 22 2 应用程序类应用程序类 CWinAppCWinApp 应该具备哪些主要功能 应该具备哪些主要功能 答 答 注册 创建 显示应用程序的窗口和建立消息循环 注册 创建 显示应用程序的窗口和建立消息循环 第三章第三章 P57 P57 文档视图结构文档视图结构 单文档界面 单文档界面 SDISDI 多文档界面 多文档界面 MDIMDI 单文档单文档 SDI SDI 的类 的类 CDocumentCDocument CViewCView CFrameWndCFrameWnd CWinAppCWinApp CDocTemplateCDocTemplate 及其关系及其关系 P62 P62 CViewCView 中的中的 2 2 个函数 个函数 GetDocument GetDocument OnDraw OnDraw GetDocument GetDocument 函数是连接函数是连接 CViewCView 和和 CDocCDoc 的通道 的通道 OnDraw OnDraw 函数刷新客户区 其基类调用函数刷新客户区 其基类调用 的是的是 CView OnPaint CView OnPaint OnPaint OnPaint 调用的也是调用的也是 CView OnPaint CView OnPaint 故 故 OnDraw OnDraw 与与 OnPaint OnPaint 性质相同 性质相同 P70 P70 CDocumentCDocument 和和 CViewCView 的互访的互访 视图对象访问文档对象 视图对象访问文档对象 GetDocument GetDocument 文档对象访问视图对象 文档对象访问视图对象 GetFirstViewPosition GetFirstViewPosition 调用这个函数得到视图类对象清单的调用这个函数得到视图类对象清单的 第一个对象 返回值为第一个对象 返回值为 POSITIONPOSITION 类型类型 GetNextView GetNextView 函数原型 函数原型 CView CView GetNextView GetNextView POSITIONCMyPrjApp 应用程序对象作为上述各类对象的容器 并实现应用程序应用程序对象作为上述各类对象的容器 并实现应用程序 的初始化和消息循环 的初始化和消息循环 CDocumentCDocument 类的派生类类的派生类 CMyPrjDoc CMyPrjDoc 它是应用程序的数据库 是程序员定义程序数据和对这它是应用程序的数据库 是程序员定义程序数据和对这 些数据进行操作的程序函数的地方 些数据进行操作的程序函数的地方 CViewCView 类的派生类类的派生类 CMyPrjView CMyPrjView 它的作用是为框架窗口提供用户区 它的作用是为框架窗口提供用户区 第四章第四章 P79 P79 DC DC 表现为一个图形设备描述表的数据结构 用于描述虚拟图形设备的属性 也叫做图形表现为一个图形设备描述表的数据结构 用于描述虚拟图形设备的属性 也叫做图形 设备描述环境 设备描述环境 GDI GDI 与绘图有关的函数所构成的集合叫做图形设备接口与绘图有关的函数所构成的集合叫做图形设备接口 graphical graphical devicedevice interfaceinterface GDI GDI GDIGDI 中的绘图工具 表中的绘图工具 表 4 14 1 Pen Pen 画笔画笔 用于绘制线条的对象用于绘制线条的对象 Brush Brush 画刷画刷 用于填充图形内颜色和图案的对象用于填充图形内颜色和图案的对象 Font Font 字体字体 用于决定文本字符样式的对象用于决定文本字符样式的对象 Bitmap Bitmap 位图位图 保存位图格式图像的对象保存位图格式图像的对象 Palette Palette 调色板调色板 绘图时可以使用的颜色集绘图时可以使用的颜色集 CDCCDC 类类 封装封装 DCDC 和和 GDIGDI 函数函数 CClientDCCClientDC 窗口客户区的设备描述环境 但应用在 窗口客户区的设备描述环境 但应用在 WM PAINTWM PAINT 消息之外的消息处理函数中消息之外的消息处理函数中 CMetaFileDCCMetaFileDC 图元文件的设备描述环境 在创建可以回放的图像是使用 图元文件的设备描述环境 在创建可以回放的图像是使用 CPaintDCCPaintDC 窗口用户区的设备描述环境 在 窗口用户区的设备描述环境 在 OnDrawOnDraw 函数中来处理 函数中来处理 WM PAINTWM PAINT 消息消息 CWindowDCCWindowDC 在整个窗口内 不只是用户区 绘图的设备描述环境 在整个窗口内 不只是用户区 绘图的设备描述环境 CViewCView 中的中的 OnDraw CDC OnDraw CDC pDC pDC P82P82 CPen CPen 在在 MFCMFC 中画笔是中画笔是 CPenCPen 类的对象 它用来在类的对象 它用来在 DCDC 上完成绘制线条的任务 上完成绘制线条的任务 CPen intCPen int style intstyle int width COLORREFwidth COLORREF color color CBrush CBrush CBrushCBrush 是封装了是封装了 WindowsWindows 图形设备接口 图形设备接口 GDIGDI 中画刷的 中画刷的 MFCMFC 类 用于构造类 用于构造 CBrushCBrush 对象 然后传给需要画刷的对象 然后传给需要画刷的 CDCCDC 成员函数 成员函数 CBrush COLORREFCBrush COLORREF color color 和和 CBrush intCBrush int style COLORREFstyle COLORREF color color RGBRGB 宏 宏 是通过对红是通过对红 R R 绿 绿 G G 蓝 蓝 B B 三个颜色三个颜色通道通道的变化以及它们相互之间的叠加来得的变化以及它们相互之间的叠加来得 到各式各样的颜色的 到各式各样的颜色的 RGBRGB 即是代表红 绿 蓝三个通道的颜色即是代表红 绿 蓝三个通道的颜色 SelectObject SelectObject 将新的画图工具选入将新的画图工具选入 DCDC 中替换旧的工具 返回旧的画图工具指针 中替换旧的工具 返回旧的画图工具指针 P88 P88 TextOut TextOut CDCCDC 类中用于显示文字的函数 原型类中用于显示文字的函数 原型 BOOLBOOL TextOut intTextOut int x intx int y consty const CStringCString str str X X 为文字在客户区显示的水平位置 为文字在客户区显示的水平位置 y y 为文字显示的垂直位置 为文字显示的垂直位置 strstr 为要显示的文字 为要显示的文字 绘图模式 绘图模式 SetROP2 intSetROP2 int nDrawMode nDrawMode P91 P91 TEXTMETRIC TEXTMETRIC 存储字体信息 存储字体信息 GetTextMetics GetTextMetics 获取字体信息 获取字体信息 P96 P96 练习题练习题 4 24 2 在在 MFCMFC 中中 CDCCDC 的派生类有哪几个 试说出他们的作用的派生类有哪几个 试说出他们的作用 答 答 CClientDCCClientDC 应用在除 应用在除 WM PAINTWM PAINT 消息之外的消息处理函数中 提供窗口客户区的设备消息之外的消息处理函数中 提供窗口客户区的设备 坏境描述 坏境描述 CMetaFileDCCMetaFileDC 代表 代表 WindowsWindows 图元文件的设备描述环境 在创建于设备无关的并且可以回放图元文件的设备描述环境 在创建于设备无关的并且可以回放 的图像时使用这个类型的的图像时使用这个类型的 DC DC CPaintDCCPaintDC 在 在 WM PAINTWM PAINT 消息的处理函数消息的处理函数 OnDrawOnDraw 中使用的窗口用户区的设备描述环境中使用的窗口用户区的设备描述环境 CWindowDCCWindowDC 提供在整个窗口内 不只是用户区 绘图的设备描述环境 提供在整个窗口内 不只是用户区 绘图的设备描述环境 第五章第五章 P97P97 CPointCPoint 其类的对象用于描述一个平面上的点 其类的对象用于描述一个平面上的点 CPointCPoint intint initX initX intint initYinitY 和和 CPointCPoint POINTPOINT initPtinitPt CRectCRect 其类的对象用于描述一个矩形 其类的对象用于描述一个矩形 CRect intCRect int l intl int t intt int r intr int b b 和和 CRect constCRect const RECTstrRect CSize CSize 描述一个矩形区域的大小描述一个矩形区域的大小 CSizeCSize intint initCXinitCX intint initCYcleinitCYcle 和 和 CSizeCSize SIZESIZE initSizeinitSize CStringCString 封装了对字符串的处理方法 封装了对字符串的处理方法 CString CString 和和 CStringCString constconst unsignedunsigned charchar psz psz 102102 视图中访问文档数据 视图中访问文档数据 GetDocumentGetDocument 获取文档类的指针 获取文档类的指针 例例 5 35 3 见源码见源码 P104 P104 练习题练习题 5 15 1 解释下列语句的含义 解释下列语句的含义 1 1 CStringCString s s 构造一个长度为构造一个长度为 0 0 的字符串对象 的字符串对象 2 2 CStringCString s Hello s Hello VisualVisual C C 6 0 6 0 构造一个名称为构造一个名称为 s s 的字符串对象 并把字的字符串对象 并把字 符串初始化为符串初始化为 Hello VisualHello Visual C C 6 06 0 3 3 CStringCString s A 100 s A 100 构造一个名称为构造一个名称为 s s 的字符串对象 的字符串对象 s s 字符串的内容是字符串的内容是 100100 个个 A A 4 4 CStringCString s buffer 100 s buffer 100 构造一个名称为构造一个名称为 s s 的字符串对象 的字符串对象 s s 字符串的内容是字符串的内容是 bufferbuffer 的头的头 100100 个字符 再加一个个字符 再加一个 NULLNULL 5 5 CStringCString s anotherCString s anotherCString 构造一个名称为构造一个名称为 s s 的字符串对象 的字符串对象 s s 字符串的内容和字符串的内容和 anotherCStringanotherCString 字符串的内容相同 字符串的内容相同 5 25 2 执行执行 CStringCString s CString Hello s CString Hello world Left 6 CString Visualworld Left 6 CString Visual C C Right 3 Right 3 语句后 语句后 s s 字符串中的内容是什么字符串中的内容是什么 答 答 Hello Hello C C 和和 C C 间有空格间有空格 5 35 3 现有语句现有语句 CStringCString s My name is C s My name is C 如想将如想将 s s 字符串中的字符串中的 号全部更新为号全部更新为 将如何编写语句 将如何编写语句 答 答 s Replace s Replace pDC TectOut 1 1 s pDC TectOut 1 1 s 第六章第六章 P105P105 文档视图结构文档视图结构 单文档界面 单文档界面 SDISDI 多文档界面 多文档界面 MDIMDI InvalidateRect InvalidateRect 刷新指定区域的视图 函数原型刷新指定区域的视图 函数原型 BOOLBOOL InvalidateRect CONSTInvalidateRect CONST RECTRECT lpRect BOOL lpRect BOOL bErase lpRectbErase lpRect 为无效矩形区域 若为无效矩形区域 若 bErasebErase 为为 falsefalse 则则 lpRectlpRect 区域有效 区域有效 即刷新时不需要重绘 若即刷新时不需要重绘 若 bErasebErase 为为 truetrue 则则 lpRectlpRect 区域无效 即刷新时需要重绘 区域无效 即刷新时需要重绘 OnDraw OnDraw 对应用程序窗口的客户区进行重绘 对应用程序窗口的客户区进行重绘 UpdateAllViews UpdateAllViews 函数原型函数原型 voidvoid UpdateAllViews CView UpdateAllViews CView pSender LPARAMpSender LPARAM lHintlHint 0L CObject 0L CObject pHintpHint NULL NULL pSenderpSender 指向修改文档的视图 如果所有视图被更新 则设指向修改文档的视图 如果所有视图被更新 则设 为为 NULLNULL lHintlHint 包含文档被修改的信息 包含文档被修改的信息 pHintpHint 指向一个存储修改信息的的对象 指向一个存储修改信息的的对象 该函数该函数 把文档被修改的信息通知给每个视图 视图中参数把文档被修改的信息通知给每个视图 视图中参数 pSenderpSender 指定的情况除外 指定的情况除外 P121 P121 练习题练习题 6 16 1 应用程序的界面有哪三种方式 应用程序的界面有哪三种方式 答 答 单文档界面 多文档界面 基于对话框界面 单文档界面 多文档界面 基于对话框界面 6 26 2 分别说明什么是分别说明什么是 SDISDI 界面的程序和什么是界面的程序和什么是 MDIMDI 界面的程序 界面的程序 答 答 用户使用应用程序时 如果该程序一次只能打开一个文档 那么就是用户使用应用程序时 如果该程序一次只能打开一个文档 那么就是 SDISDI 界面的程序 界面的程序 反之就叫做反之就叫做 MDIMDI 界面的程序 界面的程序 第七章第七章 P124P124 用户区鼠标消息 鼠标在客户区产生的消息叫做客户区鼠标消息 用户区鼠标消息 鼠标在客户区产生的消息叫做客户区鼠标消息 非用户区鼠标消息 在非客户区产生的消息叫做非客户区鼠标消息 非用户区鼠标消息 在非客户区产生的消息叫做非客户区鼠标消息 常用用户区鼠标消息 表常用用户区鼠标消息 表 7 17 1 鼠标消息响应函数的掩码 表鼠标消息响应函数的掩码 表 7 27 2 MK CONTROLMK CONTROL鼠标按键被按下的同时 鼠标按键被按下的同时 CtrlCtrl 键亦被按下键亦被按下 MK LBUTTONMK LBUTTON鼠标按键被按下的同时 鼠标左键亦被按下鼠标按键被按下的同时 鼠标左键亦被按下 MK MBUTTONMK MBUTTON鼠标按键被按下的同时 鼠标中键亦被按下鼠标按键被按下的同时 鼠标中键亦被按下 MK RBUTTONMK RBUTTON鼠标按键被按下的同时 鼠标右键亦被按下鼠标按键被按下的同时 鼠标右键亦被按下 MK SHIFTMK SHIFT鼠标按键被按下的同时 鼠标按键被按下的同时 ShiftShift 键亦被按下键亦被按下 非用户区鼠标消息 表非用户区鼠标消息 表 7 37 3 WM NCLBUTTONDBLCLKWM NCLBUTTONDBLCLK WM NCLBUTTONDOWNWM NCLBUTTONDOWN WM NCLBUTTONUPWM NCLBUTTONUP WM NCMOUSEMOVEWM NCMOUSEMOVE WM NCRBUTTONDBLCLKWM NCRBUTTONDBLCLKWM NCRBUTTONDOWNWM NCRBUTTONDOWN WM NCRBUTTONUPWM NCRBUTTONUP SetCapture SetCapture 捕获鼠标消息函数 一旦被调用 则应用程序窗口将是鼠标消息的唯一去 捕获鼠标消息函数 一旦被调用 则应用程序窗口将是鼠标消息的唯一去 处 处 ReleaseCapture ReleaseCapture 释放鼠标消息 使鼠标可以按系统预定的正常方式发送消息 释放鼠标消息 使鼠标可以按系统预定的正常方式发送消息 131131 虚拟码 表虚拟码 表 7 47 4 WindowsWindows 一般按键消息 表一般按键消息 表 7 57 5 WM CHARWM CHAR 当敲击键盘的字符键时 产生该消息 当敲击键盘的字符键时 产生该消息 WM KEYDOWNWM KEYDOWN 任何键按下时都产生该消息 如果按下的是字符键 在产生任何键按下时都产生该消息 如果按下的是字符键 在产生 WM KEYDOWNWM KEYDOWN 时还时还 产生产生 WM CHAR WM CHAR 顺序顺序 WM KEYDOWN WM KEYDOWN WM KEYUPWM KEYUP WM CHARWM CHAR WM KEYUPWM KEYUP 任何键 包括字符键 释放时都产生该消息 任何键 包括字符键 释放时都产生该消息 WM SETFOCUSWM SETFOCUS 应用程序窗口获得输入焦点时发出此消息 应用程序窗口获得输入焦点时发出此消息 WM KILLFOCUSWM KILLFOCUS应用程序窗口失去输入焦点时发出此消息 应用程序窗口失去输入焦点时发出此消息 P137 P137 练习题练习题 7 17 1 鼠标消息分哪两类 它们之间有什么区别 鼠标消息分哪两类 它们之间有什么区别 答 答 根据产生鼠标消息是鼠标光标的位置 鼠标消息分为 客户区鼠标消息和非客户区鼠根据产生鼠标消息是鼠标光标的位置 鼠标消息分为 客户区鼠标消息和非客户区鼠 标消息两类 在应用程序窗口中 用户可以绘图的部分叫做客户区或者用户区 而除此之标消息两类 在应用程序窗口中 用户可以绘图的部分叫做客户区或者用户区 而除此之 外的区域叫做非客户区 鼠标在客户区产生的消息叫做客户区鼠标消息 在非客户区产生外的区域叫做非客户区 鼠标在客户区产生的消息叫做客户区鼠标消息 在非客户区产生 的消息叫做非客户区鼠标消息 的消息叫做非客户区鼠标消息 7 27 2 常用的用户区鼠标消息有哪些 常用的用户区鼠标消息有哪些 答 答 WM LBUTTONDBLCLKWM LBUTTONDBLCLK WM LBUTTONDOWNWM LBUTTONDOWN WM LBUTTONUPWM LBUTTONUP WM MOUSEMOVEWM MOUSEMOVE WM RBUTTONDBLCLKWM RBUTTONDBLCLKWM RBUTTONDOWNWM RBUTTONDOWN WM RBUTTONUPWM RBUTTONUP 7 47 4 如何安全地接收应用程序窗口以外的鼠标消息 如何安全地接收应用程序窗口以外的鼠标消息 答 答 在在 WindowsWindows 中 声明了一个专门用来捕获鼠标消息的函数中 声明了一个专门用来捕获鼠标消息的函数 CWndCWnd SetCapture SetCapture 该函数该函数 一旦被调用 则所有的鼠标消息都将发送往应用程序的窗口中 在捕获鼠标消息并完成了一旦被调用 则所有的鼠标消息都将发送往应用程序的窗口中 在捕获鼠标消息并完成了 所有该做的工作后 应用程序应该及时释放鼠标 以使鼠标可以按系统预定的正常方式发所有该做的工作后 应用程序应该及时释放鼠标 以使鼠标可以按系统预定的正常方式发 送消息 否则将是鼠标的一些正常作用失效 释放鼠标要使用 送消息 否则将是鼠标的一些正常作用失效 释放鼠标要使用 ReleaseCapture ReleaseCapture 7 77 7 键盘消息分为哪几类 哪些键只产生按键消息 不会产生字符消息 键盘消息分为哪几类 哪些键只产生按键消息 不会产生字符消息 答 答 键盘消息分为 按键消息和字符消息两类 按键消息分为系统按键消息键盘消息分为 按键消息和字符消息两类 按键消息分为系统按键消息 WM SYSKEYDOWNWM SYSKEYDOWN WM SYSKEYUPWM SYSKEYUP 和非系统按键消息 和非系统按键消息 WM KEYUPWM KEYUP WM KEYDOWNWM KEYDOWN 字符消息 字符消息 同样分为系统按键消息 同样分为系统按键消息 WM SYSKEYDOWNWM SYSKEYDOWN WM SYSKEYUPWM SYSKEYUP 和非系统按键消息 和非系统按键消息 WM KEYUPWM KEYUP WM KEYDOWNWM KEYDOWN 系统按键消息只能产生系统字符消息 非系统按键消息只能产 系统按键消息只能产生系统字符消息 非系统按键消息只能产 生非系统的字符消息 生非系统的字符消息 7 87 8 在程序中如何确定窗口何时具有输入焦点 何时失去输入焦点 在程序中如何确定窗口何时具有输入焦点 何时失去输入焦点 答 答 当应用程序的窗口获得输入焦点时 会发出当应用程序的窗口获得输入焦点时 会发出 WM SETFOCUSWM SETFOCUS 消息 而当窗口失去输入焦消息 而当窗口失去输入焦 点时 会发出点时 会发出 WM KILLFOCUSWM KILLFOCUS 消息 消息 第八章第八章 P140 P140 MFCMFC 工程中资源头文件工程中资源头文件 Resource hResource h 资源描述文件 扩展名资源描述文件 扩展名 rcrc 菜单的定义 关键字菜单的定义 关键字 MENUMENU POPUPPOPUP MENUITEMMENUITEM IDR MAINFRAMEIDR MAINFRAME MENUMENU PRELOADPRELOAD DISCARDABLEDISCARDABLE 菜单菜单 IDID 菜单菜单 立即加载菜单立即加载菜单 当程序不需要时 菜单可丢弃当程序不需要时 菜单可丢弃 BEGINBEGIN POPUPPOPUP 文件文件 将位图对象与位图资源绑定将位图对象与位图资源绑定 CreateCompatibleDC CreateCompatibleDC 创建兼容的创建兼容的 DCDC SelectObject SelectObject 将位图选入兼容将位图选入兼容 DCDC 中中 BitBlt BitBlt 显示位图显示位图 BOOLBOOL BitBlt intBitBlt int nXDest intnXDest int nYDest intnYDest int nWidth intnWidth int nHeight HDCnHeight HDC hdcSrc inthdcSrc int nXSrc intnXSrc int nYSrc DWORDnYSrc DWORD dwRop dwRop nXDestnXDest 指定目标矩形区域左上角的指定目标矩形区域左上角的 X X 轴逻辑坐标 轴逻辑坐标 nYDestnYDest 指定目标矩形区域左上角的指定目标矩形区域左上角的 Y Y 轴逻辑坐标 轴逻辑坐标 nWidthnWidth 指定源和目标矩形区域的逻辑宽度 指定源和目标矩形区域的逻辑宽度 nHeightnHeight 指定源和目标矩形区域的逻辑高度 指定源和目标矩形区域的逻辑高度 hdcSrchdcSrc 指向源设备环境的句柄 指向源设备环境的句柄 nXSrcnXSrc 指定源矩形区域左上角的指定源矩形区域左上角的 X X 轴逻辑坐标 轴逻辑坐标 nYSrc nYSrc 指定源矩形区域左上角的指定源矩形区域左上角的 Y Y 轴逻辑坐标 轴逻辑坐标 目标矩形为位图要在客户区中显示的区域 源矩形为位图的显示区域 目标矩形为位图要在客户区中显示的区域 源矩形为位图的显示区域 P158 P158 练习题练习题 8 18 1 在在 WindowsWindows 应用程序中 什么样的数据成为资源 常用资源有哪些 应用程序中 什么样的数据成为资源 常用资源有哪些 答 答 资源是一种数据 在应用程序启动后 它们仍然驻留在硬盘上的课执行文件中 只是资源是一种数据 在应用程序启动后 它们仍然驻留在硬盘上的课执行文件中 只是 在应用程序需要时 才从课执行文件中读取它们 在应用程序需要时 才从课执行文件中读取它们 常用的资源有菜单 图标 快捷键 位图等 常用的资源有菜单 图标 快捷键 位图等 8 38 3 程序运行时 用户选中一个菜单项 会发出哪种消息 根据什么来判断消息源 程序运行时 用户选中一个菜单项 会发出哪种消息 根据什么来判断消息源 答 答 用户选中菜单项是 会发出用户选中菜单项是 会发出 WM COMMANDWM COMMAND 消息 系统根据菜单的标识消息 系统根据菜单的标识 IDID 来识别是哪一来识别是哪一 个菜单项发出的消息 个菜单项发出的消息 第九章第九章 P159P159 CFileCFile 类类 CArchiveCArchive 类类 P183 P183 练习题练习题 9 59 5 设计永久性类的时候必须使用哪两个宏 设计永久性类的时候必须使用哪两个宏 答 答 宏宏 DECLARE SERIALDECLARE SERIAL 和和 IMPLEMENT SERIALIMPLEMENT SERIAL 9 79 7 如何使类具有序列化能力 如何使类具有序列化能力 答 答 类必须满足一下三个条件 类必须满足一下三个条件 1 1 从从 CObjectCObject 类或其他派生类派生 并重写类或其他派生类派生 并重写 Serialize Serialize 函数 函数 2 2 必须在类声明文件中使用序列化声明宏必须在类声明文件中使用序列化声明宏 DECLARE SERIAL DECLARE SERIAL 在类实现文件中使用序列化在类实现文件中使用序列化 实现宏实现宏 IMPLEMENT SERIAL IMPLEMENT SERIAL 3 3 必须定义一个无参数的构造函数 以满足动态创建对象的需要 必须定义一个无参数的构造函数 以满足动态创建对象的需要 第十章第十章 P185P185 控件类派生自控件类派生自 CWndCWnd 类类 CStaticCStatic 派生路径 派生路径 CObject CCmdTarget CWnd CStaticCObject CCmdTarget CWnd CStatic CButtonCButton 派生路径
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 老干部健康知识培训课件
- 热点10 突变和基因重组-高考生物专练(新高考专用)
- 2023年1月国开电大法学本科《国际法》期末纸质考试试题及答案
- 老人血栓保健知识培训课件
- 《高速卷绕头》征求意见稿编制说明
- 配电知识现场培训课件
- 2025版金融服务行业流动资金贷款合同
- 配电相关专业知识培训课件
- 2025年危险品运输安全培训承包合作协议
- 2025版智能化国内货物公路运输服务合同规范
- 马克思主义政治经济学第7章剩余价值的分配
- 成品出货检验报告模板
- 2023年中考语文一轮复习:语段综合专项练习题汇编(含答案)
- 香豆素抗凝血药华法林及其类似物的合成
- 长江上游黄河上中游地区天然林资源保护工程实施方案
- GB/T 5453-1997纺织品织物透气性的测定
- GB/T 14315-2008电力电缆导体用压接型铜、铝接线端子和连接管
- 农民工工资表(模板)
- 《室内空间设计》第三章课件
- 学习《北方民族大学学生违纪处分规定(修订)》课件
- 装配式建筑设计专篇(word6)
评论
0/150
提交评论