《Windows 3.0软件开发指南 1 应用程序设计》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:熊桂喜,钟宁编译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:1991
  • ISBN:7302008574
  • 页数:355 页
图书介绍:

第一章 Windows环境概述 1

1.1 Microsoft Windows与DOS的比较 1

1.1.1 用户界面 1

1.1.2 队列式输入 2

1.1.3 与设备无关的图形 2

1.1.4 多任务 3

1.2 Windows程序设计模式 3

1.2.1 窗口 3

1.2.2 菜单 4

1.2.3 对话框 4

1.2.4 消息循环 5

1.3 Windows函数库 6

1.4 建立Windows应用程序 7

1.5.2 连接器 8

1.5.1 C编译器 8

1.5 软件开发工具 8

1.5.3 SDK资源编辑器 9

1.5.4 资源编译器 9

1.5.5 调试和优化工具 10

1.5.6 程序维护工具 10

1.6 编写Windows应用程序的要领 11

1.7 小结 12

第二章 Windows应用程序Generic 13

2.1 Generic应用程序 13

2.2 Windows应用程序 13

2.3 WinMain函数 14

2.3.1 Windows的数据类型和数据结构 14

2.3.2 句柄 15

2.3.3 实例 15

2.3.4 注册窗口类 16

2.3.5 建立窗口 18

2.3.6 显示和修改窗口 19

2.3.7 建立消息循环 20

2.3.8 提供控制 21

2.3.9 终止应用程序 21

2.3.10 初始化函数 22

2.3.11 应用程序的命令行参数 23

2.4 窗口函数 23

2.5 建立About对话框 24

2.5.1 建立对话框模板 25

2.5.2 建立包含文件 26

2.5.3 建立对话函数 26

2.5.4 用About命令定义菜单 27

2.5.5 处理WM_COMMAND消息 28

2.6 建立模块定义文件 29

2.7.1 建立C语言源文件 31

2.7 装配Generic 31

2.7.2 建立头文件 35

2.7.3 建立资源描述文件 35

2.7.4 建立模块定义文件 35

2.7.5 建立make文件 36

2.7.6 运行MAKE程序 37

2.8 把Generic作为模板使用 37

2.9 小结 38

第三章 窗口输出 39

3.1 显示描述表 39

3.1.1 使用GetDC函数 40

3.1.2 WM_PAINT消息 40

3.1.3 使用户区域无效 41

3.1.4 显示描述表与设备描述表 41

3.2 建立、选择和删除绘图工具 42

3.1.5 坐标系 42

3.3 绘图与书写 43

3.4 应用程序示例Output 44

3.4.1 增加新变量 44

3.4.2 增加WM_CREATE分支语句 45

3.4.3 增加WM_PAINT消息 45

3.4.4 修改WM_DESTROY分支语句 48

3.4.5 编译与连接 48

3.5 小结 49

第四章 键盘和鼠标器输入 50

4.1 Windows输入消息 50

4.1.1 消息的格式 50

4.1.2 键盘输入 51

4.1.3 字符输入 51

4.1.4 鼠标器输入 51

4.1.5 定时器输入 52

4.1.6 滚动条输入 53

4.1.7 菜单输入 54

4.2 应用程序示例Input 54

4.2.1 Input应用程序怎样显示输出 55

4.2.2 增加新变量 55

4.2.3 设置窗口类风格 56

4.2.4 修改CreateWindow函数 56

4.2.5 设置文本矩形 56

4.2.6 增加WM_CREATE分支语句 57

4.2.7 修改WM_DESTROY分支语句 57

4.2.8 增加WM_KEYUP和WM_KEYDOWN分支语句 57

4.2.9 增加WM_CHAR分支语句 57

4.2.10 增加WM_MOUSEMOVE分支语句 57

4.2.14 增加WMHSCROLL和WM_VSCROLL分支语句 58

4.2.13 增加WM_TIMER分支语句 58

4.2.12 增加WMLBUTTONDBLCLK分支语句 58

4.2.11 增加WM_LBUTTONUP和WM_LBUTTONDOWN分支语句 58

4.2.15 增加WM_PAINT分支语句 59

4.2.16 编译与连接 59

4.3 小结 60

第五章 肖像 61

5.1 什么是肖像 61

5.1.1 使用固有肖像 62

5.2 使用自己的肖像 62

5.2.1 建立肖像文件 62

5.2.2 定义肖像资源 62

5.2.3 载入肖像资源 63

5.3 指定类肖像 63

5.4 显示自己的肖像 63

5.5 在对话框内显示肖像 64

5.6.2 增加ICON控制语句 65

5.6 应用程序示例Icon 65

5.6.1 增加ICON语句 65

5.6.3 设置类肖像 66

5.6.4 把MYICON.ICO加入到make文件里 66

5.6.5 编译与连接 66

5.7 小结 66

第六章 光标、鼠标器和键盘 67

6.1 控制光标的形状 67

6.1.1 使用固有光标形状 67

6.1.2 使用自定义的光标形状 68

6.2 显示光标 68

6.2.1 指定类光标 68

6.2.2 显式设置光标形状 69

6.2.3 在过长操作中显示砂漏状光标的例子 69

6.3 让用户用鼠标器选择信息 70

6.3.1 开始图形选择 71

6.3.2 显示选择 72

6.3.3 结束选择 73

6.4 用键盘移动光标 74

6.4.1 使用键盘移动光标 74

6.4.2 没有鼠标器时如何使用光标 76

6.5 应用程序示例Cursor 76

6.5.1 增加CURSOR语句 77

6.5.2 增加新变量 77

6.5.3 设置类光标 78

6.5.4 准备砂漏状光标 78

6.5.5 增加长操作 78

6.5.6 增加WM_LBUTTONDOWN、WM_MOUSEMOVE和WM_LBUTTONUP分支语句 79

6.5.7 增加WM_KEYDOWN和WM_KEYUP分支语句 80

6.5.8 增加WM_PAINT分支语句 81

6.5.9 在makc文件里 加入BULLSEYE.CUR文件 82

6.5.10 编译与连接 82

6.6 小结 83

第七章 菜单 84

7.1 什么是菜单 84

7.2 定义菜单 84

7.2.1 菜单ID 85

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

7.3.1 为窗口类指定菜单 86

7.3.2 为特定的窗口指定菜单 86

7.4 处理菜单输入 87

7.5 用应用程序里的菜单工作 88

7.5.1 启动和禁止菜单项 88

7.5.2 选中与不选中菜单项 89

7.5.3 增加菜单项 89

7.5.4 修改现有菜单 90

7.5.6 使用点位图作为菜单项 91

7.5.5 删除菜单项 91

7.5.7 更换菜单 92

7.5.8 建立新菜单 92

7.5.9 初始化菜单 93

7.6 特殊的菜单特性 93

7.6.1 提供菜单加速键 94

7.6.2 使用重叠式菜单 96

7.6.3 使用浮动弹出式菜单 97

7.6.4 设计自已的选中标记 98

7.6.5 使用自己绘制的菜单 99

7.7 应用程序示例EditMcnu 100

7.7.1 把新菜单加入到资源文件中 101

7.7.2 把定义加入到包含文件中 101

7.7.5 载入加速键表 102

7.7.3 把加速键表 加入到资源描述文件中 102

7.7.4 增加新变量 102

7.7.6 修改消息循环 103

7.7.7 修改WM_COMMAND语句 103

7.7.8 编译与连接 104

7.8 小结 104

第八章 控制窗口 105

8.1 什么是控制窗口 105

8.2 建立控制窗口 105

8.2.1 指定控制类 106

8.2.2 选择控制窗口风格 106

8.2.3 设置父窗口 107

8.2.4 选择控制ID 107

8.3 使用控制窗口 107

8.3.3 禁止或允许对控制窗口的输入 108

8.3.2 发送控制窗口消息 108

8.3.1 接收用户输入 108

8.3.4 移动控制窗口和改变其大小 109

8.3.5 消除控制窗口 109

8.4 建立和使用一些常用控制窗口 109

8.4.1 按钮控制窗口 109

8.4.2 静态控制窗口 112

8.4.3 列表框 113

8.4.4 组合框 119

8.4.5 编辑控制窗口 120

8.4.6 滚动条 122

8.5 应用程序示例EditCntl 123

8.5.1 在包含文件中增加一个常量 124

8.5.2 增加新变量 124

8.5.3 增加CreateWindow函数 124

8.5.4 修改WM_COMMAND分支语句 125

8.5.5 增加WM_SETFOCUS分支语句 126

8.5.6 增加WM_SIZE分支语句 126

8.5.7 编译与连接 126

8.6 小结 126

第九章 对话框 128

9.1 什么是对话框 128

9.1.1 模式对话框 128

9.1.2 无模式对话框 129

9.2 使用对话框 130

9.2.1 创建一个对话函数 130

9.2.2 在对话框中使用控制 131

9.3 应用程序示例FileOpen 131

9.3.1 在包含文件中增加常量 132

9.3.2 创建Open对话框的模板 132

9.3.4 增加IDM OPEN分支语句 133

9.3.3 增加新变量 133

9.3.5 创建OpenDlg函数 134

9.3.6 增加儿个辅助函数 136

9.3.7 引出(export)对话函数 138

9.3.8 编译与连接 138

9.4 小结 138

第十章 文件输入与输出 140

10.1 Windows环境中处理文件的要领 140

10.2 创建文件 142

10.3 打开已存在的文件 142

10.4 文件的读操作与写操作 143

10.5 重新打开文件 143

10.6 文件操作的提示 143

10.8 一个简单的文件编辑器示例EditFile 144

10.8.1 在包含文件中增加一个常量 144

10.7 检查文件状态 144

10.8.2 增加SaveAs对话框 145

10.8.3 增加包含语句 145

10.8.4 增加新变量 145

10.8.5 替换WM_COMMAND分支语句 146

10.8.6 增加WM_QUERYEND SESSION和WM_CLOSE分支语句 148

10.8.7 修改OpenDlg对话函数 148

10.8.8 增加SaveAsDlg对话函数 149

10.8.10 输出SaveAsDlg对话函数 153

10.8.9 增加儿个辅助函数 154

10.8.11 增加堆的空间 154

10.8.12 编译与连接 154

10.9 小结 154

第十一章 点位图 155

11.1 什么是点位图 155

11.2 创建点位图 155

11.2.2 创建和填充空白点位图 156

11.2.1 创建点位图并装入点位图文件 156

11.2.3 以硬设备编码位方式创建点位图 158

11.2.4 绘制一个彩色点位图 160

11.3 显示点位图 161

11.3.1 使用BitBlt函数显示内存点位图 161

11.3.2 缩放点位图 163

11.3.3 在图案刷子中使用点位图 163

11.3.4 显示与设备无关的点位图 164

11.3.5 使用点位图作为菜单项 165

11.4 在单色点位图中加入彩色 166

11.5 删除点位图 166

11.6 应用程序示例Bitmap 166

11.6.1 修改包含文件 167

11.6.4 增加全局变量和局部变量 168

11.6.3 增加点位图、图案和模式菜单 168

11.6.2 增加点位图资源 168

11.6.5 增加WM CREATE分支语句 169

11.6.6 修改WM_DESTROY分支语句 172

11.6.7 增加分支语句:WM_LBUTTONUP、WM_MOUUSEMOVE和WM_LBUTTONDOWN 172

11.6.8 增加WM_RBUTTONUP分支语句 173

11.6.9 增加WM_ERASEBKGND分支语句 173

11.6.10 修改WM_COMMAND分支语句 173

11.6.11 修改make文件 175

11.6.12 编译与连接 175

11.7 小结 176

第十二章 打印 177

12.1 在Windows环境中打印 177

12.1.1 使用打印机控制码 177

12.2 获取当前打印机的信息 178

12.3 打印一行正文 179

12.4 打印点位图 180

12.5 打印过程中的出错处理 181

12.6 取消打印操作 182

12.6.1 定义Abort对话框 183

12.6.2 定义Abort对话函数 183

12.6.3 定义中止函数 183

12.6.4 执行可中止的打印操作 185

12.6.5 用ABORTDOC控制码来取消打印操作 185

12.7 使用逐段生成技术来打印图形 185

12.8 应用程序示例PrntFile 187

12.8.1 增加AbortDlg对话框 187

12.8.2 增加支持打印的新变量 187

12.8.3 增加IDM_PRINT分支语句 188

12.8.4 创建AbortDlg和AbortProc函数 190

12.8.6 引出(export)AbortDlg函数和AbortProc函数 191

12.8.5 增加GetPrinterDC函数 191

12.8.7 编译与连接 192

12.9 小结 192

第十三章 剪接板 193

13.1 使用剪接板 193

13.1.1 向剪接板中拷贝正文 194

13.1.2 从剪接板中拷出正文 195

13.1.3 从剪接板中获取点位图进行粘接 197

13.1.4 Windows的剪接板应用程序 199

13.2 使用特殊的剪接板功能 199

13.2.1 根据请求放弃数据 199

13.2.2 在结束之前去掉数据格式 200

13.2.3 注册私用数据格式 200

13.2.4 控制剪接板中的数据显示 200

13.3 应用程序示例ClipText 202

13.3.3 增加WM_INITMENU分支语句 203

13.3.1 增加新变量 203

13.3.2 修改过程实例的初始化代码 203

13.3.4 修改WM_COMMAND分支语句 204

13.3.5 增加WM_PAINT分支语句 206

13.3.6 增加OutOfMemory函数 206

13.3.7 编译和连接 207

13.4 小结 207

第十四章 C与汇编语言 209

14.1 选择内存模式 209

14.2 使用NULL 210

14.3 使用命令行参数及利用DOS环境 210

14.4 编写引出函数(exportedfunction) 211

14.4.1 创建回调函数 211

14.5 使用C运行库函数 212

14.5.1 使用Windows C的库程序 212

14.4.2 创建函数WinMain 212

14.5.2 分配内存 213

14.5.3 字符串操作 213

14.5.4 使用文件输入和输出 214

14.5.5 使用控制台输入和输出 214

14.5.6 使用图形函数 215

14.5.7 使用浮点运算 215

14.5.8 执行其他应用程序 215

14.5.9 使用BIOS和MS-DOS的接口函数 216

14.5.10 消除C运行库中的启动代码 216

14.6 编写汇编语言代码 217

14.6.1 修改中断标志 218

14.6.2 用汇编语言编写引出函数(exported function) 219

14.6.3 使用ES寄存器 219

14.7 小结 220

15.1 使用内存 221

第十五章 内存管理 221

15.1.1 使用全局堆 222

15.1.2 使用局部堆 223

15.1.3 处理可丢弃的内存 224

15.2 段的使用 225

15.2.1 代码段的使用 225

15.2.2 DATA段的使用 226

15.3 应用程序示例Memory 227

15.3.1 分割C语言源程序文件 227

15.3.2 修改Include文件 227

15.3.3 增加新的段定义 227

15.3.4 修改make文件 228

15.3.5 编译与连接 229

15.4 小结 229

16.1.1 基本内存配置 230

16.1 Windows的内存配置 230

第十六章 关于内存管理的进一步说明 230

16.1.2 EMS 4.0内存配置 232

16.1.3 Windows标准模式下的内存配置 235

16.1.4 Windows386增强模式下的内存配置 238

16.2 在Windows应用程序中使用的数据存储方式 240

16.2.1 管理自动数据段 241

16.2.2 管理局部动态数据块 242

16.2.3 管理全局内存块 246

16.2.4 使用窗口和类数据结构中的附加字节 251

16.2.5 管理资源 252

16.3 使用内存模式 254

16.4 使用巨型数据 255

16.5 管理程序数据时应注意的问题 256

16.6.1 使用代码段属性 258

16.6.2 使用多个代码段 258

16.6 程序代码占用内存的管理 258

16.6.3 均衡代码段 259

16.6.4 DEF文件中代码段的顺序 259

16.7 小结 260

第十七章 打印设置 261

17.1 Windows对打印设置的管理 261

17.1.1 打印设置和DEVMODE结构 262

17.1.2 打印设置和打印机环境 263

17.2 使用设备驱动程序函数 263

17.3 获取打印机驱动程序的特性 264

17.4 处理打印设置项 264

17.4.1 指定ExtDeviceMode函数的输入输出 265

17.4.2 获取完整的打印设置参数 266

17.4.3 改变打印设置参数 266

17.4.4 使用CreateDC函数进行打印设置 267

17.4.5 改变打印设置而不影响其他应用程序 269

17.4.6 提示用户改变打印设置 269

17.5 在驱动程序间拷贝打印设置 271

17.6 维护应用程序自己的打印设置 271

17.7 使用旧的打印机驱动程序 271

17.8 小结 272

第十八章 字库 273

18.1 输出正文 273

18.2 输出正文时彩色的使用 273

18.3 使用GDI给定的字库 274

18.4 创建逻辑字库 275

18.5 一行中使用多种字体 276

18.6 获取所选字库的有关信息 277

18.7 获取逻辑字库的信息 278

18.8 枚举字库 279

18.9 检查设备的正文输出能力 280

18.10 添加字库资源 281

18.11 设置正文输出格式 282

18.12 创建字库资源文件 282

18.12.1 创建字库文件 282

18.12.2 创建字库资源描述文件 283

18.12.3 创建哑代码模块 283

18.12.4 创建模块定义文件 283

18.12.5 编译和连接字库资源文件 284

18.13 应用程序示例ShowFont 285

18.14 小结 285

第十九章 调色板 286

19.1 调色板的作用 286

19.2 调色板的工作原理 287

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

19.3.1 创建LOGPALETTE数据结构 288

19.3.3 将调色板选入设备描述表 290

19.3.2 创建逻辑调色板 290

19.3.4 实现调色板 291

19.4 用调色板上的颜色绘图 291

19.4.1 直接指定调色板中的颜色 291

19.4.2 间接指定调色板中的颜色 292

19.4.3 在画点位图时使用调色板 293

19.5 改变逻辑调色板 294

19.6 响应系统调色板所作的改变 295

19.6.1 对WM_QUERYNEWPA-LETTE消息的响应 295

19.6.2 对WM_PALETTECHAN-GED消息的响应 296

19.7 小结 297

第二十章 动态连接库 298

20.1 什么是DLL 298

20.1.1 引入(import)库与DLL 299

20.1.2 DLL模块与应用程序模块 299

20.1.3 DLL与任务 300

20.1.4 DLL与堆栈 301

20.1.5 Windows如何定位DLL 301

20.2 何时使用用户DLL 302

20.2.1 应用程序之间共享代码和资源 302

20.2.2 针对不同的要求确定应用程序 303

20.2.3 Windows的中继器 304

20.2.4 设备驱动程序 304

20.2.5 用户控制 305

20.2.6 项目管理 311

20.3 创建DLL 311

20.3.1 建立C语言源程序文件 311

20.3.2 建立模块定义文件 316

20.3.3 建立make文件 317

20.4.2 移入库函数 319

20.4.1 使用一个库函数的原型 319

20.4 应用程序访问DLL代码 319

20.5 Windows对象的拥有权原则 321

20.6 库的示例Select 322

20.6.1 创建库函数 323

20.6.2 创建初始化例程 326

20.6.3 创建Exit例程 327

20.6.4 建立模块定义文件 327

20.6.5 建立包含文件 327

20.6.6 编译与连接 328

20.7 小结 328

第二十一章 多文档界面 329

21.1 MDI应用程序的结构 329

21.2 初始化MDI应用程序 330

21.2.1 注册窗口类 330

21.3 编写主消息循环 331

21.2.2 创建窗口 331

21.4 编写框架窗口函数 332

21.5 编写子窗口函数 333

21.6 数据与子窗口的对应 333

21.6.1 将数据存储在窗口结构中 333

21.6.2 使用窗口特征 333

21.7 控制子窗口 334

21.7.1 创建子窗口 334

21.7.2 撤销子窗口 335

21.7.3 激活和禁止子窗口 335

21.7.4 在屏幕上安排用户子窗口 335

21.8 小结 336

22.1.1 用剪接板传输数据 337

22.1.2 动态连接库 337

第二十二章 动态数据交换 337

22.1 Windows中的数据交换 337

22.1.3 动态数据交换 338

22.1.4 Windows DDE的使用 338

22.1.5 从用户角度看DDE 338

22.2 DDE的一些概念 339

22.2.1 用户、服务器和会话 339

22.2.2 应用程序、主题和项 339

22.3 DDE消息 340

22.2.3 永久性的(“热的”或“暖的”)数据链 340

22.4 DDE消息流 341

22.4.1 会话的初始化 341

22.4.2 单个项的传递 343

22.4.3 建立永久性数据链 346

22.4.4 在远程应用程序中执行命令 351

22.4.5 结束会话 353

22.5 DDE用户和服务器应用程序的例子 354

22.6 小结 355