当前位置:首页 > 工业技术
Microsoft Windows 3.0  SDK  程序设计指南
Microsoft Windows 3.0  SDK  程序设计指南

Microsoft Windows 3.0 SDK 程序设计指南PDF电子书下载

工业技术

  • 电子书积分:13 积分如何计算积分?
  • 作 者:宋明华,童长忠译
  • 出 版 社:微宏电脑软件研究所
  • 出版年份:1991
  • ISBN:
  • 页数:367 页
图书介绍:
《Microsoft Windows 3.0 SDK 程序设计指南》目录

第一部分Windows应用程序设计引论 1

第1章Windows环境概貌 1

1.1 Microsoft Windows与DOS的比较 1

1.1.1用户界面 2

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消息循环 4

1.3 Windows库 5

1.4 建立Windows应用程序 6

1.5软件开发工具 7

1.5.1 C编译器 8

1.5.2连接程序 9

1.5.3 SDK资源编辑器 9

1.5.4资源编译程序 10

1.5.5调试和优化工具 10

1.5.6程序维护器 10

1.6编写 Windows应用程序的提示 12

1.7小结 13

第2章Windows应用程序Generic 14

2.1应用程序 14

2.2 Windows应用程序 15

2.3 W inMain函数 15

2.3.1 Windows的数据类型与结构 16

2.3.2句柄 17

2.3.3实例 17

2.3.4注册窗口类 17

2.3.5创建窗口 20

2.3.6显示和修改窗口 21

2.3.7创建消息循环 21

2.3.8产生控制 22

2.3.9终止应用程序 22

2.3.10初始化函数 23

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

2.4窗口函数 25

2.5创建一个About对话框 26

2.5.1创建一个对话框模板 26

2.5.2创建一个包含文件 27

2.5.3创建一个对话函数 28

2.5.4用About命令定义一个菜单 29

2.5.5处理WM—COMMAND消息 29

2.6创建模块定义文件 30

2.7装配Generic 32

2.7.1创建C语言源文件 32

2.7.2创建头文件 37

2.7.3创建资源描述文件 37

2.7.4 创建模块定义文件 37

2.7.5创建Make文件 38

2.7.6运行MAKE程序 39

2.8把Generic用作一个模板 39

2.9小结 40

第二部分Windows应用程序的编程 42

第3章 窗口输出 42

3.1显示描述表 42

3.1.1使用GetDC函数 42

3.1.2 WM—PAINT消息 42

3.1.3使用户区域无效 43

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

3.1.5坐标系 44

3.2创建、选择和删除绘图工具 44

3.3绘图与书写 45

3.4示例应用程序:Output 46

3.4.1加入新变量 46

3.4.2加入WM—CREATE分支语句 47

3.4.3加入WM—PAINT消息 47

3.4.4.修改WM—DESTROY分支语句 49

3.4.5编译并连接 50

3.5小结 50

第4章 键盘和鼠标输入 52

4.1 Windows输入消息 52

4.1.1消息格式 52

4.1.2键盘输入 52

4.1.3字符输入 53

4.1.4鼠标输入 53

4.1.5定时器输入 54

4.1.6卷滚条输入 54

4.1.7菜单输入 55

4.2示例应用程序:Input 55

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

4.2.2增加新变量 56

4.2.3设置窗口类风格 57

4.2.4 修改CreateWindow函数 57

4.2.5设置正文矩形 57

4.2.6增加WM—CREATE分支语句 58

4.2.7修改W M—DESTROY分支语句 58

4.2.8加入WM—KEYUP和WM—KEYDOWN分支语句 58

4.2.9加入WM—CHAR分支语句 59

4.2.10加入WM—MOUSEMOVE分支语句 59

4.2.11加入WM—LBUTTONUP和WM—LBUTTONDOWN 59

4.2.12加入WM—LBUTTONDBLCLK分支语句 59

4.2.13加入W M—TIMER分支语句 60

4.2.14加入WM—HSCROLL和WM—VSCROLL分支语句 60

4.2.15加入WM—PAINT分支语句 60

4.2.16编译并连接 62

4.3小结 62

第5章 图标 63

5.1何谓图标? 63

5.1.1使用固有图标 63

5.2使用自己的图标 63

5.2.1创建图标文件 64

5.2.2定义图标资源 64

5.2.3加载图标资源 65

5.3指定类图标 65

5.4显示自己的图标 65

5.5在对话框里显示图标 66

5.6示例应用程序:Icon 67

5.6.1加入一条ICON语句 67

5.6.2加入一条ICON控制语句 67

5.6.3设置类图标 67

5.6.4把MYICON,ICO加到Make文件 68

5.6.5编译并连接 68

5.7小结 68

第6章 光标、图标和键盘 69

6.1控制光标的形状 69

6.1.1使用固有光标形状 69

6.1.2使用你自己的光标形状 69

6.2显示光标 70

6.2.1指定类光标 70

6.2.2显式设置光标形状 70

6.2.3举例:在过长操作中显示小计时器 71

6.3让用户用鼠标选择信息 71

6.3.1开始图形选择 72

6.3.2显示选择 74

6.3.3结束选择 75

6.4用键盘移动光标 75

6.4.1用键盘移动光标 75

6.4.2没有鼠标时如何使用光标 77

6.5示例应用程序:Cursor 78

6.5.1加入CURSOR语句 79

6.5.2加入新变量 79

6.5.3设置类光标 79

6.5.4准备小计时器光标 79

6.5.5加入—过长操作 80

6.5.6加入WM—LBUTTONDOW、 WM—MOUSEMOVE和 WM—LBUTTONUP分支语句 81

6.5.7加入WM—KEYDOWN和WM—KEYUP分支语句 82

6.5.8加入WM—PAINT分支语句 84

6.5.9把BULLSEYE.CUR加到make文件中 84

6.5.10编译并连接 84

6.6小结 84

第7章 菜单 86

7.1何谓菜单? 86

7.2定义一菜单 86

7.2.1菜单ID 87

7.3把菜单包含到应用程序里 88

7.3.1指定窗口类的菜单 88

7.3.2指定特定窗口的菜单 88

7.4处理菜单输入 89

7.5应用程序用菜单工作 89

7.5.1激活和禁止菜单项 90

7.5.2选中和退选菜单项 91

7.5.3增加菜单项 91

7.5.4改变现有菜单 92

7.5.5删除菜单项 93

7.5.6把位图用作菜单项 93

7.5.7替换菜单 94

7.5.8创建—新菜单 94

7.5.9初始化—菜单 94

7.6特殊的菜单特征 95

7.6.1提供菜单加速键 95

7.6.2使用级联菜单 97

7.6.3使用浮动弹出式菜单 99

7.6.4设计自己的选中标记 100

7.6.5使用所有者画图菜单 101

7.7示例应用程序:Ed itMenu 102

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

7.7.2在包含文件中加入定义 103

7.7.3在资源描述文件中加入加速键表 104

7.7.4加入一新变量 104

7.7.5加载加速键表 104

7.7.6修改消息循环 105

7.7.7修改WM—COMMAND情况 105

7.7.8编译并连接 106

7.8小结 106

第8章 控制 107

8.1什么是控制 107

8.2建立一个控制 107

8.2.1指定控制类 108

8.2.2选择控制风格 108

8.2.3设置父窗口 109

8.2.4 选择控制ID 109

8.3使用控制 110

8.3.1接收用户输入 110

8.3.2发送控制消息 110

8.3.3关闭与激活控制的输入 110

8.3.4移动和改变控制窗口的大小 111

8.3.5终止控制 111

8.4建立和使用常用控制 111

8.4.1按钮控制 111

8.4.2静态控制 114

8.4.3列表框 115

8.4.4组合框 122

8.4.5编辑控制 123

8.4.6卷滚条 125

8.5一个示例应用程序:EditCntl 127

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

8.5.2增加新的变量 128

8.5.3增加一个CreateWindows函数 128

8.5.4修改WM—COMMAND分支支部语句 129

8.5.5增加一个WM—SETFOCUS分支语句 129

8.5.6增加一个WM—SIZE分支语句 130

8.5.7编译与连接 130

8.6小结 130

第9章 对话框 132

9.1什么是对话框 132

9.1.1模式的对话框 132

9.1.2无模式对话框 133

9.2使用对话框 133

9.2.1创建一个对话函数 133

9.2.2在对话框中使用控制 134

9.3一个示例应用程序:FileOpen 134

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

9.3.2建立对话框Open的模板 136

9.3.3增加新的变量 137

9.3.4增加IDM—Open分支语句 137

9.3.5建立函数OpenDlg 138

9.3.6增加帮助函数 140

9.3.7输入对话函数 142

9.3.8编译和连接 142

9.4小结 142

第10章 文件输入输出 144

10.1 Windows环境中处理文件的原则 144

10.2创建文件 145

10.3打开已存在文件 146

10.4读文件和写文件 146

10.5重打开文件 147

10.6关于文件的提示 147

10.7检查文件状态 147

10.8一个示例文件编辑器:EditFile 148

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

10.8.2增加对话框SaveAs 148

10.8.3增加包含语句 149

10.8.4增加新的变量 149

10.8.5替换WM—COMMAND分支语句 150

10.8.6增加WM—QUERYENDSESSION和WM—CLOSE分支语句 152

10.8.7修改对话函数OpenDlg 153

10.8.8增加对话函数SaveAsDlg 153

10.8.9增加帮助函数 155

10.8.10输出对话函数SaveAsDlg 158

10.8.11增加堆的空间 159

10.8.12编译与连接 159

10.9小结 159

第11章 位图 160

11.1什么是位图? 160

11.2创建位图 160

11.2.1创建与装入位图文件 160

11.2.2创建并填充空白位图 161

11.2.3用硬编码位方式创建位图 162

11.2.4绘制一个彩色位图 165

11.3显示位图 167

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

11.3.2缩放位图 168

11.3.3位图用于刷子图案 169

11.3.4显示与设备无关的位图 170

11.3.5位图用作菜单项 171

11.4将彩色加到单色位图中 171

11.5删除位图 172

11.6一个示例应用程序:Bitmap 172

11.6.1修改包含文件 173

11.6.2增加位图资源 173

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

11.6.4增加全局和局部变量 174

11.6.5增加WM—CREATE分支语句 175

11.6.6修改WM—DESTROY分支语句 178

11.6.7增加分支语句 178

11.6.8增加WM—REUTTONUP分支语句 179

11.6.9增加WM—ERASEBKGND分支语句 180

11.6.10修改WM—COMMAND分支语句 180

11.6.11修改Make文件 182

11.6.12编译与连择 183

11.7小结 183

第12章 打印 184

12.1在windows环境中打印 184

12.1.1使用打印机换码序列 184

12.2检索打印机的有关信息 185

12.3打印一行文本 186

12.4打印位图 187

12.5处理打印过程中的错误 188

12.6取消打印操作 190

12.6.1定义对话框Abort 190

12.6.2定义对话函数Abort 190

12.6.3定义函数Abort 191

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

12.6.5用ABORTDOC换码序列来取消打印操作 193

12.7使用段式打印技术来打印图形 193

12.8一个示例应用程序:PrntFile 194

12.8.1增加对话框AbrtDlg 195

12.8.2增加用于打印的新变量 195

12.8.3增加IDM—PRINT分支语句 196

12.8.4创建函数AbortDlg和AbortProc 198

12.8.5增加函数GetPrinterDC 199

12.8.6输出函数AbortDlg和AbortProc 200

12.8.7编译与连接 200

12.9小结 200

第12章 写字板 201

13.1使用写字板 201

13.1.1向写字板中拷贝文本 202

13.1.2从写字板中读取文本 203

13.1.3从写字板中读取位图 205

13.1.4 Windows的写字板应用程序 207

13.2使用特殊的写字板功能 207

13.2.1根据请求放弃数据 208

13.2.2 在结束之前放弃格式 208

13.2.3注册私有格式 208

13.2.4控制写字板中的数据的显示 208

13.3一个示例应用程序:ClipText 210

13.3.1增加新变量 211

13.3.2修改初始化代码 211

13.3.3增加WM—INITMENU分支语句 211

13.3.4修改WM—COMMADN分支语句 212

13.3.5增加WM—PAINT分支语句 215

13.3.6增加函数OutOfMemory 215

13.3.7编译与连接 216

13.8小结 216

第三部分 高级程序设计专题 218

第14章C与汇编语言 218

14.1选择内存模式 218

14.2使用NULL 219

14.3使用命令行参数和DOS环境 219

14.4编写输出函数 220

14.4.1创建一个加调过程 221

14.4.2创建函数WinMain 221

14.5.使用C运行时刻函数 221

14.5.1使用Windows C库程序 221

14.5.2分配内存 222

14.5.3字串操作 222

14.5.4使用文件输入与输出 223

14.5.5使用控制台输入与输出 224

14.5.6使用图形函数 224

14.5.7使用浮点运算 224

14.5.8执行其它应用程序 225

14.5.9使用BIOS和MS—DOS的接口函数 225

14.5.10删除C运行时刻启动代码 225

14.6编写汇编语言代码 226

14.6.1修改中断标志 227

14.6.2用汇编语言来编写需输出的函数 229

14.6.3使用寄存器 229

14.7小结 230

第15章 内存管理 231

15.1使用内存 231

15.1.1使用全局堆 231

15.1.2使用局部堆 232

15.1.3处理可废除的内存 233

15.2段的使用 234

15.2.1使用代码段 235

15.2.2 DATA段 236

15.3一个示例应用程序:Memory 236

15.3.1分割C语言源文件 236

15.3.2修改Include文件 237

15.3.3增加新的段定义 237

15.3.4修改Make文件 238

15.3.5编译与连接 239

15.4小结 239

第16章 关于内存管理的进一步说明 240

16.1 Windows的内存配置 240

16.1.1基本内存配置 240

16.1.2 EMS 4.0内存配置 242

16.1.3 Windows标准模式的内存配置 245

16.1.4 Windows 386增强模式的内存配置 248

16.2在Windows应用程序里使用数据存储 250

16.2.1管理自动数据段 251

16.2.2管理局部动态数据块 253

16.2.3管理全局内存块 257

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

16.2.5管理资源 263

16.3使用内存模式 265

16.4使用巨型数据 266

16.5管理程序数据时应避免的陷阱 267

16.5.1不要假定应用程序运行特权级 267

16.5.2在小、中模式中避免静态数据的远指针 267

16.5.3不要通过全局句柄向其他应用程序传递数据 268

16.5.4在任何模式下均不能假定句柄与远指针之间的关系 269

16.5.5除了Windows或DOS提供的值之外,不要向段寄存器装入其他值 269

16.5.6不要对段执行算术运算 269

16.5.7不要对段地址进行比较 269

16.5.8读写不要越过内存对象的尾部 269

16.6管理程序代码的内存 269

16.6.1使用代码段的属性 270

16.6.2使用多个代码段 270

16.6.3均衡代码段 270

16.6.4.DEF文件中代码段的接入顺序 271

16.7小结 271

第17章 打印设置 272

17.1 Windows如何管理打印设置 272

17.1.1打印设置与结构DEVMODE 273

17.1.2打印设置与打印机环境 273

17.2使用设备驱动程序的函数 274

17.3获取打印机驱动程序的能力 275

17.4处理打印设置 275

17.4.1函数ExtDeviceMode的输入与输出 276

17.4.2获得打印设置的拷贝 277

17.4.3改变打印设置 277

17.4.4用CreateDC进行打印设置 278

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

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

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

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

17.7使用旧式打印机驱动程序 282

17.8小结 282

第18章 字体 283

18.1输出正文 283

18.2输出字体时使用彩色 283

18.3使用库存字体 284

18.4创建一种逻辑字体 285

18.5一行中使用多种字体 286

18.6获取所选字体的有关信息 287

18.7获取逻辑字体的有关信息 288

18.8枚举字体 289

18.9检查设备的文本能力 290

18.10增加字体资源 292

18.11设置文本调整 292

18.12创建字体资源文件 293

18.12.1创建字体文件 293

18.12.2创建字体资源描述 293

18.12.3创建哑代模块(DummyCodeModule) 294

18.12.4创建模块定义文件 294

18.12.5编译与连接字体资源文件 295

18.13一个示例应用程序:showFont 295

18.14小结 296

第19章 调色板 297

19.1调色板的用途 297

19.2调色板如何工作 297

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

19.3.1创建LOGPALETTE数据结构 299

19.3.2创建逻辑调色板 302

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

19.3.4实现调色板 302

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

19.4.1直接指定调色板颜色 302

19.4.2间接指定调色板颜色 303

19.4.3绘位图时使用调色板 304

19.5改变逻辑调色板 305

19.6对于系统调色板所作改变的响应 306

19.6.1对WM—QUERYNEWPALETTE的响应 307

19.6.2对WM—PALETTECHANGED的响应 307

19.7小结 308

第20章 动态连接库 310

20.1何谓DLL 310

20.1.1输入库与DLL 310

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

20.1.3 DLL与任务 312

20.1.4 DLL与栈 312

20.1.5 Windows如何找到DLL 313

20.2何时使用用户DLL 313

20.2.1应用程序之间共享代码与资源 313

20.2.2为不同市场定制应用程序 314

20.2.3 Windows的钩子函数 315

20.2.4设备驱动程序 315

20.2.5用户控制 316

20.2.6项目管理 322

20.3创建一个DLL 322

20.3.1建立C语言源文件 323

20.3.2建立模块定义文件 328

20.3.3建立Make文件 328

20.4应用程序访问DLL代码 331

20.4.1创建一个库函数的原型 331

20.4.2输入库函数 331

20.5 Windows的对象拥有权原则 333

20.6一个示例库:Select 334

20.6.1创建库函数 334

20.6.2创建初始化例程 339

20.6.3建立Exit例程 339

20.6.4建立模块定义文件 340

20.6.5建立包含文件 340

20.6.6编译与连接 340

20.7小结 341

第21章 多文档界面 342

21.1 MDI应用程序的结构 342

21.2初始化M DI应用程序 342

21.2.1注册窗口类 343

21.2.2建立窗口 343

21.3编写主消息循环 344

21.4编写框架窗口函数 345

21.5编写子窗口函数 345

21.6数据与子窗口的对应 345

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

21.6.2使用窗口特性(Propetyy) 346

21.7控制子窗口 346

21.7.1创建子窗口 346

21.7.2消除子窗口 347

21.7.3激活与钝化子窗口 347

21.8小结 348

第22章 动态数据交换 349

22.1 Windows中的数据交换 349

22.1.1用写字板交换数据 349

22.1.2动态连接库 349

22.1.3动态数据交换 349

22.1.4 Windows DDE的使用 350

22.1.5用户眼中的DDE 350

22.2 DDE的概念 350

22.2.1客户、服务员与会话 350

22.2.2应用程序、主题和项 351

22.2.3永久性(“热”或“暖”)数据链路 351

22.3 DDE消息 351

22.4 DDE消息流 352

22.4.1启动一次会话 352

22.4.2传送单个项 354

22.4.3建立永久性数据链路 358

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

22.4.5结束一次会话 365

22.5 DDE客户与服务员应用程序示例 366

22.6小结 367

相关图书
作者其它书籍
返回顶部