16 题
1 填空题
(1) 项目工作区般集成开发环境左侧展示项目方面分ClassViewResourceViewFileView
(2) 编译程序快捷键Ctrl+F7链接程序快捷键F7运行程序快捷键 Ctrl+F5
(3) 项目工作区文件扩展名 dsw
(4) 应程序导AppWizard作 帮助户步步生成新应程序动生成应程序需基代码 通 ClassWizard 增加消息映射成员变量
(5) 菜单选择通两种方法进行:种 鼠标操作 种键盘操作
(6) 编译微型条工具栏右边钮功 InsertRemove Breakpoint
(7) 快捷键菜单相关资源资源符号前缀IDR_
(8) 户通项目工作区窗口ResourceView视图查资源
2 选择题
(1) 项目文件扩展名( )
A exe B dsp C dsw D cpp
(2) 设置断点默认方式( )(第2章)
A Location B Data C Message D Breakpoints
(3) 应程序导AppWizard创建C++源文件应选择( )选项卡
A Files B Projects C Workspaces D Other Documents
(4) Standard工具栏中左边钮( )菜单命令功样
A New B New File C New Text File D New Workspace
(5) Windows资源提供资源编辑器编辑( )
A 菜单 B 工具栏 C 状态栏 D 位图
3 判断题
(1) 开项目需开应项目工作区文件 ( T )
(2) 户通Tools | Customize菜单命令设置集成开发环境工具栏 ( T )
(3) 通应程序导AppWizard建立程序立执行 ( F )
(4) 项目中Visual C++部标识资源资源符号重复 ( T )
(5) Windows环境资源程序源代码紧密相关 ( F )
4 简答题
(1) 什项目 什组成
Visual C++集成开发环境中实现程序设计功组相互关联C++源文件资源文件支撑文件类集合称项目项目Visual C++ IDE开发程序基单位项目少包含项目文件项目文件扩展名dsp项目文件保存项目中源代码文件资源文件信息文件名路径等时项目文件保存项目编译设置等信息调试版(debug)发布版(release)外根项目类型项目包含源文件资源文件类文件
(2) 解释项目工作区中视图功
ClassView显示项目中定义类ResourceView显示项目中包含资源文件FileView 显示创建项目
(3) WizardBar工具栏作什?
WizardBar工具栏ClassViewClassWizard中命令进行快速访问类成员函数操作更加方便WizardBar会动踪户程序文
(4) 简述项目添加资源方法
户通Insert菜单中选择Resource菜单项创建新资源单击Resource菜单项弹出Insert Resource话框首先话框左侧选择资源类型然根具体情况单击右侧钮资源需时创建单击New钮开相应资源编辑器中创建资源资源文件已存单击Import钮Import Resource话框中选择资源文件然单击Import钮
25 题
1填空题
(1) MFC全称 Microsoft Foundation Class
(2) Windows基 事件 消息驱动系统
(3) 句柄Windows种重复整数标识应程序中象
(4) 利MFC AppWizard[exe]创建三种类型应程序 单文档文档基话框应程序
(5) 单文档MFC应程序框架般包括5类分 应程序类框架窗口类视图类文档类 文档模板类
(6) Windows消息3种类型 标准Windows消息控件消息命令消息
(7) MFC采 消息映射 处理消息
(8) CWinApp提供4成员函数实现传统SDK应程序WinMain( )函数完成工作
2选择题
(1) Windows应程序( )非序机制运行
A.事件→消息→处理
B.消息→事件→处理
C.事件→处理→消息
D.
(2) 面( )MFC应程序外观选项
A.Docking toolbar B.Contextsensitive Help
C.ActiveX Controls D.Printing and print preview
(3) MFC类列描述中( )错误
A.应程序类CWinAppCWinThread子类
B.窗口类CWnd提供MFC中窗口类基功
C.CViewCWnd类子类
D.CDocTemplate类Template类子类
(4) 列( )MFC消息映射机制关宏
A.DECLARE_MESSAGE_MAP( )宏
B.BEGIN_MESSAGE_MAP( )宏
C.DECLARE_SERIAL( )宏
D.END_MESSAGE_MAP( )宏
3判断题
(1) 窗口Windows应程序基操作单元应程序户间交互接口环境系统理应程序基单位 ( t )
(2) Windows应程序消息驱动 (t )
(3) Windows应程序MFC AppWizard[exe]导创建 ( f )
(4) MFC AppWizard[exe]导创建应程序框架时导生成文件名类名更改 ( f )
(5) 消息映射消息处理函数处理特定消息连接起种机制 (t )
(6) 命令消息菜单项工具栏钮快捷键等户界面象发出WM_COMMAND消息 ( t )
(7) 利MFC编程时消息消息处理函数添加必须采ClassWizard类导完成 ( f )
(8) WinMain函数Windows应程序入口 ( t )
(9) 快捷键F9设置断点取消断点 ( t )
(10)调式程序时会时出现Variable窗口Watch窗口 ( t )
4简答题
(1) 简述MFC应程序执行程
MFC应程序启动时首先创建应程序象theApp时动调应程序类构造函数初始化象theApp然应程序框架调MFC提供WinMain( )函数WinMain( )函数中首先通调全局函数GetApp( )获取theApp指针pApp然通该指针调theApp成员函数InitInstance( )初始化应程序应程序初始化程中时构造文档模板产生初文档视图框架窗口生成工具栏状态栏InitInstance( )函数执行完毕WinMain( )函数调成员函数 Run( )进入消息处理循环直函数Run( )收WM_QUIT消息MFC首先调CWinApp类成员函数ExitInstance( )然调静态象析构函数包括CWinApp象退出应程序控制权交操作系统
初始化应程序收WM_PAINT消息框架会动调视图类OnDraw()函数绘制程序客户区窗口时应程序基窗口已生成应程序准备接收系统户消息便完成户需功果消息队列中消息WM_QUIT消息消息分发窗口函数便通MFC消息映射宏调指定象消息处理函数果消息队列中没消息函数Run( )调函数OnIdle( )进行空闲时间处理
(2) 简述文档视图类象关系
MFC应程序中文档类视图类户常两类间密切相关文档/视图体系结构MFC应程序框架结构基石定义种程序结构种结构利文档象保存应程序数视图象控制视图显示数文档视图关系关系说文档中数方式显示MFC类CDocumentCView中文档视图提供基础结构CWinAppCFrameWnd类CDocumentCView程序片段连起文档视图类象关系图示
(3) 简述MFC消息映射机制
MFC采消息映射处理消息种消息映射机制包括组消息映射宏Windows消息消息处理函数联系起MFC应程序框架提供消息映射功CCmdTarget类派生出类够拥消息映射
(4) 消息WM_LBUTTONDOWN消息映射宏消息处理函数什?
消息WM_LBUTTONDOWN消息映射宏ON_WM_LBUTTONDOWN( ) 消息处理函数OnRButtonDown()
(5) 定义消息?发送定义消息?
Windows消息值分4段:0x0000~0x03FF消息值范围段Windows系统消息0x0400~0x7FFF段户定义窗口消息0x8000~0xBFFF段Windows保留值0xC000~0xFFFF段应程序字符串消息
常量WM_USER(0x0400)第定义消息值相应户必须消息定义相WM_USER偏移值利#define语句直接定义消息示:
#define WM_USER WM_USER+3 定义消息WM_USER
调窗口消息注册函数RegisterWindowMessage( )定义Windows消息系统分配消息整数值该函数原型:
UINT RegisterWindowMessage(LPCTSTR lpString)
中参数lpString定义消息名调成功返回该消息ID值
发送定义消息消息采函数SendMessage( )函数(文中未讲清楚)
37 题
1.填空题
(1) Windows引入GDI目实现 设备关性
(2) DOS字符方式输出文Windows 图形 方式输出
(3) 体现Windows设备关性应程序输出面称 设备环境 虚拟逻辑设备
(4) MFC应程序中获DC方法两种:种 接受参数指CDC象指针种声明 MFC设备环境类象 this 指针该象赋值
(5) Windows COLORREF 类型数存放颜色实际 32 位整数采3参数表示红绿蓝分量值3值取值范围0~255
(6) 库存象操作系统维护绘制屏幕常象包括库存画笔画刷字体 等
(7) 利CGdiObject类成员函数CreateStockObject( ) GDI象设置成指定库存象
(8) 创建画笔必须调CDC类成员函数SelectOject( ) 创建画笔选入前设备环境
(9) 默认情况输出文时字体颜色 黑色 背景颜色 白色 背景模式 透明模式
(10) 创建画笔方法两种种 定义画笔象时直接创建种先定义没初始化画笔象调CreatePen( )函数创建指定画笔
2.选择题
(1) 面( )MFC设备环境类CDC类派生类
A.GDI 类 B.CPaintDC类 C.CClientDC类 D.CWindowDC类
(2) 面( )GDI象
A.CFont类 B.CPalette类 C.CClientDC类 D.CBitmap类
(3) 列描述中( )错误
A.CreatePointFont( )CFont类提供创建函数
B.SetTextAlign( )函数改变文齐方式
C.函数GetTextMetrics( )获选字体中指定字符串宽度高度
D.DrawText( )函数定矩形区域输出文
(4) 列( )MFC CDC类中常文输出函数
A.TextOut( ) B.DrawText( ) C.ExtTextOut( ) D.ExtDrawText( )
3.判断题
(1) CDC类MFC设备环境类基类 ( t )
(2) CClientDC代表整窗口设备环境 ( f )
(3) CPenCFont均GDI象 ( t )
(4) 深绿色RGB值(01280) ( t )
(5) 删CPen象调CPen象DeleteObject( )函数 ( f )
(6) 创建阴影画刷函数CreateHatchBrush( ) ( t )
(7) 默认齐方式TA_LEFT| TA_BOTTOM ( f )
(8) DDB称GDI位图赖具体设备存存中 ( t )
4.简答题
(1) GDI创建种类型图形输出?
应程序GDI创建3种类型图形输出:矢量图形光栅图形文
(2) 什设备环境?功?
设备环境DC称设备描述表设备文设备环境DCGDI创建代表设备连接数结构DC功种:
l 允许应程序输出设备
l 提供Windows应程序设备驱动输出设备间连接
l 保存前信息例前画笔画刷字体位图等图形象属性颜色背景等影响图形输出绘图模式
l 保存窗口剪切区域(Clipping Region)限制程序输出输出设备中窗口覆盖区域
(3) 什GDI什功?MFCGDI函数封装类中?
GDIWindows提供图形设备接口抽象接口GDI负责理户绘图操作时功转换功实现设备关性MFCGDI函数封装CDC类中
(4) 请叙述设备关性含义实现设备关性需环节?
谓设备关性指操作系统屏蔽硬件设备差异户编程时般须考虑设备类型种类显示器印机然实现设备关性重环节设备驱动程序设备根身特点(分辨率色彩数目)提供相应驱动程序图描述Windows应程序绘图程
(5) MFC提供种设备环境类?什途?
MFC提供设备环境类包括CDCCPaintDCCClientDCCWindowDC CMetaFileDC等中CDC类MFC设备环境类基类MFC设备环境类CDC类派生类设备环境类功表示
设备环境类
功描述
CDC
设备环境类基类GDI绘图函数进行封装直接访问整显示器非显示设备(印机等)文
CPaintDC
CPaintDC响应窗口重绘消息(WM_PAINT)绘图输出仅客户区进行操作非客户区进行操作
CClientDC
代表窗口客户区设备环境般响应非窗口消息客户区绘图时
该类
CWindowDC
代表整窗口设备环境包括客户区非客户区非绘制窗口边框钮否般
CMetaFileDC
代表Windows图元文件设备环境Windows图元文件包括系列图形设备接口命令通重放命令创建图形CMetaFileDC象进行种绘制操作记录图元文件中
(6) 简述传统SDK获取设备环境方法
传统SDK获取设备环境方法两种WM_PAINT消息处理函数中通调API函数BeginPaint( )获取设备环境消息处理函数返回前调API函数EndPaint( )释放设备环境果绘图操作WM_PAINT消息处理函数中需通调API函数GetDC( )获取设备环境调API函数ReleaseDC( )释放设备环境
(7) 简述创建定义画笔步骤
果设备环境中画笔绘图首先需创建指定风格画笔然选择创建画笔原画笔
(8) 简述采MFC方法编程时显示DDB位图步骤
采MFC方法编程时显示DDB位图需执行步骤
l 声明CBitmap类象LoadBitmap( )函数位图装入存
l 声明CDC类象CreateCompatibleDC( )函数创建显示设备环境兼容存设备环境
l CDCSelectObject( )函数位图象选入设备环境中保存原设备环境指针
l 利CDC相关输出函数输出位图
l CDCSelectObject( )函数恢复原设备环境
46 题
1 填空题
(1) 常见菜单类型菜单弹出菜单快捷菜单3种
(2) Visual C++中快捷键ID属性外两属性: 键
类型
(3) 基话框应程序运行时 没 菜单栏
(4) MFC中工具栏功类 CToolBar 实现
(5) 调CToolBar类成员函数CToolBarCreate( )CreateEx( ) 创建初始化工具栏窗口象
(6) 设置工具栏停特性需调 EnableDocking( ) 函数
(7) 状态栏实际窗口般分 窗格 显示信息
(8) MFC中状态栏功 CStatusBar 类实现
(9) 状态栏显示容数组 indicators 决定需状态栏中显示窗格 标识符位置数
(10) CStatusBar类成员函数 SetPaneInfo() 设置定索引值窗格ID风格宽度成员函数 SetPaneText() 更新窗格文
2 选择题
(1) 编辑某菜单项时指明该菜单项弹出式子菜单必须选择属性话框中( )
A.Separator B.Popup C.Inactive D.Grayed
(2) 鼠标箭头钮暂停时显示工具栏钮提示必须设置工具栏风格( )
A.CBRS_TOOLTIPS B.CBRS_FLYBY
C.CBRS_NOALIGN D.WS_VISIBLE
(3) MFC应程序框架状态栏定义静态数组indicators放文件( )中
A.MainFrmcpp B.MainFrmh C.stdAfxcpp D.stdAfxh
(4) 列关菜单叙述中确( )
A.&字符作字符加划线
B.\t 转移字符表示快捷键右齐显示
C.定义菜单项ID系统菜单项ID相
D.选中菜单项属性话框中Separator指明菜单项水线分隔条
3 判断题
(1) 菜单项定义快捷键需菜单项属性设置话框Caption文框中说明
( f )
(2) 弹出快捷菜单般出现鼠标箭头位置 ( t )
(3) UPDATE_COMMAND更新命令户接口消息 ( t )
(4) 工具栏停特性设置次 ( t )
(5) 状态栏功CStatusBar类实现 ( t )
(6) CMenu类CToolBar类CStatusBar类根基类相 ( t )
4 简答题
(1) 简述菜单设计步骤
菜单设计般需面两步:
l 菜单编辑器编辑菜单资源
l ClassWizard进行消息映射编辑成员函数完成菜单实现功
(2) 应程序创建快捷菜单方法?
应程序创建快捷菜单两种方法:
l Component Gallery创建快捷菜单
l TrackPopupMenu( )函数创建快捷菜单
(3) 动态创建菜单?
动态创建菜单分3步骤
l 利CreateMenu( )函数创建空弹出式菜单
l 调AppendMenu( )InsertMenu( )函数菜单中加入菜单项
l 调函数SetMenu( )加载动态菜单
(4) 创建工具栏基步骤?
创建工具栏基步骤:
l 创建工具栏资源
l 构建CToolBar象
l 调CToolBarCreate( )CreateEx( )函数创建工具栏窗口
l 调CToolBarLoadToolBar()载入工具栏资源
(5) 简述MFC创建状态栏做工作
首先构造CToolBar类象然调CToolBarCreate( )CreateEx( )函数创建工具栏窗口调CToolBarLoadToolBar( )函数载入工具栏资源
57 题
1填空题
(1) 话框功输出信息接收户输入
(2) 话框工作方式话框分模态话框非模态话框两种类型
(3) 话框话框模板资源话框类两部分组成
(4) DoModal()函数创建模式话框Create()函数创建非模式
话框
(5) 支持属性页话框MFC提供CPropertySheet类CPropertyPage类
2选择题
(1) 话框功封装( )类中
A CWnd B CDialog C CObject D CCmdTarget
(2) ( )非模式话框
A查找话框 B字体话框 C段落话框 D颜色话框
(3) 模式话框屏幕显示需函数( )
A Create B DoModal C OnOK D 构造函数
(4) 通常话框初始化工作( )函数中进行
A OnOK B OnCancel C OnInitDialog D DoModal
(5) ( )通话框类开文件
A CFileDialog B CColorDialog C CPrintDialog D CFontDialog
3简答题
(1) 简述创建模态话框步骤
l 话框编辑器创建包含控件话框模板资源
l MFCCDialog中派生出类负责话框行
l 利ClassWizard类先前产生话框资源连接起
l 话框初始化
l 创建话框象调CDialogDoModal()函数开话框
(2) 话框模板资源添加控件?添加控件关联成员变量?
话框资源中增加控件操作十分方便需控件工具栏中选中增加控件控件拖动话框模板中确定位置松开鼠标键添加控件调整控件位置操作Word中文框操作完全样
利ClassWizard类导Member Variables页面话框类添加话框控件关联成员变量Member Variables页面中双击ID选定ID单击Add Variable钮弹出Add Member Variable话框Member variable name框输入成员变量名Category拉框选择成员变量类
(3) 什DDXDDV?编程时MFC提供DDX功?
DDX话框数交换成员变量话框控件相连接完成数成员变量控件间交换DDV话框数验证动校验输入数否符合设计求需通ClassWizard话框类添加话框控件关联成员变量MFC提供DDX功
(4) 简述创建属性页话框步骤
l 设计话框资源分页创建话框模板页模板具相尺寸果尺寸统框架根尺寸页确定属性页话框
l ClassWizard页创建新类加入控件应成员变量
l 开属性页话框
611 题
1填空题
(1) Windows系统提供标准控件包括静态控件编辑框钮列表框组合框滚动条等
(2) Windows标准控件属性设置通常GeneralStyleExtend Styles三属性页构成
(3) 编辑框中文已修改新文显示发送EN_CHANGE通知消息
(4) CButton类控件包括键钮单选钮复选框组框等4种类型
(5) 组单选钮话框类中映射int类型值变量应单选钮组中序号序号0开始
(6) 列表框增加列表项CListBox类成员函数AddStringInsertString
(7) 组合框控件组合包括编辑框列表框钮
(8) —旋转钮控件通常相伴控件起控件称伙伴窗口该控件Tab键次序必须旋转钮
(9) 滑块滑动时滑块控件发送滚动消息通知父窗口垂直滑块发送WM_VSCROLL消息水滑块发送WM_HSCROLL消息
(10) MFCCProgressCtrl类封装进度条控件种操作该类成员函数SetRange()设置进度条范围
2简答题
(1) 应程序中访问控件方法?
应程序访问控件般3种方法:
l 利话框数交换功访问控件
l 通控件象访问控件
l 利CWnd类理控件成员函数访问控件
(2) 单选钮控件成组?
组单选钮放组框控件中组中第单选钮设置Group属性
(3) 组合框列表框相什?组合框添加初始列表项?
列表框列出种选项户列表框中输入新列表项组合框仅显示列表项供户进行选择允许户输入新列表项
通组合框控件属性话框Data选项卡添加初始列表项
77 题
1填空题
(1) 文档视图结构中文档理组织数视图作显示编辑文档数文档视图关系关系
(2) 文档视图应程序中文档模板负责创建文档视图结构应程序象理文档模板应程序InitInstance()函数中创建文档模板
(3) 通常情况视图派生类成员函数中通调GetDocument()函数前文档象指针
(4) 文档类数成员初始化文档清理工作分OnNewDocument()成员函数DeleteContents()成员函数中完成
(5) MFC提供两种集合类种基模板集合类种非模板集合类
(6) MFC应程序通CDocumentprotected类型成员变量m_bModified逻辑值判断程序员否文档进行修改程序员通CDocumentSetModifiedFlag()成员函数设置该值
(7) MFC AppWizard创建文档应程序框架时已文档类中重载Serialize()函数通该函数中添加代码达实现文档序列化目
(8) 调create()成员函数创建动态分割窗口静态分割窗口调CreateStatic()成员函数创建
2简答题
(1) 通成员函数完成文档视图间相互作?简述成员函数功
文档视图交互通面成员函数完成:
l 视图类CView成员函数GetDocument()
该函数相关联文档象指针利指针访问文档类派生类公数成员成员函数
l CDocument类成员函数UpdateAllViews()
该函数通知文档相关联部分试图更新窗口容
l 视图类成员函数OnUpdate()
应程序调CDocumentUpdateAllViews()函数时实际调相关视图OnUpdate()函数更新相关视图需时直接视图派生类成员函数中调该函数刷新前视图外初始化视图成员函数CViewOnInitialUpdate()中调OnUpdate()函数
l CView类OnInitialUpdate()函数
应程序启动户文件菜单中选择新建开命令时CViewOnInitialUpdate()函数会调该函数虚函数CViewOnInitialUpdate()函数调OnUpdate()函数外做事情
利派生类OnInitialUpdate()函数视图象进行初始化
(2) 简述文档序列化般文件处理区
般文件处理通文件句柄实现磁盘输入输出文件句柄磁盘文件相关联文档序列化般文件处理:序列化中象身读写负责CArchive类象知道需知道读写数部结构CArchive类象读写CFile类象中序列化数提供种安全缓机制间形成关系:
Serialize()函数 CArchive类象 CFile类象 磁盘文件
见序列化程序员直接面物理文件进行文档读写
(3) 户定义类支持序列化?
户定义类支持序列化必须满足5条件:
l CObject类派生样派生类具RTTI(Runtime type information)Dynamic Creation等功
l 类声明部分必须DECLARE_SERIAL宏宏需1参数:类名称
l 类实现部分必须IMPLEMENT_SERIAL宏宏需3参数:类名称二基类名称三版号
l 重新定义Serialize( )虚函数够适类成员变量写入文件中
l 类加默认构造函数果象文件MFC必须先动态创建没参数情况调构造函数然文件中读取象数
85 题
1填空题
(1) MFC通CView类提供印功印预览功
(2) 印程中CPrintInfo类作框架窗口CView类间传递消息
(3) CPrintInfo类中成员变量m_nCurPage表示前印预览页号成员函数SetMaxPage( )设置文档印页数
(4) Windows操作系统中存两种类型坐标:设备坐标逻辑坐标
(5) 映射模式影响输出设备显示图形尺寸子Windows缺省映射模式MM_TEXT该映射方式中逻辑单位应设备素
(6) MFC应程序中通调CDC类SetMapMode()函数设置映射方式
(7) 果程序支持页印功首先印前设置印页数然设置页视图原点印坐标
(8) 般OnBeginPrinting()函数中设置印页数OnPrepareDC()函数中通调CDC类成员函数SetViewPortOrg( )设置前页视图原点坐标
2简答题
(1) 印屏幕显示异?
相点:MFC应程序中印屏幕显示终通调视图类OnDraw()函数完成OnDraw()函数指CDC类象指针参数该象代表接收OnDraw()函数输出设备文代表显示器显示设备文代表印机印设备文
点:窗口显示文档容时视图窗口收WM_PAINT消息程序框架调OnPaint()函数OnPaint()函数会调OnDraw()函数时传递OnDraw()函数设备文参数显示设备文OnDraw()函数绘制结果会输出显示器进行印时印印预览OnPrint()函数会调OnDraw()函数时传递OnDraw()函数设备文参数印机设备文OnDraw()函数绘制结果会输出印机
(2) 印屏幕显示时输出容?
两种方法:
l 分OnPaint()OnPrint()两函数中完成屏幕输出印输出工作必赖OnDraw()函数
l OnDraw()函数中调pDC>IsPrinting()设置变量识目前进行输出工作区
(3) 印预览印异?
相点:MFC应程序中印屏幕显示终通调视图类OnDraw()函数完成
点:印预览印应程序利屏幕模拟印机输出程进行印时传递OnDraw()函数设备文参数印机设备文实现印预览功MFC类库CDC类中派生出CPreviewDC类进行印预览时传OnDraw()函数指CPreviewDC象指针般CDC类中保存两套相设备描述表CPreviewDC类保存两套设备描述表中属性设备描述表指印机输出设备描述表指屏幕
(4) MM_LOMETRIC映射方式特点?
MM_LOMETRIC映射方式逻辑单位映射0l mm MM_LOMETRIC坐标系统Y轴方默认MM_TEXT相反
(5) 简述添加印页眉页脚程序代码步骤
添加印页眉页脚程序代码分两步进行:
l OnPrint()函数中利CPrintInfo*pInfo成员变量m_rectDraw设置印页印区域
l m_rectDraw范围外印页眉页脚
95 题
1填空题
(1) Windows库类型静态链接库 动态链接库
(2) DLL中般定义导出函数部函数两种类型函数中导出函数外部程序调
(3) DLL含入口函数DllMain()编写应程序必须main()WinMain()函数样该函数作初始化DLL卸载时清理DLL
(4) Visual C++ 60支持种DLL包括非MFC DLLMFC常规DLLMFC扩展DLL
(5) 非MFC DLL部MFC导出函数标准C接口非MFCMFC编写应程序调
(6) MFC规DLL部MFC应程序接口MFCC函数者C++类
(7) MFC扩展DLL功实现现MFC类库中派生出重类
(8) MFC DLL中导出函数常模块定义文件关键字_declspec(dllexport)两种方法者仅导出函数导出完整类
(9) DEF文件包含EXE文件DLL文件声明文文件DEF文件少必须包含LIBRARY语句EXPORTS 语句
(10) 应程序DLL链接方式隐式链接显式链接
(11) 应程序分AfxLoadLibrary()AfxFreeLibrary()函数加载释放MFC扩展DLL
(12) MFC扩展DLL关键字_declspec(dllexport) 导出类外宏AFX_EXT_CLASS导出类
2简答题
(1) 什动态链接库?静态链接库区?生成动态链接库应放目录应程序?
动态链接库种执行文件(包括EXE文件DLL)提供享函数库静态链接库区应程序链接方式前者进行动态链接者进行静态链接
生成动态链接库必须位面4目录中:
l 前目录
l Windows系统目录Windows\system
l Windows目录WINNT
l 环境变量PATH中指定目录
(2) Visual C++支持种DLL?选择选择DLL类型?
Visual C++支持种DLL包括:
l 非MFC DLL
l MFC常规DLL(MFC Regular DLL)
l MFC扩展DLL(MFC Extension DLL)
选择种DLL类型方面考虑:
果DLL需MFC非MFC DLL选择果需创建MFCDLL希MFC非MFC应程序创建DLL选择MFC常规DLL果希DLL中实现MFC派生重类者希应程序DLL间传递MFC派生象时必须选择MFC扩展DLL
(3) MFC常规DLL实际包含两方面含义?
MFC常规DLL实际包含两方面含义方面MFC意味着种DLL部MFC方面常规意味着MFC扩展DLLMFC规DLL部然MFC应程序接口MFCC函数者C++类
(4) MFC DLL中导出函数?
MFC DLL中导出函数常两种方法
第种模块定义文件(DEF)DEF文件常模块语句:
(1) 第语句必须LIBRARY语句语句指出DLL名字链接器名字放DLL导入库(import library)中DLL导入库包含指外部DLL函数索引指针
(2) EXPORTS 语句列出导出函数名字 导出函数数值(@号数字构成)序数值省略 编译器(Compiler)会导出函数指定样指定值指定明确
(3) DESCRIPTION语句描述DLL途语句省略
(4) 开头注释语句
AppWizard创建MFC DLL时AppWizard创建DEF文件框架动添加项目中建立DLL时链接器DEF文件创建导出文件(EXP)导入库文件(LIB)然导出文件创建DLL文件
种方法定义函数时关键字_declspec(dllexport)种情况需DEF文件导出函数形式:
declspec(dllexport) <返回类型> <导出函数名>(<函数参数>)
(5) 应程序DLL链接方式两种?间区?
应程序DLL链接方式两种:隐式链接显式链接
隐式链接称静态加载指DLL应程序先链接编译DLL时生成导入库LIB文件执行应程序时系统加载需DLL应程序退出前DLL直存该程序运行进程址空间中
显式链接称动态加载显式链接DLL应程序必须代码中动态加载DLL指针调DLL中导出函数完毕应程序必须卸载DLL显式链接非常明显处应程序运行程中决定需加载DLL
106 题
1填空题
(1) 进程线程操作系统概念进程操作系统分配资源单位线程操作系统分配处理器基单元
(2) VC++带工具Spy++观察操作系统理进程线程
(3) 进程少线程该线程系统创建
(4) 般全局变量定义消息进行线程间通信
(5) 常步象界区互斥信号量事件
(6) 步类需手动头文件Afxmth加应程序中
(7) CSingleLock类成员函数Lock()请求获界区
(8) CEvent 类象工事件动事件两种类型
2简答题
(1) 什进程?什线程?什区联系?
进程线程操作系统概念进程应程序执行实例操作系统分配资源单位进程私虚拟址空间代码数种系统资源组成进程运行程中创建资源着进程终止销毁系统资源进程终止时释放关闭线程操作系统分配处理器基单元进程部独立执行单元
进程没活力静态概念程序运行时系统动创建进程系统创建进程实际启动执行该进程线程线程函数址形式(般 main()WinMain()函数)程序启动点提供操作系统线程终止进程终止
进程少线程需户动创建系统动创建户根需应程序中创建线程线程发运行进程中进程中线程该进程虚拟址空间中虚拟址空间全局变量系统资源
(2) MFC中线程两种类型?区?创建?
MFC中两类线程分称工作者线程户界面线程
创建工作者线程首先需编写希应程序余部分行运行定义函数该函数称线程函数然程序中合适方调全局函数AfxBeginThread()创建线程启动线程函数
创建户界面线程首先需CWinThread类派生新类重写派生类InitInstance()ExitInstance()Run()等函数然AfxBeginThread()函数版创建启动户界面线程
(3) 什线程函数?作什?线程函数传递参数?
线程函数新线程创建执行函数新线程实现功线程函数实现线程函数带参数LPVOID pParam创建线程AfxBeginThread()全局函数第二参数LPVOID pParam类型线程函数参数类型完全致该参数启动线程时传递线程函数入口参数
(4) 终止线程?
工作者线程线程函数执行返回语句者调AfxEndThread()成员函数时工作者线程终止户界面线程WM_QUIT消息发送消息队列中者该线程中函数调AfxEndThread()成员函数时该线程终止
般说线程终止果线程终止线程必须两线程间设置通信方式
(5) 定义消息进行通信?
Windows消息进行通讯首先需定义定义消息然需时线程中调全局函数PostMessage()线程发送定义消息
(6) 什线程步?什需步?
隶属进程线程协调致工作称线程步线程处理时线程间常时访问资源导致错误例磁盘驱动器样独占性系统资源线程执行进程代码段线程运行系统调度动完成具定确定性出现两线程时磁盘驱动器进行操作出现操作错误例银行系统计算机说线程更新户数库外线程读取数库响应储户需极读数库线程读取未完全更新数库读时候部分数更新
(7) MFC提供类支持线程步?分什场合?
MFC提供步类步辅助类支持线程步类适场合表示
类 名
说 明
步象基类CSyncObject
纯虚类Win32中步象提供通性
界区类CCriticalSection
时间仅线程允许修改数某控制资源时保护享资源
互斥类CMutex
应(进程)时存取相应资源时保护享资源
信号类CSemaphore
应允许时线程访问相应资源时功资源计数
事件类CEvent
某线程必须等某事件发生存取相应资源时协调线程间动作
步辅助类CSingleLockCMultiLock
线程程序中控制资源访问时间需等步化象时CSingleLock否CMultiLock
(8) CSemaphore类实现线程步?
CSemaphore类实现线程步两种法
方法:单独CSemaphore象步骤:
l 定义CSemaphore类全局象(线程均访问)
l 访问界区前调CSemaphore类成员Lock()获界区
l 线程中访问界区中享资源
l 访问界区完毕CSemaphore成员函数UnLock()释放界区
方法二:步辅助类CSingleLockCMutiLock类起步骤(类CSingleLock例):
l 定义CSemaphore类全局象critical_section
l 访问界区前定义CSingleLock类象critical_section址传送构造函数
l CSingleLock类成员函数Lock()请求获界区
l 线程中访问界区中享资源
l 调CSingleLock类成员函数UnLock()释放界区
116 题
1 填空题
(1) MFCODBC类包括5类分CDatabase类CRecordset类 CRecordView类 CFieldExchange类 CDBException类 中CRecordset类户实际程中关心
(2) CDatabase类作建立数源连接
(3) CRecordset类功表记录进行操作许功添加记录删记录修改记录查询记录等直接数源中表映射CRecordset类象方便户操作
(4) CRecordView作 显示数库记录利话框数交换机制DDX记录集表单视图控件间传输数
(5) 利CRecordset类成员函数AddNew() 添加条新记录利CRecordset类成员函数MoveFirst() 记录指针移动第条记录利CRecordset类成员函数 Update() 完成保存记录功
(6) CRecordset类中提供两公数成员m_strFilterm_strSort分设置记录查找排序
(7) ADO象模型提供7种象分 连接象 命令象 记录集象 域象 参数象 属性象 错误象
(8) Visual C++中ADO开发数库前需#import引入ADO语句格式: #import c\Program Files\common files\system\ado\msado15dll no_namespace rename(EOFadoEOF)
(9) ADO开发数库时常三智指针:_ConnectionPtr _CommandPtr_RecordsetPtr
(10) Connection象ConnectionString属性表示连接数库字符串CursorLocation属性指定光标引擎位置
2.简答题
(1) Visual C++中提供访问数库技术?特点?
Visual C++中提供ODBCDAOOLE DBADO等访问数库技术
l ODBC
ODBC应程序访问关系数库时提供标准基SQL统接口数库ODBC提供套统API应程序利提供API访问提供ODBC驱动程序数库ODBC已成种标准目前关系数库提供ODBC驱动程序ODBC应非常广泛基关系数库
ODBC种底层访问技术ODBC API客户应程序底层设置控制数库完成高层数库技术法完成功
直接ODBC API编写应程序需编制量代码Visual C++60提供MFC ODBC类中封装ODBC APIMFC创建ODBC应程序非常简单
l DAO
DAO提供种通程序代码创建操作数库机制DAO类似AccessVisual Basic编写数库应程序微软公司Jet数库引擎形成系列数访问象:数库象表查询象记录集象等象协工作
DAO支持4数库选项:开Access数库文件(*mdb文件)直接开ODBC数源Jet引擎开ISAM (索引序访问方法)类型数源外部表附属Access数库
MFC DAO微软公司提供访问Microsoft Jet数库文件(*mdb)强力数库开发工具通DAO封装程序员提供DAO丰富操作数库手段
l OLE DB
OLE DBVisual C++开发数库应中提供新技术基COM接口OLE DB文件系统包括关系型数库非关系型数库提供统接口特性OLE DB技术传统数库访问技术更加优越
ODBC技术相似OLE DB属数库访问技术中底层接口直接OLE DB设计数库应程序需编写量代码
l ADO
ADO技术基OLE DB访问接口继承OLE DB技术优点ADOOLE DB接口进行封装定义ADO象程序开发简化ADO技术属数库访问高层接口
(2) 注册ODBC数源?
面Visual FoxPro 60数库StudentDBdbc例注册ODBC数源步骤
l 双击ODBC图标进入ODBC数源理器里户设置ODBC数源信息中户DSN选项卡中户定义计算机数源名
l 单击添加钮弹出创建新数源话框新数源选择数库驱动程序Visual FoxPro60数库选择Microsoft Visual FoxPro Driver单击完成钮
l ODBC Visual FoxPro Setup话框中该数源起简短名称应程序该名称指定数库连接ODBC数源配置建议起名称反映出该数库途者该数库应程序名称类似该例该数源命名Student编辑框中输入该数库说明
l 指定数库位置单击Browse钮出现Select Database文件选择话框定位选择StudentDBdbc文件
l 单击开钮完成数库选择ODBC Visual FoxPro Setup话框中单击OK钮完成数源创建单击ODBC数源理器话框中确定钮退出数源理器
(3) 简述MFC ODBC进行数库编程基步骤
Visual C++创建MFC ODBC数库应程序需步骤:
l 准备数库
l 系统数源理器中注册数源
l AppWizard创建基数库应程序
l 基数库应程序中添加代码实现特定数库功
(4) 什动态记录集快集?根区什?
动态集户做更改保持步记录集快集数静态视图根区:动态集中滚动条记录时户应程序中记录集该记录做更改会相应显示出快集会
(5) CRecordset类成员函数进行记录编辑添加删等操作时操作效?
编辑添加删时必须遵循特定步骤正确结果
编辑改前记录应该列步骤进行:
l 调Edit()成员函数
调该函数进入编辑模式程序修改域数成员注意空记录集中调Edit()否会产生异常
l 设置域数成员新值
l 调Update()完成编辑
Update()变化记录写入数源结束编辑模式
记录集中添加新记录应该列步骤进行:
l 调AddNew()成员函数
调该函数进入添加模式该函数域数成员设置成NULL
l 设置域数成员
l 调Update()
Update()域数成员中容作新记录写入数源结束添加
果记录集快添加新记录需调Requery()函数重新查询快法反映添加操作
删记录集前记录应面两步进行:
l 调Delete()成员函数
该函数会时记录集数源中前记录加删标记注意空记录集中调Delete()函数否会产生异常
l 滚动记录跳删记录
记录集进行更新前程序先调CanUpdate()函数CanAppend()函数判断记录集否更新果更改记录集中进行修改添加删导致异常产生
(6) CRecordset类成员函数Requery()两重途?
Requery()两重途:
l 记录集反映户数源改变
l 新查找条件排序方法查询记录重新建立记录集
(7) 简述MFCODBC应程序中DDXRFX数交换机制
图显示MFCODBC应程序中DDXRFX数交换机制:
(8) 简述ADO进行数库编程基步骤
ADO进行数库编程列基步骤:
l 引入ADO库
l 初始化COM环境
l ADO数库连接
l 操作数库
l 断开连接
l 释放COM环境
124 题
1 填空题
(1) Windows提供3特殊播放声音高级音频函数:MessageBeep()PlaySound()sndPlaySound()中MessageBeep()函数播放系统报警声音
(2) Visual C++提供媒体应程序开发部件Windows Multimedia library加入该部件应程序中运行库winmmlib头文件mmsystemh
(3) MCI媒体控制接口Microsoft提供组媒体设备文件标准接口
(4) MCI MCI_PLAY命令消息设备播放媒体文件
(5) 应程序中MCIWnd窗口类必须调MCIWnd函数源文件前面添加vfwh头文件
2.简答题
(1) 简述利高级音频函数播放声音文件步骤
答:利高级音频函数播放声音文件需面3步骤:
l 引头文件数媒体函数引必须系统中包含头文件mmsystemh该文件包含关媒体函数原型数结构相关常数定义
l 链接媒体函数库winmmlib绝数媒体函数存独立媒体函数中必须应程序中予说明
l 应程序中写入执行媒体调代码
(2) 简述调PlaySound()函数播放声音文件方法
答:调PlaySound()函数播出声音文件面3种方法
第种方法直接播出声音文件相应代码:
PlaySound(c\\Windows\\media\SoundwavNULL SND_FILENAME|SND_ASYNC)
第二种方法声音文件加入资源中然资源中播放声音Visual C++支持 WAVE型资源户资源视图中单击鼠标右键选择Import命令然文件选择话框文件类型选择框中选择Wave File(*wav)文件然文件选择框中选择SoundwavSoundwav文件加入WAVE资源中缺省时声音资源IDIDR_WAVE1面调会播出该声音:
PlaySound(MAKEINTRESOURCE(IDR_WAVE1)AfxGetInstanceHandle() SND_RESOURCE|SND_ASYNC)
第三种方法PlaySound()函数播放系统声音Windows启动声音 SystemStart定义系统声音面方法播放启动声音:
PlaySound(SystemStartNULLSND_ALIAS|SND_ASYNC)
(3) 简单较命令字符串接口mciSendString()命令消息接口mciSendCommand()
命令字符串接口mciSendString()具简单易学优点种接口CC++风格相距甚远果程序查询设置量数字符串形式方便命令消息接口mciSendCommand()提供C语言接口速度更快更符合CC++程序员需
(4) 什ActiveX控件?特点?
答:ActiveX技术建立微软COM技术COM接口交互模型ActiveX控件容器进行完全缝集成ActiveXActiveX容器ActiveX服务器ActiveX控件等组成ActiveX控件组封装COM象中功模块COM象独立单独运行ActiveX控件ActiveX容器中运行Visual C++Visual Basic应程序ActiveX控件ocx文件扩展名插入许程序中作程序身部分
(5) 简述程序中添加ActiveX控件步骤
答:面话框应程序中添加Calendar Control80控件例说明程序中添加ActiveX控件具体步骤
l MFC AppWizard[exe]创建新话框应程序
l AppWizard第二步保留ActiveX Controls复选框选中状态应程序标题设ActiveX Controls
l 生成应程序外壳删控件
l Visual C++菜单中选择Project|Add To Project|Components and Controls开Components and Controls Gallery话框
l Components and Controls Gallery话框中找Registed ActiveX Controls文件夹显示已注册AxtiveX控件
l 选中添加控件Calendar Control80控件单击Insert钮提问否项目中插入该控件时单击消息框中OK钮
l Confirm Classes话框中单击OK钮添加指定C++类
l Components and Controls Gallery话框中单击Close钮完成项目添加控件工作
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档