描述
开 本: 16开包 装: 平装是否套装: 否国际标准书号ISBN: 9787030411341丛书名: 计算机类主干课程系列教材
编辑推荐
《高级Windows应用程序设计》适合全日制高等院校计算机及相关专业的学生及Windows程序设计爱好者使用。
内容简介
《高级windows应用程序设计》降低了学习windows程序设计的门槛,以Visual C++6.0中文版为平台,根据微软基础类库所提供的应用程序框架,综合介绍用于windows开发的各种组件,深入浅出地介绍windows的图形图像处理、通用
数据类、界面设计、鼠标键盘、资源设计、动态链接库、对话框、数据库应用、高级应用等知识。
数据类、界面设计、鼠标键盘、资源设计、动态链接库、对话框、数据库应用、高级应用等知识。
目 录
第1章 Windows应用程序概述 1
1.1Windows应用程序基本概念1
1.1.1Windows应用程序界面 1
1.1.2Windows应用程序与API函数2
1.1.3Windows应用程序的句柄 2
1.1.4Windows应用程序的数据类型2
1.2Windows程序设计平台开发环境 3
1.2.1Visual C++ 简介3
1.2.2创建 Win32Console 应用程序3
1.2.3创建Win32应用程序5
1.2.4创建MFC Windows应用程序 6
1.3消息映射11
1.3.1事件与消息11
1.3.2消息映射12
1.3.3消息处理12
1.4消息处理实例13
1.4.1鼠标消息处理的实例13
1.4.2键盘消息处理的实例15
习题1 17
实验1 高级Windows应用程序开发基础18
第2章 Windows图形绘制 20
2.1设备描述环境和图形设备接口 20
2.1.1设备描述环境20
2.1.2图形设备接口 20
2.2CDC 类21
2.3CPen 类24
2.4CBrush 类26
2.5文本和字体信息27
2.5.1文本27
2.5.2获取字体的信息29
2.6CDC类的其他派生类 30
2.6.1窗口用户区设备描述环境CClientDC类30
2.6.2图元文件设备描述环境CMetaFileDC类31
习题2 33
实验2 图形绘制34
第3章通用数据类36
3.1简单数据类36
3.1.1点类 CPoint 36
3.1.2矩形类CRect 38
3.1.3尺寸类CSize 39
3.1.4字符串类 CString 40
3.2群体数据类41
3.2.1数组类CArray 41
3.2.2链表类CList 44
3.3文档类与视图类之间的数据传递45
习题3 49
实验3 数据类 50
第4章窗口界面的设计55
4.1单文档界面55
4.2多文档界面55
4.3单文档界面窗口样式56
4.3.1在MFCAppWizard中确定窗口样式57
4.3.2在函数PreCreateWindow中修改窗口的样式58
4.3.3可拆分窗口的单文档界面61
4.4窗口的同步更新62
4.4.1可拆分窗口的同步更新62
4.4.2提高同步更新的效率65
4.5创建有滚动条的窗口 68
习题4 71
实验4 界面设计72
第5章鼠标和键盘消息73
5.1鼠标消息73
5.1.1用户区鼠标消息74
5.1.2非用户区鼠标消息77
5.1.3捕获鼠标消息78
5.2键盘消息80
5.2.1虚拟码80
5.2.2按键消息82
5.3窗口的焦点84
习题5 86
实验5 鼠标和键盘87
第6章资源88
6.1资源概述88
6.1.1资源的含义88
6.1.2资源头文件88
6.1.3资源描述文件90
6.2菜单资源90
6.2.1菜单资源的定义91
6.2.2编辑菜单92
6.2.3自定义菜单94
6.2.4菜单编辑器98
6.3快捷键表100
6.3.1快捷键表资源定义 100
6.3.2快捷键编辑器 100
6.4图标102
6.4.1图标编辑器 102
6.4.2图标资源定义 103
6.5位图104
6.5.1位图资源定义 104
6.5.2使用位图 105
习题6 108
实验6 资源109
第7章控件112
7.1标准控件112
7.1.1 控件的含义112
7.1.2 标准控件112
7.1.3 静态文本控件113
7.1.4 按钮控件113
7.1.5 编辑控件 116
7.2控件的背景颜色118
习题7 120
第8章对话框122
8.1对话框模板122
8.1.1资源描述文件对话框模板脚本 122
8.1.2对话框编辑器设计对话框 124
8.2对话框类124
8.2.1对话框类的定义 124
8.2.2对话框的类型 126
8.3对话框的数据交换129
8.3.1数据交换函数DDX 130
8.3.2进行数据交换函数DoDataExchange 130
8.3.3更新数据函数 DoDataExchange 130
8.3.4为对话框控件添加成员变量 131
8.3.5数据检验 133
8.4基于对话框的应用程序134
8.4.1对话框应用程序框架的设计 134
8.4.2对话框应用程序的消息响应函数 134
8.4.3属性页 137
习题8 140
实验7 对话框141
第9章动态链接库144
9.1链接库144
9.1.1静态链接库 144
9.1.2动态链接库 144
9.2静态链接库的创建144
9.3动态链接库的创建147
9.3.1导出函数的声明 147
9.3.2MFC动态链接库的创建151
9.4动态链接库的应用154
9.4.1隐式链接 154
9.4.2显式链接 154
习题9 156
实验8 动态链接库157
第10章数据库编程158
10.1数据库概述158
10.1.1数据模型158
10.1.2数据库和数据表的创建159
10.2MFC ODBC 操作161
10.2.1MFC ODBC 向导过程161
10.2.2ODBC数据表绑定更新167
10.2.3MFC 的 ODBC 类168
10.3MFC ODBC 常用编程172
10.3.1显示记录总数和当前记录号172
10.3.2编辑记录173
10.3.3多表处理177
习题10 182
第11章高级应用184
11.1多媒体184
11.2ActiveX 控件184
11.2.1创建一个ActiveX控件程序184
11.2.2使用 ActiveX 控件189
11.3网络应用190
11.3.1MFC对网络的支持 190
11.3.2Windows Sockets 编程190
11.3.3Winlnet 应用195
习题11 198
实验9Windows高级应用199
参考答案206
参考文献227
1.1Windows应用程序基本概念1
1.1.1Windows应用程序界面 1
1.1.2Windows应用程序与API函数2
1.1.3Windows应用程序的句柄 2
1.1.4Windows应用程序的数据类型2
1.2Windows程序设计平台开发环境 3
1.2.1Visual C++ 简介3
1.2.2创建 Win32Console 应用程序3
1.2.3创建Win32应用程序5
1.2.4创建MFC Windows应用程序 6
1.3消息映射11
1.3.1事件与消息11
1.3.2消息映射12
1.3.3消息处理12
1.4消息处理实例13
1.4.1鼠标消息处理的实例13
1.4.2键盘消息处理的实例15
习题1 17
实验1 高级Windows应用程序开发基础18
第2章 Windows图形绘制 20
2.1设备描述环境和图形设备接口 20
2.1.1设备描述环境20
2.1.2图形设备接口 20
2.2CDC 类21
2.3CPen 类24
2.4CBrush 类26
2.5文本和字体信息27
2.5.1文本27
2.5.2获取字体的信息29
2.6CDC类的其他派生类 30
2.6.1窗口用户区设备描述环境CClientDC类30
2.6.2图元文件设备描述环境CMetaFileDC类31
习题2 33
实验2 图形绘制34
第3章通用数据类36
3.1简单数据类36
3.1.1点类 CPoint 36
3.1.2矩形类CRect 38
3.1.3尺寸类CSize 39
3.1.4字符串类 CString 40
3.2群体数据类41
3.2.1数组类CArray 41
3.2.2链表类CList 44
3.3文档类与视图类之间的数据传递45
习题3 49
实验3 数据类 50
第4章窗口界面的设计55
4.1单文档界面55
4.2多文档界面55
4.3单文档界面窗口样式56
4.3.1在MFCAppWizard中确定窗口样式57
4.3.2在函数PreCreateWindow中修改窗口的样式58
4.3.3可拆分窗口的单文档界面61
4.4窗口的同步更新62
4.4.1可拆分窗口的同步更新62
4.4.2提高同步更新的效率65
4.5创建有滚动条的窗口 68
习题4 71
实验4 界面设计72
第5章鼠标和键盘消息73
5.1鼠标消息73
5.1.1用户区鼠标消息74
5.1.2非用户区鼠标消息77
5.1.3捕获鼠标消息78
5.2键盘消息80
5.2.1虚拟码80
5.2.2按键消息82
5.3窗口的焦点84
习题5 86
实验5 鼠标和键盘87
第6章资源88
6.1资源概述88
6.1.1资源的含义88
6.1.2资源头文件88
6.1.3资源描述文件90
6.2菜单资源90
6.2.1菜单资源的定义91
6.2.2编辑菜单92
6.2.3自定义菜单94
6.2.4菜单编辑器98
6.3快捷键表100
6.3.1快捷键表资源定义 100
6.3.2快捷键编辑器 100
6.4图标102
6.4.1图标编辑器 102
6.4.2图标资源定义 103
6.5位图104
6.5.1位图资源定义 104
6.5.2使用位图 105
习题6 108
实验6 资源109
第7章控件112
7.1标准控件112
7.1.1 控件的含义112
7.1.2 标准控件112
7.1.3 静态文本控件113
7.1.4 按钮控件113
7.1.5 编辑控件 116
7.2控件的背景颜色118
习题7 120
第8章对话框122
8.1对话框模板122
8.1.1资源描述文件对话框模板脚本 122
8.1.2对话框编辑器设计对话框 124
8.2对话框类124
8.2.1对话框类的定义 124
8.2.2对话框的类型 126
8.3对话框的数据交换129
8.3.1数据交换函数DDX 130
8.3.2进行数据交换函数DoDataExchange 130
8.3.3更新数据函数 DoDataExchange 130
8.3.4为对话框控件添加成员变量 131
8.3.5数据检验 133
8.4基于对话框的应用程序134
8.4.1对话框应用程序框架的设计 134
8.4.2对话框应用程序的消息响应函数 134
8.4.3属性页 137
习题8 140
实验7 对话框141
第9章动态链接库144
9.1链接库144
9.1.1静态链接库 144
9.1.2动态链接库 144
9.2静态链接库的创建144
9.3动态链接库的创建147
9.3.1导出函数的声明 147
9.3.2MFC动态链接库的创建151
9.4动态链接库的应用154
9.4.1隐式链接 154
9.4.2显式链接 154
习题9 156
实验8 动态链接库157
第10章数据库编程158
10.1数据库概述158
10.1.1数据模型158
10.1.2数据库和数据表的创建159
10.2MFC ODBC 操作161
10.2.1MFC ODBC 向导过程161
10.2.2ODBC数据表绑定更新167
10.2.3MFC 的 ODBC 类168
10.3MFC ODBC 常用编程172
10.3.1显示记录总数和当前记录号172
10.3.2编辑记录173
10.3.3多表处理177
习题10 182
第11章高级应用184
11.1多媒体184
11.2ActiveX 控件184
11.2.1创建一个ActiveX控件程序184
11.2.2使用 ActiveX 控件189
11.3网络应用190
11.3.1MFC对网络的支持 190
11.3.2Windows Sockets 编程190
11.3.3Winlnet 应用195
习题11 198
实验9Windows高级应用199
参考答案206
参考文献227
免费在线读
第1章Windows应用程序t既述
Windows是一种应用于计算机的操作系统,它为应用程序提供的多任务环境具有一致的 图形化窗口和菜单?在Windows操作系统上运行的应用程序称为Windows应用程序?本章 主要介绍如下内容:
(1) Windows应用程序的基本概念;
(2) Windows应用程序的建立;
(3) 消息的概念;
(4) 消息处理函数?
1.1 Windows应用程序基本概念
1.1.1 Windows应用程序界面
Windows是微软公司开发的一种操作系统?以Windows作为平台运行的应用程序称为 Windows应用程序?Windows应用程序的一个显著特点是它有一个美观的图形用户界面 (graphical user interface,GUI),参见图1.1.1?通过鼠标?键盘配合操作图形用户界面,大大 方便了用户对Windows应用程序的控制?仔细观察这个图形用户界面,它是由许多不同的图 形元素组成的,如图标?标题栏?菜单栏?工具栏?状态栏?窗口边界?滚动条?控制按钮等?其中 某些图形元素在接受用户的某个动作后,可以使Windows程序执行某种相应的操作?例如, 在图1.1.1中,用户通过单击菜单栏中的某个菜单项,Windows应用程序会产生一个下拉菜 单;用户通过单击工具栏中的文件打开图标的工具按钮时,Windows应用程序会弹出一个打 开对话框?
显然,这个图形用户界面是Windows应用程序与用户之间交换信息的一个“窗口”,简单的Windows应用程序只有一个窗口,复杂的Windows应用程序有多个窗口?设计一个或一 组满足用户要求的窗口,是Wind0ws应用程序设计中一项必不可少的任务?
1.1.2 Windows应用程序与API函数
Windows提供了大量可以在应用程序中调用的?用C语言编写的函数?这些由操作系统 提供,程序员可以在程序中直接调用的函数称为应用编程接口(application programming interface, API)函数.根据Windows API函数的功能,可以把它们分为以下三大类?
(1)窗口管理函数?实现窗口创建?移动和修改等功能?
()图形设备函数?实现图形的绘制和操作功能,这类函数的集合又称为图形设备接口? (3)系统服务函数?实现与操作系统有关的一些功能?
早期用来设计Windows应用程序的开发工具是软件开发工具包?用软件开发工具包来 设计Windows应用程序,实际上就是直接使用API函数来开发应用程序?由于用这种方法 来设计Windows应用程序需要编程人员记忆大量的API函数,所以用这种方法设计 Windows应用程序极其困难,从而阻碍了 Windows应用程序的推广?
自从出现了面向对象的程序设计方法后,出现“类”这种数据类型并对Windows API函数 进行了封装,从而使Windows应用程序结构和开发工具发生了巨大的变化?目前,用来设计 Windows应用程序的开发工具大多是面向对象且可视的,如Visual C++?Visual Basic? Visual Java,C+ + Builder等?由于这些可视化的开发工具大幅度地提高了 Windows程序 的开发效率,所以这些可视化开发工具得到了广泛的应用?例如,使用Visual C+ +的微软基 础类库(Microsoft foundation class,MFC)来设计Windows应用程序?作为Windows应用程 序的设计开发人员,了解不同的Windows应用程序设计的方法是必要的?
1.1.3 Windows应用程序的句柄
在Windows应用程序的窗口中,存在很多如窗口?按钮?滚动条?菜单?图标等复杂的对象 和实例?为了在Windows应用程序中区分和使用它们,必须对它们进行标识?为了区别于普 通变量的标识,Windows把这种复杂对象的标识称为句柄?不同Windows对象的句柄具有 不同的类型,常用的句柄类型见表1.1.1?
1.1.4 Windows应用程序的数据类型
Windows应用程序中的数据量非常大,为了提高程序的可读性,Windows应用程序给许 多基本数据类型定义了别名?例如:
typedef unsiged long DWORD;
typedef int BOOL;
typedef unsiged char BYTE;
typedef unsiged short WORD;
typedef float FLOAT;
typedef unsiged int UNIT;
除了这些基本数据类型的别名外,Windows应用程序还使用了一些特定结构类型的数 据?例如,下列的结构描述了一个点在窗口的位置坐标?
typedef struct tag_POINT {
LONG x;
LONG y;
} POINT;
又例如,下列的结构描述了一个矩形在窗口中的大小和位置?
typedef struct tag—RECT {
LONG left;
LONG top;
LONG right;
LONG bottom;
} RECT;
在Windows应用程序设计中,既可以使用C语言的基本数据类型,也可以使用Windows 自定义的数据类型?所有Windows自定义的数据类型的关键字都要大写?
1.2 Windows程序设计平台幵发环境
1.2.1 Visual C+ + 简介
Visual C++是Windows环境最优秀的C+ +编程环境之一,它是微软公司开发的 Visual Studio系列产品的一部分,具有集成开发环境,可以编辑C语言?C++等编程语言? VC++整合了方便的调试工具,特别是整合了 Win32 API应用程序?MFC?MicroSOft.NET 等框架?VisualC+ +支持三种类型的应用程序框架的创建?下面分别介绍如何创建控制台 应用程序?Win32应用程序和MFC Windows应用程序?
1.2.2 创建Win32 Console应用程序
打开VC ++ 6.0,在选择“文件—新建”菜单后,在“新建”对话框的“项目”选项卡中选择 “Win32 Console Application”,输人项目名称First并选择好项目位置后,单击“确定”按钮? 在如图1.2.1所示的应用程序向导中,选择其中第三项A “Hello World!” application,单击 “Finish”按钮,直接运行程序以后出现如图1.2.2所示的窗口?字符串“Hello World!”出现在 窗口中的第一行,按下任意键后窗口将会消失?
在Win32Console应用程序运行后产生的窗口中,有标题栏和垂直滚动条,没有菜单栏? 工具栏和状态栏,标题栏中的内容是可执行文件在磁盘中的存放位置?当用户单击窗口右上
角的关闭按钮时,窗口将会消失?这是一个功能比较简单的窗口?
由于控制台应用程序运行后的窗口功能比较简单,计算机用户经常把控制台应用程序看 成一种“遗物”?但是,实际上很多系统管理员和一些编程高手还是非常喜欢控制台应用程序 的?对于那些使用Visual Studio学习C/C++语言的初学者,编写控制台应用程序是必须经 历的学习阶段?
在Windows程序设计的学习过程中,部分算法的设计?开发工具的使用,仍然可以使用简 单?直观的控制台应用程序?当准备创建控制台应用程序时,在“新建项目”对话框中直接选择 “Win32 Console Application”?在图 1.2.1 的 Win32 Console 应用程序向导中,选择第一^项An empty project,创建一个空的工程?接着,选择“文件—新建”菜单,在“新建”对话框的“文 件”选项卡中选择C++ Source File?在源程序的入口函数main中需要使用大量的API函 数,来编写程序员自定义的控制台应用程序?
1.2.3 创建Win32应用程序
打开VC + + 6.0,在选择“文件—新建”菜单后,在“项目”选项卡中选择“Win32 Application”,输入项目名称Second并选择好项目位置后,单击“确定”按钮?在如图1.2.3所 示的对话框中选中“一个典型的‘Hello World!’程序”单选按钮,单击“完成”按钮,直接运行程 序以后出现如图1.2.4所示的窗口?
在如图1.24所示的窗口中,以项目名Second作为标题栏中的标题内容,并且标题内容的 左边有Win32应用程序的图标?窗口的菜单栏中有File和Help两个菜单选项?用户单击任 何一个菜单选项以后,出现一个下拉子菜单栏?窗口中没有工具栏?状态栏和滚动条,当用户 单击窗口右上角的关闭按钮时,窗口将会消失?相比于控制台应用程序运行后的窗口,Win32 应用程序运行后的窗口功能要多一些,这是因为多了一个菜单栏?
当程序员准备创建自定义的Win32应用程序时,在“项目”选项卡中选择“ Win32 Application”选择创建一个空的工程?选择“文件—新建”菜单后,在“新建”对话框的“文件” 选项卡中选择C++ SourceFile?在源程序的入口函数WinMain中需要使用大量的API函 数,来编写程序员自定义的Win32应用程序?
1.2.4 创建MFC Windows应用程序
用Visual C+ +的MFC来创建Windows应用程序窗口的步骤如下?
(1) 打开VC ++ 6.0,选择“文件—新建”菜单项,系统弹出“新建”对话框,单击“工程”选 项卡—MFC AppWizard(exe),弹出如图1.25所示的对话框?工程编辑框中输入工程的名 称,如“框架”,位置编辑框中输入保存该工程文件的路径,单击“确定”按钮?MFC应用程序 向导将通过6个步骤生成Windows应用程序框架?
(2) 在弹出的“MFC应用程序导-步骤1”对话框中,选择要创建的MFC应用程序类型,如 图1.26所示?本例中选择建立单文档应用程序,默认选中“文档/查看体系结构支持”复选 框,单击“下一步”按钮?
(3) 在弹出的“MFC应用程序向导-步骤2”对话框中,如图1.2.7所示,在询问是否要包含 数据库时,本例选择“否”单选按钮,单击“下一步”按钮,则Windows应用程序框架不能使用数 据库?如果Windows应用程序需要使用数据库,则在“MFC应用程序向导-步骤2”对话框中 选择“查看数据库使用文件支持”单选按钮,然后单击“数据源”按钮,在弹出的对话框中选择数 据库连接的数据源名称,单击“确定”按钮后回到如图1.27所示的对话框?
Windows是一种应用于计算机的操作系统,它为应用程序提供的多任务环境具有一致的 图形化窗口和菜单?在Windows操作系统上运行的应用程序称为Windows应用程序?本章 主要介绍如下内容:
(1) Windows应用程序的基本概念;
(2) Windows应用程序的建立;
(3) 消息的概念;
(4) 消息处理函数?
1.1 Windows应用程序基本概念
1.1.1 Windows应用程序界面
Windows是微软公司开发的一种操作系统?以Windows作为平台运行的应用程序称为 Windows应用程序?Windows应用程序的一个显著特点是它有一个美观的图形用户界面 (graphical user interface,GUI),参见图1.1.1?通过鼠标?键盘配合操作图形用户界面,大大 方便了用户对Windows应用程序的控制?仔细观察这个图形用户界面,它是由许多不同的图 形元素组成的,如图标?标题栏?菜单栏?工具栏?状态栏?窗口边界?滚动条?控制按钮等?其中 某些图形元素在接受用户的某个动作后,可以使Windows程序执行某种相应的操作?例如, 在图1.1.1中,用户通过单击菜单栏中的某个菜单项,Windows应用程序会产生一个下拉菜 单;用户通过单击工具栏中的文件打开图标的工具按钮时,Windows应用程序会弹出一个打 开对话框?
显然,这个图形用户界面是Windows应用程序与用户之间交换信息的一个“窗口”,简单的Windows应用程序只有一个窗口,复杂的Windows应用程序有多个窗口?设计一个或一 组满足用户要求的窗口,是Wind0ws应用程序设计中一项必不可少的任务?
1.1.2 Windows应用程序与API函数
Windows提供了大量可以在应用程序中调用的?用C语言编写的函数?这些由操作系统 提供,程序员可以在程序中直接调用的函数称为应用编程接口(application programming interface, API)函数.根据Windows API函数的功能,可以把它们分为以下三大类?
(1)窗口管理函数?实现窗口创建?移动和修改等功能?
()图形设备函数?实现图形的绘制和操作功能,这类函数的集合又称为图形设备接口? (3)系统服务函数?实现与操作系统有关的一些功能?
早期用来设计Windows应用程序的开发工具是软件开发工具包?用软件开发工具包来 设计Windows应用程序,实际上就是直接使用API函数来开发应用程序?由于用这种方法 来设计Windows应用程序需要编程人员记忆大量的API函数,所以用这种方法设计 Windows应用程序极其困难,从而阻碍了 Windows应用程序的推广?
自从出现了面向对象的程序设计方法后,出现“类”这种数据类型并对Windows API函数 进行了封装,从而使Windows应用程序结构和开发工具发生了巨大的变化?目前,用来设计 Windows应用程序的开发工具大多是面向对象且可视的,如Visual C++?Visual Basic? Visual Java,C+ + Builder等?由于这些可视化的开发工具大幅度地提高了 Windows程序 的开发效率,所以这些可视化开发工具得到了广泛的应用?例如,使用Visual C+ +的微软基 础类库(Microsoft foundation class,MFC)来设计Windows应用程序?作为Windows应用程 序的设计开发人员,了解不同的Windows应用程序设计的方法是必要的?
1.1.3 Windows应用程序的句柄
在Windows应用程序的窗口中,存在很多如窗口?按钮?滚动条?菜单?图标等复杂的对象 和实例?为了在Windows应用程序中区分和使用它们,必须对它们进行标识?为了区别于普 通变量的标识,Windows把这种复杂对象的标识称为句柄?不同Windows对象的句柄具有 不同的类型,常用的句柄类型见表1.1.1?
1.1.4 Windows应用程序的数据类型
Windows应用程序中的数据量非常大,为了提高程序的可读性,Windows应用程序给许 多基本数据类型定义了别名?例如:
typedef unsiged long DWORD;
typedef int BOOL;
typedef unsiged char BYTE;
typedef unsiged short WORD;
typedef float FLOAT;
typedef unsiged int UNIT;
除了这些基本数据类型的别名外,Windows应用程序还使用了一些特定结构类型的数 据?例如,下列的结构描述了一个点在窗口的位置坐标?
typedef struct tag_POINT {
LONG x;
LONG y;
} POINT;
又例如,下列的结构描述了一个矩形在窗口中的大小和位置?
typedef struct tag—RECT {
LONG left;
LONG top;
LONG right;
LONG bottom;
} RECT;
在Windows应用程序设计中,既可以使用C语言的基本数据类型,也可以使用Windows 自定义的数据类型?所有Windows自定义的数据类型的关键字都要大写?
1.2 Windows程序设计平台幵发环境
1.2.1 Visual C+ + 简介
Visual C++是Windows环境最优秀的C+ +编程环境之一,它是微软公司开发的 Visual Studio系列产品的一部分,具有集成开发环境,可以编辑C语言?C++等编程语言? VC++整合了方便的调试工具,特别是整合了 Win32 API应用程序?MFC?MicroSOft.NET 等框架?VisualC+ +支持三种类型的应用程序框架的创建?下面分别介绍如何创建控制台 应用程序?Win32应用程序和MFC Windows应用程序?
1.2.2 创建Win32 Console应用程序
打开VC ++ 6.0,在选择“文件—新建”菜单后,在“新建”对话框的“项目”选项卡中选择 “Win32 Console Application”,输人项目名称First并选择好项目位置后,单击“确定”按钮? 在如图1.2.1所示的应用程序向导中,选择其中第三项A “Hello World!” application,单击 “Finish”按钮,直接运行程序以后出现如图1.2.2所示的窗口?字符串“Hello World!”出现在 窗口中的第一行,按下任意键后窗口将会消失?
在Win32Console应用程序运行后产生的窗口中,有标题栏和垂直滚动条,没有菜单栏? 工具栏和状态栏,标题栏中的内容是可执行文件在磁盘中的存放位置?当用户单击窗口右上
角的关闭按钮时,窗口将会消失?这是一个功能比较简单的窗口?
由于控制台应用程序运行后的窗口功能比较简单,计算机用户经常把控制台应用程序看 成一种“遗物”?但是,实际上很多系统管理员和一些编程高手还是非常喜欢控制台应用程序 的?对于那些使用Visual Studio学习C/C++语言的初学者,编写控制台应用程序是必须经 历的学习阶段?
在Windows程序设计的学习过程中,部分算法的设计?开发工具的使用,仍然可以使用简 单?直观的控制台应用程序?当准备创建控制台应用程序时,在“新建项目”对话框中直接选择 “Win32 Console Application”?在图 1.2.1 的 Win32 Console 应用程序向导中,选择第一^项An empty project,创建一个空的工程?接着,选择“文件—新建”菜单,在“新建”对话框的“文 件”选项卡中选择C++ Source File?在源程序的入口函数main中需要使用大量的API函 数,来编写程序员自定义的控制台应用程序?
1.2.3 创建Win32应用程序
打开VC + + 6.0,在选择“文件—新建”菜单后,在“项目”选项卡中选择“Win32 Application”,输入项目名称Second并选择好项目位置后,单击“确定”按钮?在如图1.2.3所 示的对话框中选中“一个典型的‘Hello World!’程序”单选按钮,单击“完成”按钮,直接运行程 序以后出现如图1.2.4所示的窗口?
在如图1.24所示的窗口中,以项目名Second作为标题栏中的标题内容,并且标题内容的 左边有Win32应用程序的图标?窗口的菜单栏中有File和Help两个菜单选项?用户单击任 何一个菜单选项以后,出现一个下拉子菜单栏?窗口中没有工具栏?状态栏和滚动条,当用户 单击窗口右上角的关闭按钮时,窗口将会消失?相比于控制台应用程序运行后的窗口,Win32 应用程序运行后的窗口功能要多一些,这是因为多了一个菜单栏?
当程序员准备创建自定义的Win32应用程序时,在“项目”选项卡中选择“ Win32 Application”选择创建一个空的工程?选择“文件—新建”菜单后,在“新建”对话框的“文件” 选项卡中选择C++ SourceFile?在源程序的入口函数WinMain中需要使用大量的API函 数,来编写程序员自定义的Win32应用程序?
1.2.4 创建MFC Windows应用程序
用Visual C+ +的MFC来创建Windows应用程序窗口的步骤如下?
(1) 打开VC ++ 6.0,选择“文件—新建”菜单项,系统弹出“新建”对话框,单击“工程”选 项卡—MFC AppWizard(exe),弹出如图1.25所示的对话框?工程编辑框中输入工程的名 称,如“框架”,位置编辑框中输入保存该工程文件的路径,单击“确定”按钮?MFC应用程序 向导将通过6个步骤生成Windows应用程序框架?
(2) 在弹出的“MFC应用程序导-步骤1”对话框中,选择要创建的MFC应用程序类型,如 图1.26所示?本例中选择建立单文档应用程序,默认选中“文档/查看体系结构支持”复选 框,单击“下一步”按钮?
(3) 在弹出的“MFC应用程序向导-步骤2”对话框中,如图1.2.7所示,在询问是否要包含 数据库时,本例选择“否”单选按钮,单击“下一步”按钮,则Windows应用程序框架不能使用数 据库?如果Windows应用程序需要使用数据库,则在“MFC应用程序向导-步骤2”对话框中 选择“查看数据库使用文件支持”单选按钮,然后单击“数据源”按钮,在弹出的对话框中选择数 据库连接的数据源名称,单击“确定”按钮后回到如图1.27所示的对话框?
评论
还没有评论。