Windows程序设计教程的目录

如题所述

第1章概述1
1.1Windows的发展历史1
1.2Windows操作系统的基本性质和用途3
1.3API的基本特征及其发展历程5
1.4编程工具及其发展概况6
1.5集成开发环境7
1.6C程序和Windows程序的比较7
1.7Windows程序HelloMsg.c的三个基本组成部分8
1.7.1#include声明和包含文件8
1.7.2Windows程序HelloMsg.c的进入点8
1.7.3MessageBox函数10
1.8字符编码及Unicode简介11
1.8.1字符集编码的发展简史12
1.8.2双字节字符集13
1.8.3Unicode字符集13
1.9字符的数据类型char和宽字符数据类型wchar14
1.9.1操作系统中基本数据类型的确定14
1.9.2单字节字符数据类型14
1.9.3宽字符数据类型15
1.9.4宽字符库函数16
1.9.5字符串函数的Unicode版和ASCII版的合一方法…17
1.9.6TCHAR.h头文件的作用17
1.9.7编译命令中_UNICODE识别字的引入17
1.9.8Windows对宽字符支持18
1.10应用程序实现Unicode和ASCII混合编码的原理19
1.10.1WINNT.h是对Unicode支持的头文件19
1.10.232位系统中的MessageBox函数20
1.10.3Windows的字符串处理函数21
1.10.4Windows中的sprintf函数22
练习124
第2章Windows操作系统的寻址方法与存储器管理25
2.1Windows的芯片26
2.2Windows的分段寻址方法26
2.2.116位实模式26
2.2.216位保护模式27
2.2.332位保护模式29
2.2.4分段寻址方法的缺陷及其消除方法31
2.332位分页保护模式及其寻址方法31
2.4抢占式多任务、非抢占式多任务、进程和线程的概念33
2.4.1进程和线程的概念33
2.4.2抢占式多任务34
2.4.3非抢占式多任务34
2.4.432位抢占式多任务多线程的工作原理36
2.532位Windows应用程序的消息输入方式37
2.5.1多线程的开发37
2.5.232位Windows采用多重输入队列37
2.632位Windows中虚拟内存空间的划分38
2.732位Windows中虚拟内存的管理40
2.7.1内存页与分页文件40
2.7.2有关地址空间的解释40
2.7.332位Windows中分配内存页的两种方法——预约与委托41
2.7.4异常事件及其处理方法43
2.7.5VirtualQuery()的用法43
2.7.6改变页保护标识的函数VirtualProtect()45
2.7.7内存的释放函数VirtualFree()46
练习247
第3章开发Windows应用程序的技术基础49
3.1应用程序的结构与编译49
3.1.1Windows应用程序的结构和C语言程序结构的比较49
3.1.2Windows应用程序的编译和C语言程序编译的比较50
3.1.3Windows编译应用程序所需的六个基本文件51
3.2Windows应用程序设计接口57
3.3标识符的匈牙利命名惯例58
3.4事件驱动程序设计59
3.5动态链接库函数61
3.6PASCAL调用规范与WINAPI调用规范62
3.7句柄与代号63
3.8Windows应用程序的工作原理63
3.9窗口类的作用及其用法初步65
练习366
第4章应用程序的分析69
4.1HELLOWIN.C应用程序69
4.2WinMain函数的四个参数72
4.3窗口类结构WNDCLASS73
4.4窗口类结构的各条款介绍74
4.5与窗口有关的识别字的介绍76
4.6和窗口有关的几种结构76
4.7代号简介77
4.8函数调用77
4.9注册窗口类78
4.10建立窗口78
4.11显示窗口79
4.12基本消息循环80
4.12.1GetMessage(&msg,NULL,0,0)函数80
4.12.2TranslateMessage(&msg)和DispatchMessage(&msg)函数80
4.12.3MSG结构及其解释81
4.13窗口函数82
练习484
第5章Windows操作系统中的窗口类85
5.1Windows中的窗口类概述85
5.1.1系统全局窗口类86
5.1.2应用专用窗口类86
5.1.3应用全局窗口类87
5.2几种窗口类结构介绍87
5.2.1Windows 95中的扩展窗口类结构87
5.2.2窗口类条款的补充说明88
5.2.3Windows NT中的窗口类89
5.3几个与窗口类有关的函数90
5.3.1LoadIcon函数90
5.3.2LoadImage函数91
5.3.3LoadCursor函数92
5.3.4CreateSolidBrush函数93
5.4窗口类的式样95
5.5设计中值得注意的几个问题97
练习598
第6章输出101
6.1客户区的绘制和更新102
6.1.1WM_PAINT消息102
6.1.2有效矩形和无效矩形103
6.2GDI简介104
6.2.1设备描述表104
6.2.2获得hDC代号的方法105
6.3TextOut函数109
6.4重画区域的设定110
6.5系统字体111
6.5.1字体信息的存储112
6.5.2用五个参数表示字体尺寸112
6.5.3格式化文字113
6.6Windows系统中的视觉元件信息表115
6.7字体显示例子SYSMETS1.C116
6.7.1SYSMETS1.C窗口函数的分析119
6.7.2SYSMETS1.C程序存在问题120
6.8滚动条的使用120
6.8.1滚动条的范围和地址121
6.8.2滚动条消息122
6.8.3在SYSMETS1.C中加入滚动功能124
6.8.4在WM_VSCROLL消息之后更新客户区的方法128
6.9建立更好的滚动129
6.9.132位滚动条函数的应用129
6.9.2滚动范围的计算131
6.9.3新SYSMETS——SYSMETS3.C132
练习6138
第7章图形程序的编程基础141
7.1概论141
7.1.1GDI函数及其分类142
7.1.2GDI绘制的基本图形143
7.1.3图形程序设计的其他问题144
7.2设备描述表145
7.2.1取得设备描述表代号的方法145
7.2.2取得设备描述表中信息的方法146
7.2.3保存设备描述表147
7.2.4设备描述表的构成148
7.2.5DEVCAPS1程序149
7.2.6每个度量单位内的像素数目——解析度152
7.2.7色彩153
7.3画线函数与画笔155
7.3.1处理像素的函数155
7.3.2画线函数156
7.3.3画正弦曲线程序SINEWAVE158
7.3.4画线函数与画图函数的关系159
7.3.5像素偏差问题160
7.3.6LINEDEMO画图程序163
7.3.7画笔164
7.3.8背景模式、背景颜色及其处理168
7.3.9“位布尔运算”与画线模式169
7.4画图171
7.4.1图形函数171
7.4.2图形的填入——画刷171
7.4.3画刷的建立、选择和删除172
7.5GDI映射方式174
7.5.1映射方式概述174
7.5.2设备坐标和逻辑坐标176
练习7177
第8章键盘程序编程基础179
8.1键盘输入概论179
8.1.1键盘的输入焦点180
8.1.2系统消息队列与应用程序消息队列181
8.2按键181
8.2.1基本概念181
8.2.2四个按键消息182
8.2.3系统按键消息与非系统按键消息182
8.2.4虚拟键码183
8.2.5按键消息的参数lParam187
8.2.6如何使用GetKeyState函数了解按键的状态188
8.2.7按键消息及其使用189
8.3字符消息及其处理192
8.3.1概述192
8.3.2四个字符消息193
8.3.3按键消息和字符消息的处理顺序194
8.3.4控制字符键及其处理195
8.3.5WM_DEADCHAR消息196
8.4显示键盘消息和字符消息的显示程序KEYVIEW1197
8.5字体202
8.5.1Windows支持的三种字体202
8.5.2Windows中的内定字体203
8.5.3显示字体的程序STOKFONT204
练习8208
第9章鼠标程序编程基础211
9.1概述211
9.1.1GetSystemMetrics函数的应用211
9.1.2预先定义的鼠标游标212
9.1.3鼠标消息与键盘消息的区别212
9.1.4显示区域内的鼠标消息及其处理方法212
9.1.5鼠标消息在其他情况下的处理214
9.1.6鼠标消息的处理例子214
9.1.7CONNECT程序的应用216
9.2按键及其处理217
9.2.1Shift Ctrl键的处理217
9.2.2为单键鼠标提供右键的处理方法218
9.2.3如何使用GetKeyState函数了解鼠标按键状态219
9.2.4双击鼠标按键及其处理219
9.3非显示区域鼠标消息及其处理220
9.3.1非显示区域鼠标消息220
9.3.2非显示区域中的命中测试消息221
9.3.3从消息产生消息222
9.4显示区域中的命中测试程序223
9.4.1命中测试程序CHECKER1.C223
9.4.2使用键盘模拟鼠标225
9.4.3在CHECKER1中加入键盘界面后的程序226
9.5子窗口的基本概念231
9.5.1用子窗口实现CHECKER程序——CHECKER3.C231
9.5.2CHECKER3中添加键盘界面——CHECKER4.C237
练习9244
第10章预定义窗口类和子窗口控制项247
10.1基本概念247
10.1.1什么是子窗口控制项247
10.1.2怎样建立子窗口控制项248
10.1.3控制项的操作250
10.1.4Windows系统中的控制项251
10.2按钮控制项例程BTNLOOK.C252
10.2.1CreateWindow函数的应用256
10.2.2按钮控制项的预定义窗口类button256
10.2.3按钮控制项的名称标签257
10.2.4按钮控制项的式样257
10.2.5按钮控制项的尺寸与位置257
10.2.6CreateWindow的其他参数257
10.3子窗口与父窗口之间的消息传送258
10.3.1子窗口向父窗口发送command消息258
10.3.2父窗口向子窗口发送消息259
10.4按钮260
10.4.1按钮的分类260
10.4.2分组块264
10.4.3如何改变按钮上的文字264
10.4.4按钮的可见与启用264
10.4.5按钮和输入焦点265
10.5按钮控制项的颜色及其设定266
10.5.1WM_CTLCOLORBTN消息的应用268
10.5.2拥有者自画按钮表面图案的程序OWNDRAW.C269
10.6静态控制项274
10.6.1预定义静态窗口类的特点274
10.6.2静态控制项的窗口式样275
10.6.3在静态控制项上写“文字”275
10.7滚动条控制项276
10.7.1滚动条窗口类276
10.7.2滚动条控制项例程COLORS1.C277
10.7.3COLORS1程序的设计技巧及有关函数说明283
10.8编辑控制项290
10.8.1编辑控制项的例程POPPAD1.C290
10.8.2编辑控制项的窗口类edit和窗口式样ES_291
10.8.3编辑控制项产生的通知码292
10.8.4编辑控制项的使用293
10.8.5把消息发送给编辑控制项293
10.9列表框控制项294
10.9.1预定义列表框窗口类listbox294
10.9.2列表框式样295
10.9.3列表框功能识别字LB_296
10.9.4应用功能识别字对列表框中项目进行增删296
10.9.5应用功能识别字对列表框中项目进行选择、查找与获得298
10.9.6接收来自列表框的通知码299
练习10300
第11章对话框的使用303
11.1概述303
11.1.1什么是对话框303
11.1.2对话框的分类304
11.1.3对话框函数305
11.1.4在对话框中使用控制项306
11.1.5设计模式对话框的步骤306
11.2模式对话框的实例分析307
11.2.1最简单的模式对话框例程About1.C307
11.2.2对话框模板和控制项的设计314
11.2.3较复杂模式对话框的例程ABOUT2.C318
11.2.4对话框函数中控制项的使用325
11.2.5避免使用整体变量的方法330
11.2.6Tab键、游标移动键在控制项输入焦点转移中的应用331
11.2.7在对话框上画图333
11.2.8将其他函数用于对话框334
11.3非模式对话框实例分析334
11.3.1模式对话框与非模式对话框的比较335
11.3.2非模式对话框例程COLORS2.C337
练习11343
第12章Windows中的资源345
12.1资源描述文件与模块定义文件345
12.1.1有关“资源”、“模板”的基本概念345
12.1.2资源描述文件346
12.1.3模块定义文件347
12.2图标349
12.2.1概述349
12.2.2Developer Studio开发应用程序ICONDEMO的基本方法350
12.2.3大图标、小图标的应用355
12.2.4解读ICONDEMO.RC和RESOURCE.H文件356
12.2.5LoadIcon返回图标代号356
12.2.6在应用程序中使用图标357
12.3在程序中使用定制游标358
12.3.1在窗口类中设置游标358
12.3.2用SetClassLong设置子窗口中的游标358
12.3.3用SetCursor改变窗口中的游标359
12.4字符串资源及其应用359
12.4.1什么是字符串资源359
12.4.2使用字符串资源的程序段360
12.5菜单361
12.5.1菜单概念361
12.5.2菜单代号、菜单项ID与菜单ID362
12.5.3在程序中引用菜单362
12.5.4和菜单有关的窗口消息363
12.5.5菜单显示例程MENUDEMO.C366
12.5.6建立菜单的另一种方法373
12.5.7在客户区范围内任意处可以启动的下拉式菜单374
12.5.8系统菜单378
12.5.9一些改变菜单的函数379
12.5.10处理菜单的其他函数379
12.6加速键381
12.6.1用加速键实现菜单项功能381
12.6.2安排加速键的几条规则382
12.6.3加速键的实施步骤382
12.6.4加速键表模板382
12.6.5用Developer Studio生成加速键表模板385
12.6.6在程序中加载加速键表385
12.6.7消息循环中加入对加速键的处理386
12.6.8窗口函数接收加速键的窗口消息387
12.7菜单与加速键在应用程序中的应用——POPPAD2实例分析388
12.7.1POPPAD2例程388
12.7.2加速键表的载入395
12.7.3case WM_INITMENUPOPUP消息处理分支的解释396
练习12397
附录A参考VC++的索引399
参考文献403

温馨提示:答案为网友推荐,仅供参考