标题：PowerBuilder Win32 API程序设计
基本信息
ISBN：9787302089872
定价：73元
印次：1-1
装帧：平装
印刷日期：2004-7-29
图书简介
本书为“PowerBuilderWin32API技术丛书”之《PowerBuilderWin32API程序设计（高级篇）》，全书分6篇共19章，内容包括：Windows系统的消息机制，通过消息增强控件功能的方法，Windows通用控件的调用、Win32API打印控制、位图操作、逻辑字体与文本、网络与Internet、FTP应用开发、Winsock网络应用开发等。全书以一定的广度和深度阐述了Win32API程序设计中不易掌握，而且相关资料比较匮乏的内容。书中提供了有关消息、打印控制、位图操作、网络访问、FTP文件传输、Winsock等Win32API高级应用的解决方案，将大大扩充PowerBuilder的许多功能。
本书可供具有一定PowerBuilder程序设计基础，而需要在PowerBuilder中进一步应有Win32API高级功能的程序员使用，也可供VisualBasic或Delphi等其他开发语言的程序员参考。
书籍目录
目录
第1篇Windows系统消息篇
第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事件与消息 8
1.2.1从消息到事件 8
1.2.2PB事件对消息的封装 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章通过消息增强控件功能 40
2.1进度条控件消息 40
2.1.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.4ListView控件消息 53
2.4.1ListView控件消息概述 53
2.4.2让ListView控件显示扁平滚动条 53
2.4.3自动调整ListView控件的列宽 54
2.4.4为ListView控件列增加Tooltips功能 55
2.5TreeView控件消息 56
2.5.1TreeView控件消息概述 56
2.5.2设置TreeView控件节点文本的最大长度 58
2.5.3仅允许TreeView控件节点文本中输入数字 58
第3章Windows通用控件的调用 60
3.1Windows通用控件概述 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篇打印及打印机控制篇
第5章Win32打印控制API基础 182
5.1Win32打印机API概述 182
5.2打印及打印机控制API函数 183
5.2.1打开打印机对象函数 183
5.2.2获取或设置打印机信息函数 184
5.2.3获取或设置默认打印机函数 186
5.2.4枚举打印机及打印作业信息函数 187
5.2.5获取打印设备属性函数 189
5.3打印及打印机相关数据结构 191
5.3.1DEVMODE结构 191
5.3.2PRINTER_DEFAULTS结构 199
5.3.3PRINTER_INFO_1结构 199
5.3.4PRINTER_INFO_2结构 200
第6章打印及打印机控制 202
6.1系统默认打印机的获取和设置 202
6.1.1Windows2000默认打印机的获取和设置 202
6.1.2Windows95/98/Me默认打印机的获取和设置 205
6.1.3WindowsNT4.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章定制仿Word打印、Excel页面设置对话框 224
7.1打印机控制用户对象的建立 224
7.2定制Word风格打印设置对话框 240
7.2.1Word打印对话框的特点 240
7.2.2Word风格打印对话框的建立 241
7.3定制Excel风格的页面设置对话框 246
7.3.1Excel风格的页面设置对话框的特点 246
7.3.2定制Excel风格的页面设置对话框 247
7.4综合示例 252
7.4.1示例窗口 252
7.4.2打印预览窗口 253
第3篇位图操作篇
第8章位图操作基础 258
8.1设备场景 258
8.1.1什么是设备场景 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常用位图对象API函数 278
8.3.1位图对象创建函数 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.2Windows预定义光栅运算码 291
8.4.3ROP效果演示 291
第9章位图操作应用实例 297
9.1图像透明显示效果的实现 297
9.1.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图像特技效果在窗口中的应用 328
9.4.1为窗口增加背景图案 328
9.4.2程序退出时窗口变暗效果的实现 333
第4篇逻辑字体与文本篇
第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通过文本函数增强PB进度条控件功能 366
10.5.1改进的PB进度条控件 366
10.5.2定制进度条控件 370
第5篇网络与Internet篇
第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.1Ping命令与网际消息控制协议 417
11.8.2通过API函数发送ICMP回应请求 418
11.9获取主机的MAC物理地址 423
11.9.1ARP协议及其工作原理 423
11.9.2通过IP地址获取本地或远程主机的MAC地址 424
第12章InternetExplore浏览器 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巧用浏览器功能 437
12.3.1文件下载 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.1IE浏览器架构 452
12.5.2WebBrowser控件的属性、方法、事件和OLE命令 452
12.5.3使用WebBrowser控件定制浏览器 455
第13章远程访问服务RAS 463
13.1远程访问服务RAS概述 463
13.1.1远程访问服务 463
13.1.2远程访问服务API接口 464
13.1.3Windows的RAS电话簿 465
13.1.4RAS错误信息 466
13.2调用RAS通用对话框 467
13.2.1调用主拨号网络对话框 467
13.2.2调用正在拨号对话框 470
13.2.3调用拨号网络监视器对话框 472
13.2.4Windows2000/XP中调用连接属性对话框 473
13.2.5Windows95/98中调用连接属性对话框 476
13.2.6调用创建新连接对话框 478
13.3获取系统拨号连接列表 479
13.3.1获取系统所有拨号连接列表 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章WinInet拨号连接控制 499
14.1WinInet拨号连接API函数概述 499
14.2启用拨号连接 500
14.2.1启动IE默认拨号连接 500
14.2.2启动指定拨号连接 503
14.3确定网络连接状态 507
14.3.1获取当前网络的连接状态 507
14.3.2测试到Internet的网络连接条件 511
第15章WinInet基础 513
15.1Internet协议 513
15.1.1TCP/IP协议 513
15.1.2HTTP协议 515
15.1.3OSI模型高层接口——WinInet 516
15.2WinInet接口函数 516
15.2.1WinInet接口函数 516
15.2.2WinInet接口函数句柄 519
15.2.3WinInet句柄层次关系 520
15.3WinInet版本及错误信息 523
15.3.1确定WinInet版本的重要性 523
15.3.2获取WinInet错误信息 526
第16章FTP文件传输 533
16.1FTP概述 533
16.1.1FTP协议和工作原理 533
16.1.2匿名FTP服务 534
16.2建立Internet会话 535
16.2.1FTP函数的调用层次 535
16.2.2打开Internet会话句柄 536
16.2.3建立Internet会话 539
16.3FTP服务器目录操作 542
16.3.1在FTP服务器上获取和切换工作目录 543
16.3.2在FTP服务器上创建和移除目录 544
16.3.3列出FTP服务器指定目录下的子目录或文件 546
16.4FTP服务器文件操作 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.1FTP控制连接和数据连接 566
16.5.2常用FTP命令 567
16.5.3使用FTPCommand函数发送FTP命令 570
16.6构筑FTP客户端应用系统 574
16.6.1创建PBFTP用户对象 575
16.6.2创建客户端文件和目录操作用户对象 588
16.6.3构建FTP客户端应用系统 593
第6篇Winsock网络应用开发篇
第17章Winsock网络应用基础 616
17.1WindowsSockets概述 616
17.1.1WindowsSockets基本概念 616
17.1.2Winsock在OSI模型中?牡匚?617
17.1.3Winsock传输数据类型 618
17.1.4Winsock的接口函数 619
17.1.5Winsock工作流程 623
17.2启动Winsock服务 625
17.2.1Winsock服务启动和终止 625
17.2.2处理Winsock错误 629
17.3主机名称与IP地址 632
17.3.1IP地址概述 632
17.3.2IP地址IPv4与Ulong格式的相互转换 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.4绑定（Binding）Socket 654
17.4.5接收数据 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创建WinsockFTP应用 701
18.3通过Winsock发送电子邮件 724
18.3.1发送邮件的基本思路 724
18.3.2创建基于Winsock的SMTP用户对象 726
18.3.3创建WinsockSMTP应用 734
18.4使用WinsockAPI实现点对点通信 736
18.4.1客户端程序 736
18.4.2服务器端程序 739
第19章Winsock控件及网络应用开发 743
19.1Winsock控件的属性、事件和方法 743
19.1.1Winsock控件的属性 743
19.1.2Winsock控件的方法 745
19.1.3Winsock控件的事件 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[1]