《Microsoft windows 3.1程序员参考大全 6 编程指南》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:美国微软公司著;吴之美等译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:1993
  • ISBN:7302012253
  • 页数:365 页
图书介绍:

目录 1

引言……………………………………………Ⅸ第一部分 在Windows环境中编程第1章 Windows环境概述 1

1.1 Windows与MS-DOS的对比 3

1.1.1 用户界面 3

1.1.2 排队输入 4

1.1.3 设备无关图形 4

1.1.4 多任务机制 4

1.2 Windows应用程序的元素 5

1.2.1 窗口 5

1.2.2 菜单 5

1.2.3 对话框 6

1.2.4 消息循环 6

1.3 Windows库 8

1.4 软件开发工具 8

1.4.1 Microsoft C优化编译器 9

1.4.2 Microsoft分段可执行 9

连接器 9

编译器 10

1.4.4 Microsoft Windows资源 10

1.4.5 调试和优化工具 10

1.4.3 资源编辑器 10

1.4.6 Microsoft程序维护机制 11

1.5 开发Windows应用程序 12

1.6 有关内容 13

2.1 标准Windows应用程序: 14

Generic 14

第2章 通用Windows应用程序 14

2.2 WinMain函数 15

2.2.1 数据结构和数据类型 15

2.2.2 句柄 16

2.2.3 实例 16

2.2.4 登记一个窗口类 17

2.2.5 创建窗口 19

2.2.6 显示及更新窗口 20

2.2.7 编制消息循环 21

2.2.8 出让控制权 22

2.2.9 终止应用程序 22

2.2.10 初始化函数 23

2.2.11 应用程序命令行参数 24

2.3 窗口函数 24

2.4 创建About对话框 26

2.4.1 编制对话框模板 26

2.4.2 编制头文件 27

2.4.3 编制对话框函数 28

2.4.4 定义带有About命令的 29

菜单 29

2.4.5 处理WM_COMMAND 29

消息 29

2.5 编制模块定义文件 30

2.6 创建Generic 32

2.6.1 编制C语言源文件 32

2.6.2 编制头文件 37

2.6.3 编制资源定义文件 38

2.6.4 编制模块定义文件 38

2.6.5 编制makefile文件 39

维护机制 40

2.7 使用Generic作为模板 40

2.6.6 运行Microsoft程序 40

2.8 有关内容 41

3.1 设备描述表的使用 45

第3章 窗口输出 45

3.1.1 使用GetDC函数 45

第二部分 开发Windows应用程序 45

3.1.2 处理WM_PAINT消息 46

3.1.3 使用户域无效 47

3.1.4 准备设备描述表 47

3.1.5 坐标系 47

3.2 创建、选择及删除绘图工具 48

3.3 绘图和写字 49

3.4 范例应用程序:Output 50

3.4.1 增加新变量 50

3.4.2 增加WM_CREATE 51

Case语句 51

3.4.3 增加WM_PAINT Case 51

语句 51

3.4.4 修改WM_DESTROY 54

Case语句 54

3.4.5 编译和连接 55

3.5 有关内容 55

4.1 Windows输入消息 56

4.1.1 消息格式 56

第4章 键盘和鼠标输入 56

4.1.4 鼠标输入 57

4.1.2 键盘输入 57

4.1.3 字符输入 57

4.1.5 计时器输入 58

4.1.6 滚动杠输入 59

4.1.7 菜单输入 59

4.2 范例应用程序:Input 60

4.2.1 Input应用程序如何显示 60

输出信息 60

4.2.2 增加新变量 61

4.2.3 设置窗口类风格 61

4.2.4 修改CreateWindow函数 61

4.2.5 设置文字矩形 62

4.2.6 增加WM_CREATE 62

Case语句 62

语句 63

4.2.11 增加WM_LBUTTONUP 63

Case语句 63

4.2.10 增加WM_MOUSEMOVE 63

和WM_LBUTTONDOWN 63

4.2.9 增加WM_CHAR Case 63

KEYDOWN Cases语句 63

4.2.8 增加WM_KEYUP和WM_ 63

Case语句 63

Cases语句 63

4.2.7 修改WM_DESTROY 63

4.2.12 增加WM_LBUTTONDBLCLK 64

Case语句 64

4.2.13 增加WM_TIMER Case 64

语句 64

4.2.14 增加WM_HSCROLL和 64

语句 64

WM_VSCROLL Cases 64

4.2.15 增加WM_PAINT Case 65

语句 65

4.2.16 编译和连接 65

4.3 有关内容 66

第5章 图符 67

5.1 什么是图符 67

5.2 使用系统提供的图符 67

5.3 使用自定义的图符 68

5.3.1 创建图符文件 68

5.3.2 定义图符资源 68

5.3.3 装载图符资源 69

5.4 指定类图符 69

5.5 显示自定义的图符 69

5.6 在对话框中显示图符 71

5.7 应用程序范例:Icon 71

5.7.2 增加ICON控制语句 72

5.8 有关内容 72

5.7.3 设置类图符 72

5.7.4 在makefile文件中增加 72

MYICON.ICO行 72

5.7.5 编译和连接 72

5.7.1 增加ICON语句 72

6.1.1 使用系统光标形状 73

6.1 控制光标形状 73

第6章 光标 73

6.2 显示光标 74

6.1.2 使用自定义光标形状 74

6.2.1 指定类光标 74

6.2.2 直接设置光标形状 75

6.2.3 范例:在长时间的处理中显示时间瓶光标 75

6.3.1 开始图形选择 76

6.3 用鼠标使用光标 76

6.3.2 扩充图形选择 78

6.3.3 显示图形选择 78

6.3.4 结束图形选择 79

6.4 用键盘使用光标 80

6.4.1 移动光标 80

6.4.2 当无鼠标时使用光标 82

6.5 范例应用程序:Cursor 83

6.5.1 增加CURSOR语句 83

6.5.4 准备时间瓶光标 84

6.5.2 增加新变量 84

6.5.3 设置类光标 84

6.5.5 增加一个长操作 85

6.5.6 增加WM_LBUTTONDOWN, 85

WM_MOUSEMOVE和WM_ 85

LBUTTONUP Case 85

语句 85

6.5.7 增加WM_KEYDOWN和WM_ 87

KEYUP Cases语句 87

6.5.9 在makefile文件中增加 89

6.5.10 编译和连接 89

BULLSEYE.CUR行 89

Case语句 89

6.5.8 增加WM_PAINT 89

6.6 有关内容 90

第7章 菜单 91

7.1 菜单与菜单项 91

7.2 定义菜单 91

7.2.1 菜单标识符 92

7.3 在应用程序中包含菜单 93

7.3.1 指定一个窗口类的菜单 93

7.3.2 指定一个特定窗口的菜单 93

7.4 处理菜单输入 94

7.5.1 使菜单项有效或无效 95

7.5 从应用程序中控制菜单 95

7.5.2 检取和清除菜单项 96

7.5.3 增加菜单项 96

7.5.4 修改已有菜单 97

7.5.5 删除菜单项 98

7.5.6 用位图作为菜单项 98

7.5.7 替换菜单 99

7.5.8 创建新菜单 99

7.5.9 初始化菜单 100

7.6 使用特殊菜单特性 101

7.6.1 为菜单和菜单项提供 101

加速键 101

7.6.2 使用级联式菜单 103

7.6.3 使用浮动弹出菜单 104

7.6.4 设计自己的检取标志 106

7.6.5 使用自画菜单项 106

7.7 应用程序示例:EditMenu 107

7.7.1 在资源定义文件中增加 108

新菜单 108

7.7.2 在头文件中增加定义 109

7.7.3 在资源定义文件中增加 109

加速键表 109

7.7.4 增加新变量 110

7.7.5 装载加速键表 110

7.7.6 修改消息循环 110

7.7.7 修改WM_COMMAND 110

Case语句 110

7.8 有关内容 111

7.7.8 编译和连接 111

第8章 控制 112

8.1 什么叫控制 112

8.2 创建控制 112

8.2.1 指定控制类 113

8.2.2 选择控制风格 113

8.2.3 设置父窗口 114

8.2.4 选择控制标识符 114

8.3 使用控制 114

8.3.1 接收用户输入 114

8.3.2 发送控制消息 115

8.3.3 使对一个控制的输入无效或有效 115

8.3.4 移动和改变控制的大小 115

8.4.1 按钮 116

8.3.5 销毁控制 116

8.4 创建和使用一些通用控制 116

8.4.2 静态控制 119

8.4.3 列表框 120

8.4.4 组合框 123

8.4.5 编辑控制 124

8.4.6 滚动杠 125

8.5 应用程序示例:EditCntl 126

8.5.1 在头文件中增加一个常量 126

8.5.2 增加新变量 127

8.5.3 增加CreateWindow函数 127

8.5.7 编译和连接 128

语句 128

8.5.6 增加WM SIZE Case 128

Case语句 128

Case语句 128

8.5.4 修改WM_COMMAND 128

8.5.5 增加WM_SETFOCUS 128

8.6 有关内容 129

第9章 对话框 130

9.1 什么叫对话框 130

9.1.1 模式对话框 130

9.1.2 无模式对话框 131

9.2 使用对话框 131

9.2.1 创建对话框过程 132

9.2.2 在对话框中使用控制 133

9.3 有关内容 133

10.2 Windows系统中处理文件的 134

规则 134

10.1 概述 134

第10章 文件输入和输出 134

10.3 创建文件 136

10.4 打开一个存在文件 136

10.5 读写文件 137

10.6 重新打开一个文件 137

10.7 提请文件 138

10.8 检查打开文件的状态 138

10.9 范例应用程序:EditFile 138

10.9.1 增加头文件中的定义 138

10.9.2 增加SaveAs对话框 138

10.9.3 增加Include语句 139

10.9.4 增加新变量 139

Case语句 140

10.9.5 修改WM_COMMAND 140

SESSION和WM_CLOSE 142

Cases语句 142

10.9.6 增加WM_QUERYEND_ 142

10.9.7 修改OpenDlg对话框 143

函数 143

10.9.8 增加SaveAsDlg对话框 143

函数 143

10.9.9 增加Helper函数 145

10.9.10 输出SaveAsDlg对话框 147

函数 147

10.9.11 增加堆空间 148

10.9.12 编译和连接 148

10.10 有关内容 148

11.2 创建位图 149

第11章 位图 149

11.1 什么叫位图 149

11.2.1 创建和装载一个位图 150

文件 150

11.2.2 创建并填充一个空白 150

位图 150

11.2.3 用硬编码位数据创建一个位图 151

11.2.4 绘制一个彩色位图 154

11.3 显示一个位图 155

11.3.1 用BitBlt函数显示一个 155

内存位图 155

11.3.2 拉伸一个位图 157

11.3.3 在样式画刷中使用位图 157

11.3.4 显示一个设备无关位图 158

11.4 在单色位图中增加颜色 159

11.5 删除一个位图 160

11.6 范例应用程序:Bitmap 160

11.6.1 修改头文件 161

11.6.2 增加位图资源 161

11.6.3 增加Bitmap,Pattern和 162

Mode菜单 162

11.6.4 增加全局和局部变量 162

Case语句 163

11.6.5 增加WM_CREATE 163

11.6.6 修改WM_DESTROY 166

Case语句 166

11.6.7 增加WM_LBUTTONUP, 166

WM_MOUSEMOVE和 166

WM_LBUTTONDOWN 166

Cases语句 166

Case语句 167

11.6.9 增加WM_ERASEBKGND 167

11.6.8 增加WM_RBUTTONUP 167

Case语句 167

11.6.10 修改WM_COMMAND 168

Case语句 168

11.6.11 修改Makefile文件 170

11.6.12 编译和连接 170

11.7 有关内容 170

第12章 打印 171

12.1 在Windows中打印 171

12.1.1 函数和打印机指令 172

12.2 检取当前打印机的信息 172

12.3 打印一行文字 173

12.4 打印一个位图 175

12.5 在打印过程中处理错误 176

12.6 取消打印操作 177

对话框函数 178

12.6.2 定义Abort对话框的 178

对话框 178

12.6.1 定义取消打印操作的 178

12.6.3 定义取消打印操作的 179

函数 179

12.6.4 执行一个可取消的 180

打印操作 180

12.6.5 用AbortDoc函数取消 180

一个打印操作 180

12.7 使用分段技术打印图像 181

12.8 范例应用程序:PrintFile 182

12.8.1 增加AbortDlg对话框 183

12.8.2 增加打印用变量 183

12.8.3 增中IDM_PRINT Case 183

语句 183

12.8.4 编制AbortDlg对话框函数和AbortProc函数 186

12.8.5 增加GetPrinterDC 186

函数 186

12.8.6 输出AbortDlg对话框函数和AbortProc函数 187

12.9 有关内容 188

12.8.7 编译和连接 188

第13章 裁剪板 189

13.1 使用裁剪板 189

13.1.1 挎贝文字到裁剪板 190

13.1.2 从裁剪板粘贴文字 192

13.1.3 从裁剪板粘贴位图 194

13.2.1 在请求时补偿数据 195

13.2.2 在终止前补偿格式 195

程序 195

13.2 使用特殊裁剪板特性 195

13.1.4 Windows裁剪板应用 195

13.2.3 登记私有格式 196

13.2.4 控制裁剪板中的数据 196

显示 196

13.3 范例应用程序:ClipText 198

13.3.1 增加新变量 198

13.3.3 增加WM_INITMENU Case 199

语句 199

13.3.2 修改实例初始化代码 199

13.3.4 修改WM_COMMAND Case 200

语句 200

13.3.5 增加WM_PAINT Case 201

语句 201

13.3.6 增加OutOfMemory 202

函数 202

13.3.7 编译和连接 202

13.4 有关内容 203

14.1 选择内存模式 207

第三部分 高级编程技术 207

第14章 C和汇编语言 207

14.2 使用NULL常数 208

14.3 使用命令行参数和MS-DOS 208

环境 208

14.4 编写输出函数 209

14.4.1 创建回调函数 209

C程序库 210

14.5.1 使用Windows的 210

14.5 使用C运行时间函数 210

14.4.2 创建WinMain函数 210

14.5.2 内存分配 211

14.5.3 处理字符串 211

14.5.4 文件输入和输出 212

14.5.5 控制台输入和输出 213

14.5.6 图形函数 213

14.5.7 浮点运算 213

14.5.8 运行其它的应用程序 213

14.5.10 删除C运行启动码 214

14.5.9 BIOS和MS-DOS接口 214

函数 214

14.6 编制汇编语言代码 215

14.6.1 改变中断标志 216

14.6.2 用汇编语言写输出函数 217

14.6.3 ES寄存器 218

14.7 有关内容 219

15.1 内存 220

第15章 内存管理 220

15.1.1 全局堆 221

15.1.2 局部堆 221

15.1.3 可删除内存 223

15.2 段 224

15.2.1 代码段 224

15.2.2 DATA语句 225

15.3 范例应用程序:Memory 225

15.3.3 增加新段定义 226

15.3.2 修改头文件 226

15.3.1 分离C语言源文件 226

15.3.4 修改makefile文件 227

15.3.5 编译和连接 228

15.4 有关内容 228

第16章 内存管理的进一步讨论 229

16.1 内存结构 229

16.1.1 标准模式 229

16.1.2 386增强模式 232

16.2 数据存储 233

16.2.1 自动数据段管理 234

16.2.2 局部动态数据对象管理 236

16.2.3 全局内存对象管理 239

16.2.4 窗口和类结构的额外 243

字节 243

16.2.5 资源管理 244

16.3 内存模式 246

16.4 巨型数据 247

16.5 管理程序数据时要避免的陷阱 248

16.6 程序代码的内存管理 249

16.6.1 代码段属性 250

16.6.2 多代码段 250

16.6.3 代码段的平衡 250

16.7 有关内容 251

第17章 打印设置 252

17.1 概述 252

17.2.1 打印设置和DEVMODE 253

结构 253

17.2 Windows如何管理打印设置 253

17.2.2 打印设置和打印机环境 254

17.3 使用设备驱动器函数 254

17.4 确定打印机驱动器的性能 256

17.5 使用打印设置 256

17.5.1 确定ExtDeviceMode的 256

输入和输出 256

17.5.2 检取打印设置的副本 257

17.5.4 用CreateDC函数修改打印设置 258

17.5.3 修改打印设置 258

17.5.5 在不影响其它应用程序的前提下修改打印设置 260

17.5.6 提示用户修改打印设置 260

17.6 在驱动程序间拷贝打印设置 261

17.7 维护自定义的打印设置 262

17.8 在旧版本的打印驱动程序下 262

工作 262

17.9 有关内容 263

18.1.1 字体的组织原理 264

第18章 字体 264

18.1 字体原理 264

18.1.2 测量字符 265

18.1.3 测量行距和字符内空间 266

18.1.4 字符集 266

18.2 Windows中的字体 268

18.2.1 光栅点阵(Raster)、矢量和TrueType字体 268

18.2.2 字体资源文件 269

18.2.3 TrueType字体基础 270

18.2.4 文字和字符属性 272

18.2.5 字体映射器 275

18.2.6 标准字体对话框 275

18.3 TrueType字体技术 276

18.3.1 所见即所得:WYSIWYG 276

18.3.2 嵌入字体 277

18.3.3 打印机可移植性 279

18.3.6 字体设计和比例变换 280

速度 280

18.3.4 文本的可移植性 280

18.3.5 磁盘空间、内存用法和 280

18.3.7 设计可移植性字体 281

18.4 在应用程序中使用字体 282

18.4.1 使用库存字体 282

18.4.2 列举字体 283

18.4.3 检查设备的文字能力 285

18.4.4 创建逻辑字体 286

信息 287

18.4.5 检取关于所选字体的 287

18.4.6 检取关于逻辑字体的 288

信息 288

18.4.7 绘制文字 288

18.4.8 True Type字体函数和 292

结构 292

18.4.9 创建自定义字体 296

18.5 有关内容 299

19.2 彩色调色板如何工作 300

19.1 彩色调色板做什么 300

第19章 彩色调色板 . 300

19.3 创建和使用逻辑调色板 302

19.3.1 创建LOGPALETTE 302

结构 302

19.3.4 实现调色板 305

19.4.1 直接指定调色板颜色 305

19.4 用调色板的颜色绘图 305

描述表 305

19.3.3 将调色板选入设备 305

19.3.2 创建逻辑调色板 305

19.4.2 间接指定调色板颜色 306

19.4.3 画位图时使用调色板 307

19.5 修改逻辑调色板 308

19.6 响应系统调色板的修改 310

19.6.1 响应WM_QUERYNE 310

WPALETTE消息 310

19.6.2 响应WM_PALET- 311

TECHANGED消息 311

19.7 有关内容 312

第20章 动态连接库 313

20.1 什么是动态连接库 313

20.1.1 输入库和动态连接库 314

20.1.2 应用程序模块和动态连接模块 314

20.1.3 动态连接库和任务 315

20.1.4 动态连接库和栈 315

20.1.5 Windows如何定位动态 316

连接库 316

20.2 什么时候使用自定义的 316

动态连接库 316

20.2.1 在应用程序间共享对象 316

20.2.2 为不同市场移植应用 317

程序 317

20.2.3 Windows钩子函数 318

20.2.4 设备驱动器 318

20.2.5 自定义控制 319

20.3 创建动态连接库 323

20.2.6 项目管理 323

20.3.1 创建C语言源文件 324

20.3.2 编制模块定义文件 329

20.3.3 编制Makefile文件 330

20.4 应用程序访问动态连接代码 332

20.4.1 创建库函数的原型 332

20.4.2 输入库函数 332

20.5 Windows对象所有权规则 334

20.6 范例动态连接库:Select 334

20.6.1 编制函数 335

20.6.2 编制初始化函数 339

20.6.3 编制退出函数 339

20.6.4 编制模块定义文件 339

20.6.5 编制头文件 340

20.6.6 编译和连接 340

20.7 有关内容 340

第21章 多文本界面 341

21.1 多文本界面应用程序的成分 341

21.2.2 创建窗口 342

21.2.1 登记窗口类 342

21.2 初始化多文本界面应用程序 342

21.3 编写主消息循环 343

21.4 编写边框窗口函数 344

21.5 编写子窗口函数 344

21.6 将数据与子窗口相联 345

21.6.1 在窗口结构中存放数据 345

21.6.2 使用窗口特征机制 345

21.7 控制子窗口 345

21.7.1 创建子窗口 346

21.7.2 删除子窗口 346

21.7.3 激活或挂起一个子窗口 346

21.7.4 在屏幕上安排子窗口 347

21.8 有关内容 347

第22章 动态数据交换 348

22.1 Windows中的数据交换 348

22.1.3 动态数据交换 349

22.1.4 Windows动态数据交换的用处 349

22.1.1 裁剪板传送 349

22.1.2 动态连接库 349

22.1.5 从用户角度看到的动态 350

数据交换 350

22.2 动态数据交换的概念 350

22.2.1 客户、服务器和会话 350

22.2.3 永久数据连接 351

22.2.4 原子和共享内存对象 351

项名 351

22.2.2 应用程序名、主题名和 351

22.3 动态数据交换消息 352

22.4 动态数据交换消息流程 352

22.4.1 启动一个会话 353

22.4.2 发送一个数据项 355

22.4.3 建立永久数据连接 359

22.4.4 执行远程应用程序中的 364

命令 364

22.4.5 终止会话 364

22.5 System主题 365

22.6 有关内容 365