目录
前言
第1章 一个简单的Windows应用程序
1.1 SIMPLE应用程序
1.1.1 源程序文件SIMPLE.C
1.1.2 模块定义文件SIMPLE.DEF
1.2 编译、链接与运行
1.3 对SIMPLE应用程序的剖析
1.3.1 “匈牙利”表示法
1.3.2 句柄
1.3.3 系统头文件WINDOWS.H
1.3.4 Pascal调用规则
1.3.5 WinMain()函数
1.3.6 窗口过程
1.3.7 模块定义文件
1.4 消息驱动机制
1.4.1 消息的来源
1.4.2 排队消息和非排队消息
1.4.3 回调函数
1.5 Windows应用程序的组成
第2章 菜单
2.1 一个简单的菜单程序
2.1.1 头文件MENUDEMO.H
2.1.2 源程序文件MENUDEMO.C
2.1.3 资源描述文件MENUDEMO.RC
2.1.4 模块定义文件MENUDEMO.DEF
2.1.5 MENUDEMO的运行结果
2.2 定义、使用菜单
2.2.1 应用程序菜单的构成
2.2.2 定义菜单的语法规则
2.2.3 处理WMCOMMAND消息
2.3 一个复杂的菜单演示程序
2.3.1 头文件COMPMENU.H
2.3.2 源程序文件COMPMENU.C
2.3.3 资源描述文件COMPMENU.RC
2.3.4 模块定义文件COMPMENU.DEF
2.3.5 对COMPMENU的说明
2.4 使用系统菜单
2.4.1 源程序文件SYSMENU.C
2.4.2 模块定义文件SYSMENU.DEF
2.4.3 修改系统菜单
2.5 带有加速键的菜单
2.5.1 头文件EDITER1.H
2.5.2 源程序文件EDITER1.C
2.5.3 资源描述文件EDITER1.RC
2.5.4 模块定义文件EDITER1.DEF
2.5.5 定义加速键
2.5.6 在程序中使用加速键
2.6 在应用程序中定义菜单
2.6.1 头文件READER1.H
2.6.2 源程序文件READER1.C
2.6.3 模块定义文件READER1.DEF
2.6.4 MenuMake()函数
2.6.5 设置应用程序菜单
2.7 修改和增删菜单项
2.7.1 头文件MODIMENU.H
2.7.2 源程序文件MODIMENU.C
2.7.3 资源描述文件MODIMENU.RC
2.7.4 模块定义文件MODIMENU.DEF
2.7.5 修改和增删操作
第3章 键盘
3.1 Windows与键盘
3.2 键盘消息
3.2.1 击键消息
3.2.2 击键消息的lParam参数
3.2.3 击键消息的wParam参数
3.2.4 字符消息
3.3 键盘消息演示程序
3.3.1 源程序文件KEYLOO K.C
3.3.2 模块定义文件KEYLOOK.DEF
3.3.3 显示击键状态
3.3.4 WM_SIZE 消息
3.3.5 KEYLOOK中用到的几个API函数
3.4 一个简单的文字处理程序
3.4.1 源程序文件SIMPLED.C
3.4.2 模块定义文件SIMPLED.DEF
3.4.3 插字符
3.4.4 WM-SETFOC US和WM-KILLFOC US消息
3.4.5 屏蔽回车键
3.4.6 补充说明
第4章 鼠标
4.1 鼠标与光标
4.2 鼠标消息
4.2.1 鼠标消息的lParam参数
4.2.2 鼠标击中测试消息
4.2.3 非用户鼠标消息
4.2.4 用户区鼠标消息
4.3 一个鼠标消息的演示程序
4.3.1 源程序文件USEMOUSE.C
4.3.2 模块定义文件USEMOUSE.DEF
4.3.3一点说明
4.4 鼠标消息的忽略
4.4.1 源程序文件CONNECT.C
4.4.2 模块定义文件CONNECT.DEF
4.4.3 CONNECT程序的用法
4.4.4 SetPixel()函数
4.4.5 MoveTo()和LineTo()函数
4.5 浮动弹出式菜单
4.5.1 头文件POPMENU.H
4.5.2 源程序文件POPMENU.C
4.5.3 模块定义文件POPMENU.DEF
4.5.4 对POPMENU的说明
4.6 捕捉鼠标消息
4.6.1 头文件CAPTURE.H
4.6.2 源程序文件CAPTURE.C
4.6.3 资源描述文件CAPTURE.RC
4.6.4 模块定义文件CAPTURE.DEF
4.6.5 捕捉鼠标消息
4.6.6 释放鼠标控件权
第5章 子窗口
5.1 用户定义子窗口
5.1.1 源程序文件CHILDWIN.C
5.1.2 模块定义文件CHILDWIN.DEF
5.1.3 为子窗口注册窗口类
5.1.4 创建子窗口
5.1.5 显示子窗口
5.1.6 父窗口与子窗口之间的交互
5.2 子窗口控件
5.3 按钮类
5.3.1 按钮控件
5.3.2 下压式按钮
5.3.3 检查框和三态按钮
5.3.4 无线电按钮
5.3.5 组框
5.3.6 一个演示按钮控件的程序
5.4 静态类
5.4.1 静态控件
5.4.2 使用静态控件的演示程序
5.5 滚动条类
5.5.1 滚动条控件
5.5.2 滚动条控件的演示程序
5.6 编辑类
5.6.1 编辑控件
5.6.2 EDITER1应用程序的改进
5.7 列表框类
5.7.1 列表框
5.7.2 列表框演示程序
5.8 组合框类
5.8.1 组合框
5.8.2 组合框演示程序
第6章 对话框
6.1 弹出式窗口
6.1.1 源程序文件POPUPWIN.C
6.1.2 模块定义文件POPUPWIN.DEF
6.1.3 几点说明
6.2 一个简单的对话框
6.2.1 源程序文件DLGBOX.C
6.2.2 资源描述文件DLGBOX.RC
6.2.3 模块定义文件DLGBOX.DEF
6.2.4 定义对话框
6.2.5 对话过程
6.2.6 创建、显示对话框
6.3 利用对话框输入数据
6.3.1 头文件INPUTDAT.H
6.3.2 源程序文件INPUTDAT.C
6.3.3 资源描述文件INPUTDAT.RC
6.3.4 模块定义文件INPUTDAT.DEF
6.3.5 INPUTDAT应用程序的对话过程
6.4 控件的分组
6.4.1 头文件COLORSEL.H
6.4.2 源程序文件COLORSEL.C
6.4.3 资源描述文件COLORSEL.RC
6.4.4 模块定义文件COLORSEL.DEF
6.4.5 控件的分组
6.4.6 COLORSEL的对话过程
6.4.7 使用画笔
6.4.8 交互绘图
6.5 一个复杂的对话框程序
6.5.1 头文件EDITER3.H
6.5.2 头文件DLGFUNCS.H
6.5.3 源程序文件EDITER3.C
6.5.4 源程序文件DLGFUNCS.C
6.5.5 资源描述文件EDITER3.RC
6.5.6 资源描述文件DLGFUNCS.DLG
6.5.7 模块定义文件EDITER3.DEF
6.5.8 关于EDITER3.RC
6.5.9 EDITER3中用到的新函数和消息
6.5.1 0CanClose()函数的作用
6.6 无模式对话框
6.6.1 头文件MLESSDLG.H
6.6.2 源程序文件MLESSDLG.C
6.6.3 资源描述文件MLESSDLG.RC
6.6.4 模块定义文件MLESSDLG.DEF
6.6.5 ModalLess对话框
第7章 资源
7.1 图标和光标
7.1.1 头文件ICONDEMO.H
7.1.2 源程序文件ICONDEMO.C
7.1.3 资源描述文件ICONDEMO.RC
7.1.4 模块定义文件ICONDEMO.DEF
7.1.5 定义图标和光标
7.1.6 显示图标
7.1.7 使用光标
7.2 位图
7.2.1 头文件BMPDEMO.H
7.2.2 源程序文件BMPDEMO.C
7.2.3 资源描述文件BMPDEMO.RC
7.2.4 模块定义文件BMPDEMO.DEF
7.2.5 装人位图
7.2.6 显示位图
7.3 字符串资源
7.3.1 头文件STRDEMO.H
7.3.2 源程序文件STRDEMO.C
7.3.3 资源描述文件STRDEMO.RC
7.3.4 模块定义文件STRDEMO.DEF
7.3.5 定义字符串资源
7.3.6 使用字符串资源
7.4 用户自定义资源
7.4.1 头文件READER.H
7.4.2 源程序文件READER.C
7.4.3 源程序READFUN0.C
7.4.4 资源描述文件READER.RC
7.4.5 用户自定义资源文件READER.HLP
7.4.6 定义用户资源
7.4.7 使用用户资源
7.4.8 系统定义对话框
第8章 使用动态内存
8.1 Windows内存管理简述
8.1.1 全局堆和局部堆
8.1.2 可移动的内存和可废弃的内存
8.2 一个使用动态数组的例子
8.2.1 头文件MEMUSE.H
8.2.2 源程序文件MEMUSE.C
8.2.3 资源描述文件MEMUSE.RC
8.2.4 模块定义文件MEMUSE.DEF
8.2.5 使用动态内存
8.3 READER的最终版本
8.3.1 源程序文件READFUNS.C
8.3.2 使用局部内存
8.3.3 设置编辑控件缓冲区
第9章 计时器
9.1 计时器简述
9.2 BMPDEMO的自动版
9.2.1 源程序文件TIMER1.C
9.2.2 资源描述文件TIMER1.RC
9.2.3 模块定义文件TIMER1.DEF
9.2.4 窗口过程处理计时器事件
9.3 数字时钟
9.3.1 源程序文件TIMEDEMO.C
9.3.2 模块定义文件TIMEDEMO.DEF
9.3.3 数字时钟窗口
9.3.4 计时器过程
第10章 图形处理
10.1 基本图形要素的生成
10.1.1 头文件GRAFDEMO.H
10.1.2 源程序文件GRAFDEMO.C
10.1.3 资源描述文件GRAFDEMO.RC
10.1.4 模块定义文件GRAFDEMO.DEF
10.1.5 基本图形要素生成函数
10.1.6 正确使用GDI对象
10.2 特殊图形的生成
10.2.1 头文件SPECIAL.H
10.2.2 源程序文件SPECIAL.C
10.2.3 资源描述文件SPECIAL.RC
10.2.4 模块定义文件SPECIAL.DEF
10.2.5 特殊图形生成函数
10.2.6 系统预定义的选择颜色对话框
10.3 填充图案的式样
10.3.1 头文件FILLDEMO.H
10.3.2 源程序文件FILLDEMO.C
10.3.3 资源描述文件FILLDEMO.RC
10.3.4 模块定义文件FILLDEMO.DEF
10.3.5 系统预定义的填充图案
10.3.6 用户自定义填充图案
10.3.7 画刷的重定位
10.3.8 填充图案的颜色及其背景色
10.4 映射模式
10.4.1 头文件MAPMODE.H
10.4.2 源程序文件MAPMODE.C
10.4.3 资源描述文件MAPMODE.RC
10.4.4 模块定义文件MAPMODE.DEF
10.4.5 设备坐标和逻辑坐标
10.4.6 8种映射模式
10.4.7 视口和视窗
10.5 光栅操作
10.5.1 源程序文件ROP2LOOK.C
10.5.2 资源描述文件ROP2LOOK.RC
10.5.3 模块定义文件ROP2LOOK.DEF
10.5.4 16种光栅操作模式
10.5.5 ROP2LOOK的输出效果
10.6 裁剪区域
10.6.1 源程序文件CLIPRGN.C
10.6.2 模块定义文件CIIPRGN.DEF
10.6.3 创建和组合区域
10.6.4 在区域中绘图
第11章 位图文件和图元文件
11.1 位图文件
11.2 使用位图文件
11.2.1 头文件BMPVIEW.H
11.2.2 源程序文件BMPVIEW.C
11.2.3 源程序文件GETFNAME.C
11.2.4 资源描述文件BMPVIEW.RC
11.2.5 模块定义文件BMPVIEW.DEF
11.2.6 位图信息结构体
11.3 图元文件
11.3.1 头文件METAFILE.H
11.3.2 源程序文件METAFILE.C
11.3.3 资源描述文件METAFILE.RC
11.3.4 模块定义文件METAFILE.DEF
11.3.5 创建一个图元文件
11.3.6 装人一个图元文件
11.3.7 显示图元文件
11.4 位图文件与图元文件的比较
11.5 动画
11.5.1 头文件ANIMATE.H
11.5.2 源程序文件ANIMATE.C
11.5.3 资源描述文件ANIMATE.RC
11.5.4 模块定义文件ANIMATE.DEF
11.5.5 动画图案及动画过程
第12章 字体
12.1 字体概述
12.2 观察字体
12.2.1 头文件FONTLOOK.H
12.2.2 源程序文件FONTLOOK.C
12.2.3 资源描述文件FONTLOOK.RC
12.2.4 模块定义文件FONTLOOK.DEF
12.2.5 逻辑字体
12.2.6 选择字体
12.3 文字的特殊显示
12.3.1 头文件FONTART.H
12.3.2 源程序文件FONTART.C
12.3.3 资源描述文件FONTART.RC
12.3.4 模块定义文件FONTART.DEF
12.3.5 特殊显示效果
第13章 使用打印机
13.1 一个简单的打印机演示程序
13.1.1 头文件PRNDEMO1.H
13.1.2 源程序文件PRNDEMO1.C
13.1.3 资源描述文件PRNDEMO1.RC
13.1.4 模块定义文件PRNDEMO1.DEF
13.1.5 获取打印机设备环境
13.1.6 打印一页
13.2 较规范的打印机演示程序
13.2.1 头文件PRNDEMO.H
13.2.2 源程序文件PRNDEMO.C
13.2.3 资源描述文件PRNDEMO.RC
13.2.4 模块定义文件PRNDEMO.DEF
13.2.5 设置打印机
13.2.6 打印
13.3 EOITER应用程序打印功能的实现
13.3.1 头文件EDITER.H
13.3.2 源程序文件EDITER.C
13.3.3 多页打印
第14章 使用剪贴板
14.1 利用剪贴板传送数据
14.1.1 向剪贴板中写数据
14.1.2 从剪贴板中读取数据
14.2 传送文本数据
14.2.1 源程序文件TEXTCLIP.C
14.2.2 模块定义文件TEXTCLIP.DEF
14.2.3 利用剪贴板传送文本
14.3 传送图元文件
14.3.1 源程序文件METACLIP.C
14.3.2 模块定义文件METACLIP.DEF
14.3.3 向剪贴板写图元文件
14.3.4 使用剪贴板中的图元文件
14.4 传送位图
14.4.1 头文件BMPCLIP.H
14.4.2 源程序文件BMPCLIP.C
14.4.3 资源描述文件BMPCLIP.RC
14.4.4 模块定义文件BMPCLIP.DEF
14.4.5 向剪贴板传送位图数据
14.4.6 使用剪贴板中的位图
第15章 动态连接库
15.1 动态连接库模块DRAWDLL
15.1.1 头文件 DRAWDLL.H
15.1.2 源程序文件 DRAWDLL.C
15.1.3 模块定义文件DRAWDLL.DEF
15.1.4 DLL的程序文件
15.2 动态链接库的编译和链接
15.3 使用动态链接库
15.3.1 头文件DLLDEMO.H
15.3.2 源程序文件DLLDEMO.C
15.3.3 资源描述文件DLLDEMO.RC
15.3.4 模块定义文件DLLDEMO.DEF
15.3.5 输入函数
15.4 动态链接库的工作过程
第16章 多文档界面
16.1 MDI构成要素
16.2 MDI专用的结构、消息和函数
16.2.1 MDI专用结构体
16.2.2 MDI专用消息
16.2.3 MDI专用函数
16.3 MDI演示程序
16.3.1 头文件MDIDEMO.H
16.3.2 源程序文件MDIDEMO.C
16.3.3 资源描述文件MDIDEMO.RC
16.3.4 模块定义文件MDIDEMO.DEF
16.3.5 使用窗口附加信息
16.3.6 框架窗口及其窗口过程
16.3.7 撤消文件窗口
16.3.8 3个菜单
16.3.9 整理文件窗口
附录1 本书介绍过的API函数
附录2 本书介绍过的Wind0ws消息
附录3 本书介绍过的Wind0ws结构体
附录4 表格
附录5 程序索引
参考文献
· · · · · · (
收起)