预览加载中,请您耐心等待几秒...
在线预览结束,喜欢就下载吧,查找使用更方便
如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
本文由bbbyyy22贡献
ppt1。
第1章
C++编程基础VisualC++编程基础
教学目标
了解Windows编程基础了解Windows编程基础:消息和事Windows编程基础:
资源管理、设备独立性等概件、资源管理、设备独立性等概念了解MFC类的
基础知识了解MFC类的基础知识MFC熟练掌握用向导建立应用程序框架明确MFC应
用程序结构明确MFC应用程序结构MFC
C++程序设计电子教案程序设计》王明福编《VisualC++程序设计》电子教案
王明福编
教学内容
Windows编程概念1.1Windows编程概念MFC基础1.2MFC基础第一个MFCMFC
应用程序1.3第一个MFC应用程序1.4应用程序分析
返
回
Windows编程概念1.1Windows编程概念
Windows程序设计是基于事件驱动,程序的运行是由事件的发生来控制的。消息
驱动机制是Windows程序设计的精髓。1.1.1事件与消息当用户按下一个键、移动鼠
标或单击鼠标按钮时,计算机通知Windows系统已经发生了一个事件,以及事件的种
类、发生的时间和发生的位置(如坐标值)。事件以如下三种方式产生:●通过输
入设备,如键盘和鼠标,产生硬件事件。●通过屏幕上可视的对象,如菜单、工具
栏按钮、滚动条和对话框上的控件。●来自Windows内部,例如,当一个后面的窗
口显示到前面来。Windows消息是在Windows.h文件中用宏定义的常数。消息常数名通
常为WM_XXX,例如,WM_WUIT、WM_CHAR。例如:当用户单击鼠标左键时,将发送WM
_LBUTTONDOWN消息,而双击则发送WM_LBUTTONDBLCLK消息。
1.1.2消息驱动
DOS程序是由一系列预先定义好的操作序列的组合,具有一定的开头、中间过程
和结束,也就是程序直接控制程序事件和过程的顺序。它的基本模型如图1-1(a)所示
。事件驱动的程序设计不是由事件的顺序来控制,而是由事件的发生来控制,而这
种事件的发生是随机的、不确定的,并没有预定的顺序。它在程序设计过程中除了完
成所需功能之外,更多地考虑了用户的各种输入,并根据需要设计相应的处理程序。
程序开始运行时,处于等待用户输入事件状态,然后取得事件并作出相应反应,处理
完毕又返回并处于等待事件状态。如图1-1(b)所示。
1.1.3消息响应函数
返
回
消息响应函数是用于处理特定消息的一些代码。例如,当用户点击某菜单项时
,希望程序弹出一个口令对话框,那么,只要在相应的消息处理函数中编写弹出一个
口令对话框的代码。
1.1.4资源管理
程序员设计任何应用程序均将涉及到诸如菜单、对话框、消息框以及按钮等标
准格式数据。Windows将这些数据保存在资源文件中,程序员可通过编辑工具编辑、
修改这些资源文件,使其提供所需的菜单或按钮,并将其放入设计的程序之中。
1.1.5设备独立性
设备独立性或称设备无关性。在编程时,程序员不必关心诸如打印机、鼠标、
键盘、显示器、声卡、显示卡、CDROM等多种设备的类型及其驱动程序。Windows95/
98/2000提供了图形设备接口之类的各种抽象接口,使得在程序中可以通过调用标准
函数与硬件交互,这些函数通过设备环境的数据结构,由Windows操作系统将其映射
到相应的物理设备,而程序员则无需了解其提供的操作设备的各种指令。
返
回
page1
MFC基础1.2MFC基础
VC++已集成了MFC库,VC++资源编辑器、AppWziard和ClassWizard明显降低了应
用程序编码的时间。AppWziard为整个应用程序生成框架代码,同时ClassWizard为消
息处理程序生成原型和函数体。
1.2.1MFC类库简介
MFC(MicrosoftFoundationClass)类库是用来编写Windows应用程序的C++类
集,封装了大部分WindowsAPI函数,所以使用MFC类库和VC++提供的高度可视化的应
用程序开发工具,使开发变得简单。MFC类库包括CObject类及其派生类以及其他类。
有这样一些重要的类(都是CObject的派生类):●应用程序类应用程序类CWinA
pp。●CWnd类及派生类CWnd类及派生类类及派生类。●CDocument及其派生类CD
ocument及其派生类及其派生类。●FileServices●GraphicalDrawing●Gr
aphicalDrawingServices。Drawing。Objects。Menus。Objects。●Menus
●ODBCDatabase和DAODatabaseSupport。●InternetServices。等等。Se
rvices
MFC应用程序框架1.2.2MFC应用程序框架
在VC++6.0