《PowerBuilder Win32 API程序设计 高级卷》PDF下载

  • 购买积分:21 如何计算积分?
  • 作  者:马贵安,李明武,牛永生等编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2004
  • ISBN:7302089876
  • 页数:770 页
图书介绍:本书为“PowerBuilder Win32 API技术丛书”的一个分册。全书由六篇19章组成,内容包括Windows系统的消息机制、通过消息增强控件功能的方法、Windows通用控件的调用、Win32 API打印控制、位图操作、逻辑字体与文本、网络与Internet、FTP应用开发、Winsock网络应用开发等。全书以一定的广度和深度阐述了Win32 API程序设计中不易掌握,而且相关资料比较匮乏的内容。书中提供的有关消息、打印控制、位图操作、网络访问、FTP文件传输、Winsock等Win32 API高级应用的解决方案,将大大扩充PowerBuilder的许多功能。

目 录 2

第1篇 Windows系统消息篇 2

第1章Windows系统的消息机制 2

1.1Windows的工作机制 2

1.1.1Windows的工作方式——窗口、事件和消息 2

1.1.2句柄的概念 2

1.1.3消息的概念 3

1.1.4消息的类型 4

1.1.5用于发送消息的API函数 6

1.2.1从消息到事件 8

1.2事件与消息 8

1.2.2 PB事件对消息的封装 9

1.3消息应用的几个实例 17

1.3.1 通用消息设置对话框的超时关闭 17

1.3.2通过消息设置窗口标题和定义窗口热键 19

1.3.3 使用消息控制窗口系统菜单 21

1.4通过消息将应用图标加入到系统托盘中 23

1.4.1相关函数和结构 23

1.4.2载入图标的3种途径 25

1.4.3创建实现相关功能的用户对象 28

1.4.4应用实例 35

2.1.1进度条控件消息概述 40

第2章通过消息增强控件功能 40

2.1进度条控件消息 40

2.1.2通过消息改变进度条前景色和背景色 41

2.2组合框控件消息 42

2.2.1组合框控件消息概述 42

2.2.2使用消息为组合框添加项目内容 44

2.2.3组合框中项目内容的快速查找 45

2.2.4使用消息为组合框添加文件列表 45

2.2.5通过消息控制组合框的拉下或收起 46

2.3列表框控件消息解析 47

2.3.1列表框消息 47

2.3.2随鼠标移动自动选择列表框中项 49

2.3.3在列表框中快速查找开头含有某字符串的项 50

2.3.4为含有超长文本的列表框增加提示功能 51

2.4 ListView控件消息 53

2.4.1 ListView控件消息概述 53

2.4.2让ListView控件显示扁平滚动条 53

2.4.3 自动调整ListView控件的列宽 54

2.4.4为ListView控件列增加Tooltips功能 55

2.5 TreeView控件消息 56

2.5.1TreeView控件消息概述 56

2.5.3 仅允许TreeView控件节点文本中输入数字 58

2.5.2设置TreeView控件节点文本的最大长度 58

第3章Windows通用控件的调用 60

3.1 Windows通用控件概述 60

3.1.1通用控件窗口类 60

3.1.2判断通用控件动态库的版本 61

3.1.3动态创建控件 65

3.2月历控件调用 68

3.2.1 月历控件概述 68

3.2.2月历控件的样式 68

3.2.3月历控件的消息 70

3.2.4创建应用于数据窗口的月历控件用户对象 75

3.2.5在数据窗口中调用月历控件对象 102

3.3 日期与时间检出器控件的调用 106

3.3.1 日期与时间检出器控件概述 106

3.3.2 日期与时间检出控件的消息 107

3.3.3创建日期与时间检出器控件用户对象 110

3.3.4 日期与时间检出器控件用户对象的调用 121

3.4工具提示控件 123

3.4.1 工具提示控件概述 123

3.4.2工具提示控件的消息 125

3.4.3创建工具提示控件用户对象 131

3.4.4窗口中调用工具提示控件用户对象 139

3.4.5数据窗口中调用工具提示控件用户对象 141

3.5动画控件的调用 142

3.5.1动画控件概述 142

3.5.2动画控件的消息 143

3.5.3创建动画控件用户对象 145

3.5.4调用动画控件用户对象 147

第4章键盘消息机制及控制 149

4.1系统键盘控制概述 149

4.1.1键盘响应的消息机制 149

4.1.2虚拟键定义 150

4.1.3热键支持 152

4.2键盘控制应用实例 153

4.2.1 设置ScrollLock、NumLock和CapsLock键的状态 153

4.2.2数据窗口中用箭头键替代Tab键的功能 159

4.2.3 数据窗口中用Enter键替代Tab键的功能 161

4.2.4屏幕及活动窗口图像捕捉功能的实现 162

4.2.5通过Keybd_event函数最小化所有窗口 163

4.3为PB应用注册热键 164

4.3.1 相关API函数 164

4.3.2注册热键的方法 165

4.4 鼠标控制 167

4.4.1 将鼠标活动限定在某个范围内 168

4.4.2追踪鼠标移动 170

4.4.3使用动画鼠标指针 172

4.5键盘输入法 174

4.5.1 键盘输入法相关API函数 174

4.5.2获取系统键盘输入法列表 175

4.5.3输入法的自动切换 176

第2篇 打印及打印机控制篇 182

第5章Win32打印控制API基础 182

5.1 Win32打印机API概述 182

5.2.1 打开打印机对象函数 183

5.2打印及打印机控制API函数 183

5.2.2获取或设置打印机信息函数 184

5.2.3获取或设置默认打印机函数 186

5.2.4枚举打印机及打印作业信息函数 187

5.2.5获取打印设备属性函数 189

5.3打印及打印机相关数据结构 191

5.3.1 DEVMODE结构 191

5.3.2 PRINTER_DEFAULTS结构 199

5.3.3 PRINTER_INFO_1结构 199

5.3.4 PRINTER_INFO_2结构 200

6.1.1 Windows 2000默认打印机的获取和设置 202

6.1 系统默认打印机的获取和设置 202

第6章打印及打印机控制 202

6.1.2 Windows 95/98/Me默认打印机的获取和设置 205

6.1.3 Windows NT 4.0默认打印机的获取和设置 206

6.2获取系统安装的打印机列表 210

6.2.1获取系统安装的打印机列表简介 210

6.2.2获取指定打印机打印作业数目 212

6.3获取打印设备的各项性能 214

6.3.1 获取打印机支持的纸型 214

6.3.2获取打印机支持的纸盒 219

6.3.3获取打印机支持的打印精度 221

7.1 打印机控制用户对象的建立 224

第7章定制仿Word打印、Excel页面设置对话框 224

7.2定制Word风格打印设置对话框 240

7.2.1 Word打印对话框的特点 240

7.2.2 Word风格打印对话框的建立 241

7.3 定制Excel风格的页面设置对话框 246

7.3.1 Excel风格的页面设置对话框的特点 246

7.3.2定制Excel风格的页面设置对话框 247

7.4综合示例 252

7.4.1示例窗口 252

7.4.2打印预览窗口 253

8.1.1什么是设备场景 258

8.1设备场景 258

第3篇 位图操作篇 258

第8章位图操作基础 258

8.1.2设备场景的类型 260

8.1.3 获取和释放窗口的设备场景句柄 261

8.1.4创建和删除设备场景 263

8.1.5体验设备场景 264

8.2位图、画笔和刷子的基本概念 267

8.2.1位图 267

8.2.2画笔 269

8.2.3刷子 273

8.2.4 自定义图案刷子 276

8.3.1位图对象创建函数 278

8.3常用位图对象API函数 278

8.3.2位图对象绘制函数 280

8.3.3对象操作函数 286

8.3.4载入位图文件函数 287

8.3.5休眠函数 289

8.4光栅运算 289

8.4.1什么是光栅运算 289

8.4.2 Windows预定义光栅运算码 291

8.4.3 ROP效果演示 291

9.1.1通过光栅运算实现图像透明显示效果 297

第9章位图操作应用实例 297

9.1 图像透明显示效果的实现 297

9.1.2图像透明显示效果的另一种解决方案 305

9.2动画效果的实现 310

9.2.1 动画效果的实现基本思路 310

9.2.2应用示例 311

9.3 图像特技显示效果的实现 314

9.3.1 各种图像特技显示效果的实现原理 314

9.3.2特技显示效果的实现示例 318

9.4.1 为窗口增加背景图案 328

9.4 图像特技效果在窗口中的应用 328

9.4.2程序退出时窗口变暗效果的实现 333

第4篇 逻辑字体与文本篇 340

第10章逻辑字体与文本 340

10.1字体概述 340

10.1.1 字体及其分类 340

10.1.2字体家族 341

10.1.3字符集 342

10.1.4字体要素 344

10.2系统字体枚举、添加和删除 344

10.2.1 获取系统安装的字体列表 345

10.2.2为系统注册新字体 348

10.2.3注册字体实例——条形码的使用 354

10.3逻辑字体对象的建立 355

10.3.1创建逻辑字体 355

10.3.2通过CreateFont函数创建逻辑字体 359

10.4文本输出及显示特效的实现 361

10.4.1有关文本输出的API函数 361

10.4.2文本旋转效果的实现 362

10.4.3文本透明效果的实现 364

10.4.4文本多彩效果的实现 364

10.5.1 改进的PB进度条控件 366

10.5通过文本函数增强PB进度条控件功能 366

10.5.2定制进度条控件 370

第5篇 网络与Irternet篇 376

第11章网络访问 376

11.1 网络连接对话框的调用 376

11.1.1 网络连接对话框函数1 376

11.1.2网络连接对话框函数2 379

11.2枚举和浏览网络资源 384

11.2.1枚举网络资源 384

11.2.2通过文件夹浏览通用对话框浏览网络资源 390

11.3添加、取消网络连接 393

11.3.1相关API函数 393

11.3.2连接网络资源示例 395

11.4 网络驱动器UNC路径名及映射 397

11.4.1 获取网络驱动器的UNC路径名 397

11.4.2映射网络驱动器 399

11.5网络时间同步 402

11.5.1 获取服务器的时间信息 402

11.5.2与网络服务器时间同步 411

11.6获取用户的网络登录名 413

11.7判断网络的连接状态 415

11.8检测网络IP地址能否联通 417

11.8.1 Ping命令与网际消息控制协议 417

11.8.2通过API函数发送ICMP回应请求 418

11.9获取主机的MAC物理地址 423

11.9.1 ARP协议及其工作原理 423

11.9.2通过IP地址获取本地或远程主机的MAC地址 424

第12章Irternet Explore浏览器 428

12.1 获取浏览器信息 428

12.1.1 取得默认浏览器的路径和文件名 428

12.1.2取得IE浏览器的版本信息 430

12.2从应用中打开浏览器 435

12.2.1使用API函数打开浏览器 435

12.2.2使用PB动态库中函数打开浏览器 436

12.3.1文件下载 437

12.3巧用浏览器功能 437

12.3.2使用IE自动完成功能 439

12.3.3操作IE的收藏夹 442

12.4为IE工具栏添加自定义按钮 447

12.4.1 注册表中IE工具栏自定义按钮的相关信息 447

12.4.2添加自定义按钮应用示例 449

12.5在PB中定制浏览器 451

12.5.1 IE浏览器架构 452

12.5.2 WebBrowser控件的属性、方法、事件和OLE命令 452

12.5.3使用WebBrowser控件定制浏览器 455

13.1.1 远程访问服务 463

13.1 远程访问服务RAS概述 463

第13章远程访问服务RAS 463

13.1.2远程访问服务API接口 464

13.1.3 Windows的RAS电话簿 465

13.1.4 RAS错误信息 466

13.2调用RAS通用对话框 467

13.2.1 调用主拨号网络对话框 467

13.2.2调用正在拨号对话框 470

13.2.3调用拨号网络监视器对话框 472

13.2.4 Windows 2000/XP中调用连接属性对话框 473

13.2.5 Windows 95/98中调用连接属性对话框 476

13.2.6调用创建新连接对话框 478

13.3.1 获取系统所有拨号连接列表 479

13.3 获取系统拨号连接列表 479

13.3.2获取当前所有活动连接列表 482

13.4建立与远程网络的连接 484

13.4.1建立连接 484

13.4.2获取连接状态 486

13.4.3终止远程访问连接 489

13.4.4建立PB远程访问用户对象 490

第14章Winlnet拨号连接控制 499

14.1 WinInet拨号连接API函数概述 499

14.2.1 启动IE默认拨号连接 500

14.2启用拨号连接 500

14.2.2启动指定拨号连接 503

14.3确定网络连接状态 507

14.3.1 获取当前网络的连接状态 507

14.3.2测试到Internet的网络连接条件 511

第15章WirInet基础 513

15.1 Internet协议 513

15.1.1 TCP/IP协议 513

15.1.2 HTTP协议 515

15.2.1WinInet接口函数 516

15.1.3 OSI模型高层接口——WinInet 516

15.2 WinInet接口函数 516

15.2.2 WinInet接口函数句柄 519

15.2.3 WinInet句柄层次关系 520

15.3 WinInet版本及错误信息 523

15.3.1 确定WinInet版本的重要性 523

15.3.2获取WinInet错误信息 526

第16章FTP文件传输 533

16.1 FTP概述 533

16.1.1 FTP协议和工作原理 533

16.1.2匿名FTP服务 534

16.2.1 FTP函数的调用层次 535

16.2建立Internet会话 535

16.2.2打开Internet会话句柄 536

16.2.3 建立Internet会话 539

16.3 FTp服务器目录操作 542

16.3.1 在FTP服务器上获取和切换工作目录 543

16.3.2在FTP服务器上创建和移除目录 544

16.3.3 列出FTP服务器指定目录下的子目录或文件 546

16.4 FTP服务器文件操作 553

16.4.1 从FTP服务器下载文件 553

16.4.2获取FTP服务器端文件的大小 556

16.4.3 向FTP服务器上传文件 559

16.4.4删除FTP服务器端文件 561

16.4.5 重新命名FTP服务器端文件 563

16.5通过FTPCommand函数发送FTP命令 565

16.5.1 FTP控制连接和数据连接 566

16.5.2常用FTP命令 567

16.5.3 使用FTPCommand函数发送FTP命令 570

16.6构筑FTP客户端应用系统 574

16.6.1创建PB FTP用户对象 575

16.6.2创建客户端文件和目录操作用户对象 588

16.6.3构建FTP客户端应用系统 593

17.1 Windows Sockets概述 616

17.1.1 Windows Sockets基本概念 616

第6篇Winsock网络应用开发篇 616

第17章Winsock网络应用基础 616

17.1.2 Winsock在OSI模型中的地位 617

17.1.3 Winsock传输数据类型 618

17.1.4 Winsock的接口函数 619

17.1.5 Winsock工作流程 623

17.2启动Winsock服务 625

17.2.1 Winsock服务启动和终止 625

17.2.2处理Winsock错误 629

17.3.1 IP地址概述 632

17.3 主机名称与IP地址 632

17.3.2 IP地址IPv4与UIong格式的相互转换 634

17.3.3获取本地主机名称 636

17.3.4获取主机IP地址 637

17.3.5 网络顺序和主机顺序数值位相互转换 641

17.4通过Socket连接到远程主机 647

17.4.1 创建或关闭Socket 647

17.4.2通过Socket连接到远程主机 649

17.4.3 与远程主机建立连接示例 650

17.4.5接收数据 654

17.4.4绑定(Binding)Socket 654

17.4.6发送数据 658

17.4.7侦听和接收连接请求 662

第18章Winsock网络应用开发 665

18.1创建Winsock用户对象 665

18.1.1 声明用户对象结构、外部函数和常量 665

18.1.2用户对象的事件处理程序 668

18.1.3创建用户对象函数 669

18.2通过Winsock实现FTP功能 682

18.2.1通过Winsock实现FTP功能的基本思路 682

18.2.2创建基于Winsock的FTP用户对象 684

18.2.3 创建Winsock FTP应用 701

18.3通过Winsock发送电子邮件 724

18.3.1 发送邮件的基本思路 724

18.3.2 创建基于Winsock的SMTP用户对象 726

18.3.3创建Winsock SMTP应用 734

18.4使用Winsock API实现点对点通信 736

18.4.1客户端程序 736

18.4.2服务器端程序 739

第19章Winsock控件及网络应用开发 743

19.1 Winsock控件的属性、事件和方法 743

19.1.1 Winsock控件的属性 743

19.1.2 Winsock控件的方法 745

19.1.3 Winsock控件的事件 746

19.2使用Winsock控件创建简单的网络应用 749

19.2.1 创建简单的TCP网络应用 749

19.2.2创建简单的UDP网络应用 753

19.3 使用Winsock控件实现与远程时间服务器时间同步 756

19.3.1 与时间服务器时间同步的基本原理 757

19.3.2与时间服务器时间同步应用示例 758

附录A函数索引 763

附录B结构索引 766

附录C示例索引 768