MFC期末考试资料.docx

上传人:b****5 文档编号:3226777 上传时间:2022-11-20 格式:DOCX 页数:99 大小:195.47KB
下载 相关 举报
MFC期末考试资料.docx_第1页
第1页 / 共99页
MFC期末考试资料.docx_第2页
第2页 / 共99页
MFC期末考试资料.docx_第3页
第3页 / 共99页
MFC期末考试资料.docx_第4页
第4页 / 共99页
MFC期末考试资料.docx_第5页
第5页 / 共99页
点击查看更多>>
下载资源
资源描述

MFC期末考试资料.docx

《MFC期末考试资料.docx》由会员分享,可在线阅读,更多相关《MFC期末考试资料.docx(99页珍藏版)》请在冰豆网上搜索。

MFC期末考试资料.docx

MFC期末考试资料

MFC期末考试资料

第1章绪论

●图形用户界面(GUI=GraphicalUserInterface)的概念、组成与优点

GUI的概念:

GraphicalUserInterface=图形用户界面,是计算机的一种人机接口。

组成:

由图形显示设备(屏幕)和指示跟踪设备(鼠标、跟踪球、光笔/手写笔、触摸屏)组成,用户可通过指示设备来操作图形设备上的界面元素(窗口、菜单、对话框、图标)以完成各种工作。

优点:

与DOS等基于命令行的字符界面的OS相比,GUI形象直观、使用方便、人性化,不需记忆各种命令和参数,各种应用软件之基本功能的操作一致或相似。

有大量API供程序员调用,图形界面的编程相对DOS要简单。

●Windows的特点、GDI的概念与特点

Windows的主要特点有:

面向对象、消息/事件驱动、多任务、图形设备接口GDI与设备无关。

GDI概念:

GraphicsDeviceInterface=与设备无关的图像设备接口。

特点:

应用程序可使用同一函数,可在不同的打印机和显示器上输出同一个图形。

●Windows编程的特点

1.面向对象的编程思想

2.消息/事件驱动的程序结构

3.资源共享与数据交换

4.与设备无关GDI编程

5..NET

●Windows编程的语言工具选择

⏹小型/应用软件VisualBasic

⏹大型/系统软件VisualC++

⏹通用/数据库软件Delphi(Pascal)/PowerBuilder

⏹网络/安全软件Java

⏹Web/XML软件Java/VisualC#

●WindowsAPI编程的步骤、入口函数和程序结构

SDK(SoftwareDevelopmentKit软件开发工具包)

API(ApplicationProgramInterface应用程序接口)

步骤:

Ø运行VS

Ø创建新项目

Ø编写源代码(也可以直接将已有的源文件加到项目中)

Ø编译、连接并运行

入口函数:

intWINAPIWinMain(

HINSTANCEhInstance,//handletocurrentinstance

HINSTANCEhPrevInstance,//handletopreviousinstance

LPSTRlpCmdLine,//pointertocommandline

intnCmdShow//showstateofwindow

);

窗口类结构:

typedefstruct_WNDCLASS{

UINTstyle;

WNDPROClpfnWndProc;

intcbClsExtra;

intcbWndExtra;

HANDLEhInstance;

HICONhIcon;

HCURSORhCursor;

HBRUSHhbrBackground;

LPCTSTRlpszMenuName;

LPCTSTRlpszClassName;

}WNDCLASS;

●MFC的概念、特点与优势

MFC的概念:

MicrosoftFoundationClassLibrary=微软基础类库,是WindowsAPI的C++类封装,用于VC的Windows编程。

MFC封装了WindowsSDK的结构、功能、应用程序框架等内部技术,屏蔽了重复繁琐的实现细节,简化了程序员的工作。

●主要的MFC类及其功能

(1)根类CObject

CObject类可提供下列基础服务:

●序列化(Serialization把对象存入文件/从文件中提取对象)支持

●在运行时的类信息(识别对象的类型)

●对象诊断信息输出

●与类组(collectionclasses)的兼容性

(2)应用程序构架类(ApplicationArchitectureClasses)

CCmdTarget(命令目标)类是MFC中所有可接收和响应消息对象类的基类,CWinApp、CDocument和CWnd都是从它派生的。

●CWinApp(Windows应用程序)类是应用程序的入口主程序类(其中封装并隐藏了WinMain函数),负责初始化和运行应用程序。

●CDocument(文档)类对应于用户文件,支持对文件的创建、装入和保存。

●CWnd(窗口)类是所有窗口的基类。

(3)窗口类CWnd

CWnd类是从CCmdTarget类派生的窗口基类,它封装了一个窗口句柄,定义了消息处理机制,并提供了操作窗口所必须的成员函数。

(4)图形绘制对象类CGdiObject

CGdiObject类(图形设备接口对象)提供大量GDI函数,可用于其各种派生类中,如:

CPen(画笔)、CBrush(画刷)、CFont(字体)、CBitmap(位图)、CPalette(调色板)、CRng(绘图区域)

(5)设备上下文类CDC

设备上下文(DC=Device-Context设备环境/设备描述表)是由GDI管理的数据结构,直接从CObject派生的CDC是DC的封装,保存着(显示/打印)设备的属性和绘图工具,并提供了多种简单图形的绘制函数。

(6)其他类

直接从CObject派生的常用类还有:

CFile(文件)、CMenu(菜单)。

不是从CObject派生的独立类中常用的有:

CArchive(存档)、CPoint(点)、CRect(矩形)、CSize(尺寸)、CString(串)、CTime(时间)等

●最简单的MFC程序

//Hello.cpp

#include//MFC头文件

classCHelloApp:

publicCWinApp{//应用程序类

virtualBOOLInitInstance();//初始化实例虚函数

};

BOOLCHelloApp:

:

InitInstance(){//初始化应用程序实例的成员函数

CFrameWnd*pFrmWnd=newCFrameWnd();//创建框架窗口对象

pFrmWnd->Create(NULL,L"Helloworld!

");//创建框架窗口

m_pMainWnd=pFrmWnd;//将该框架窗口作为应用程序的主窗口

pFrmWnd->ShowWindow(m_nCmdShow);//显示主窗口

returnTRUE;

}

CHelloApptheApp;//唯一的CSHelloApp对象

第2章界面程序设计

●Windows操作系统的基本界面元素

Windows是一种具有GUI的操作系统,GUI包括:

窗口、菜单、对话框和控件等基本界面元素,及MFC提供的工具栏和状态栏等组合控件,还有键盘、鼠标等消息响应与事件驱动。

●菜单设计的一般步骤

1:

打开菜单编辑器

2:

编辑菜单

3:

联接菜单快捷键

4:

响应菜单项

●动态灰化/禁止/激活菜单项

可用CMenu的成员函数

UINTEnableMenuItem(UINTnIDEnableItem,UINTnEnable);

来灰化/禁止/激活菜单项。

其中

●参数nEnable可取值:

MF_DISABLED、MF_ENABLED或MF_GRAYED,及与2)中类似的参数MF_BYCOMMAND或MF_BYPOSITION

●参数nIDEnableItem的含义与取值同2)中的

●返回值:

为调用此函数时菜单项的激活状态,可为MF_DISABLED、MF_ENABLED或MF_GRAYED。

若指定的菜单项不存在,则返回0xFFFFFFFF(-1)

afx_msgvoidOnUpdateNameLs(CCmdUI*pCmdUI);

ON_UPDATE_COMMAND_UI(ID_NAME_LS,OnUpdateNameLs)

voidCStudentView:

:

OnUpdateNameLs(CCmdUI*pCmdUI){

pCmdUI->Enable(FALSE);

pCmdUI->SetCheck(TRUE);

}

(独立的)CCmdUI类的常用成员函数有:

virtualvoidEnable(BOOLbOn=TRUE);//禁止/激活

virtualvoidSetCheck(intnCheck=1);//已选中/未选中

virtualvoidSetText(LPCTSTRlpszText);//设置菜单项文本串

●工具条与状态条的概念、组成与功能

工具条/栏(toolbar)和状态条/栏(statusbar)是构建友好GUI程序的通用标准,但它们并不是WindowsAPI的标准部件,而是由应用程序框架(MFC)增加的一类控件。

工具条是CToolBar类的对象,状态条是CStatusBar类的对象,这两个类都是控制条(栏)CControlBar的派生类,而CControlBar类又是从CWnd类派生的

工具条由若干可分组的图形按钮组成,在应用程序中单击一个按钮后,会像菜单项和快捷键一样发送一个命令消息(一般对应于一个菜单项消息)。

可以响应UI消息来改变按钮状态和图形。

状态条既不接受用户输入,也不产生命令消息,只能显示提示/状态信息和其他文本串。

状态条窗口由若干文本窗格(pane)组成,窗格分成两类:

消息行窗格和状态指示窗格。

若想在状态条中显示应用程序数据,则必须禁用标准的状态条。

●对话框的分类,各类对话框的特点

(1)模式对话框与无模式对话框

  按工作方式不同,可将对话框分成两类:

  模式对话框(modaldialogbox模态对话框):

在关闭模式对话框之前,该程序不能进行其他工作(如“打开文件”对话框)

  无模式对话框(modelessdialogbox非模态对话框):

模式对话框打开后,该程序仍然能够进行其他工作(如“查找与替换”对话框)

(2)公用对话框与用户对话框

  按编程方式不同,还可将Windows对话框分成两类:

  公用对话框(commondialogboxes通用/公共对话框):

Windows提供的一组标准用户接口对话框,包括文件、颜色、字体、查找替换、页面设置、打印等对话框。

公用对话框的资源与处理代码被封装在动态连接库文件comdlg32.dll中,该文件一般放在Windows系统安装目录下的system32子目录中,可供所有的Win32应用程序调用。

 用户对话框(userdialogbox):

用户自己创建的对话框,对话框的资源与处理代码都由程序员自己来编写。

●创建和使用自定义用户模式对话框的主要步骤

⏹创建对话框资源:

使用对话框编辑器创建对话框资源(如添加各种控件,调整控件的大小与位置,设置控件的ID与内容)

⏹创建对话框类:

使用“MFC类向导”对话框创建CDialog的派生类,并将它与已经创建对话框资源ID相关联

⏹添加类变量:

使用“添加成员变量向导”对话框向派生的对话框类中添加成员变量

⏹添加消息处理:

使用“事件处理程序向导”为对话框中的(按钮和编辑框等可生成事件的)控件添加消息处理函数,编写处理代码

⏹初始化:

在用户对话框类的OnInitDialog函数中,对对话框中的控件做初始化设置,主要是设置应用程序的各种输入和选择参数的初值

⏹接受用户输入:

在用户对话框类的OnOK虚拟成员函数(用户按对话框中的“确定”钮[IDOK]退出对话框时调用)中,编写

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 畜牧兽医

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1