注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计PowerbuilderPowerBuilder Win32 API程序设计(高级卷)

PowerBuilder Win32 API程序设计(高级卷)

PowerBuilder Win32 API程序设计(高级卷)

定 价:¥73.00

作 者: 马贵安等编著
出版社: 清华大学出版社
丛编项: PowerBuilder Win32 API技术丛书
标 签: Powerbuilder

ISBN: 9787302089872 出版时间: 2004-08-01 包装: 胶版纸
开本: 26cm+光盘1片 页数: 770 字数:  

内容简介

  本书特点:·深层次诠释Win32API技术的内涵·全方位扩充和丰富PowerBuilder的功能·快速提升用户的PowerBuilder应用开发水准·适用于PowerBuilder7.0及以上版本·配书光盘提供了本书范例的全部源代码丛书特色:经典:全球第一套系统介绍PowerBuilder中Win32APl技术应用方案的书籍实用:面向一线程序员,适用于初、中、高各个级别的PowerBuilder程序员参考系统:全面涵盖Win32API开发技术,极大地扩充和丰富PowerBuilder应用功能通过Windows应用程序接口API,可以丰富和扩充PowerBuilder功能。本套丛书是目前国内外第一套系统介绍PowerBuilder中Win32API程序设计的书籍,丛书以丰富的实例,系统、全面、深入介绍了在PowerBuilder中调用Windows系统API函数的方法,提供了大量应用系统开发中迫切需要,而用PowerBuilder无法实现的功能。该书为《PowerBuilderWin32API程序设计宝典――高级卷》,全书由六篇十九章组成,内容包括Windows系统的消息机制、通过消息增强控件功能的方法及Windows通用控件的调用;Win32API打印控制、位图操作、逻辑字体与文本、网络与Internet、FTP应用开发、Winsock网络应用开发等。全书以一定的广度和深度阐述了Win32API程序设计中不易掌握,而且相关资料比较匮乏的内容。书中提供的有关消息、打印控制、位图操作、网络访问、FTP文件传输、Winsock等Win32API高级应用的解决方案,将大大扩充PowerBuilder的许多功能。本书可供具有一定PowerBuilder程序设计基础,而需要在PowerBuilder中进一步应用Win32API高级功能的程序员使用,也可供VisualBasic或Delphi等其它开发语言的程序员参考。

作者简介

  马贵安,高级工程师,现供职于黄河水利水电开发总公司。长期从事MIS及GIS系统在企业的应用和推广工作。主持和参与开发了多个应用于水利、文物保护、水环境保护等领域的信息系统。对Win32API技术及其在PowerBuilder中的应用有很深的造诣。李明武,大学讲师,现供职于中国人民银行郑州培训学院信息部。长期从事计算机基础教学和网络颁布式数据应用系统的研发。精通包括PowerBuilder在内的多种开发语言。曾经参与《金融计算机应用》、《计算机操作基础教程》等已知的编写。牛永生,高级工程师,现供职于黄河流域水资源保护局。长期以来致力于PowerBuilder与Sybase数据库及地理信息系统在水资源保护领域应用系统的研发。其主持开发的水环境监测信息系统曾获省、部级奖。

图书目录

第一篇  Windows系统消息篇
 第1章 Windows系统的消息机制  3
 1.1  Windows 的工作机制  3
 1.1.1  Windows 的工作方式――窗口. 事件和消息  3
 1.1.2  句柄的概念  4
 1.1.3  消息的概念  4
 1.1.4  消息的类型  5
 1.1.5  用于发送消息的API函数  7
 1.2  事件与消息  9
 1.2.1  从消息到事件  9
 1.2.2  PB事件对消息的封装  11
 1.3  消息应用的几个实例   20
 1.3.1  通用消息设置对话框的超时关闭  20
 1.3.2  通过消息设置窗口标题和定义窗口热键  22
 1.3.3  使用消息控制窗口系统菜单  25
 1.4  通过消息将应用图标加入到系统托盘中  27
 1.4.1  相关函数和结构  27
 1.4.2  载入图标的三种途径  29
 1.4.3  创建实现相关功能的用户对象   32
 1.4.4  应用实例  41
 第2章 通过消息增强控件功能   47
 2.1  进度条控件消息  47
 2.1.1  进度条控件消息   47
 2.1.2  通过消息改变进度条前景色和背景色  48
 2.2  组合框控件消息   49
 2.2.1  组合框控件消息  49
 2.2.2  使用消息为组合框添加项目内容  51
 2.2.3  组合框中项目内容的快速查找  52
 2.2.4  使用消息为组合框添加文件列表  53
 2.2.5  通过消息控制组合框的拉下或收起  54
 2.3  列表框控件消息解析  56
 2.3.1  列表框消息  56
 2.3.2  随鼠标移动自动选择列表框中项  58
 2.3.3  在列表框中快速查找开头含有某字符串的项  59
 2.3.4  为含有超长文本的列表框增加提示功能  60
 2.4  ListView控件消息  62
 2.4.1  ListView控件消息  62
 2.4.2  让ListView控件显示扁平滚动条  63
 2.4.3  自动调整ListView控件的列宽  63
 2.4.4  为ListView控件列增加Tooltips功能  65
 2.5  TreeView控件消息  66
 2.5.1  TreeView控件消息  66
 2.5.2  设置TreeView控件节点文本的最大长度  68
 2.5.3  仅允许TreeView控件节点文本中输入数字  69
 第3章  Windows通用控件的调用  70
 3.1  Windows通用控件概述  70
 3.1.1  通用控件窗口类  70
 3.1.2  判断通用控件动态库的版本  72
 3.1.3  动态创建控件   76
 3.2  月历控件调用  79
 3.2.1  月历控件概述  79
 3.2.2  月历控件的样式  80
 3.2.3  月历控件的消息  81
 3.2.4  创建应用于数据窗口的月历控件用户对象  86
 3.2.5  在数据窗口中调用月历控件对象  122
 3.3  日期与时间检出器控件的调用  127
 3.3.1  日期与时间检出器控件概述  127
 3.3.2  日期与时间检出控件的消息  129
 3.3.3  创建日期与时间检出器控件用户对象  132
 3.3.4  日期与时间检出器控件用户对象的调用  145
 3.4  工具提示(ToolTip)控件   149
 3.4.1  工具提示(ToolTip)控件概述  149
 3.4.2  工具提示(ToolTip)控件的消息  150
 3.4.3  创建工具提示(ToolTip)控件用户对象  157
 3.4.4  窗口中调用工具提示控件用户对象  167
 3.4.5  数据窗口中调用工具提示控件用户对象  169
 3.5  动画控件的调用   171
 3.5.1  动画控件概述   171
 3.5.2  动画控件的消息   173
 3.5.3  创建动画控件用户对象   174
 3.5.4  调用动画控件用户对象   177
 第4章  键盘消息机制及控制   179
 4.1  系统键盘控制概述  179
 4.1.1  键盘响应的消息机制  179
 4.1.2  虚拟键定义  180
 4.1.3  热键支持  183
 4.2  键盘控制应用实例  183
 4.2.1  设置ScrollLock. NumLock和CapsLock键的状态  183
 4.2.2  数据窗口中用箭头键替代Tab键的功能  190
 4.2.3  数据窗口中用Enter键替代Tab键的功能  192
 4.2.4  屏幕及活动窗口图像捕捉功能的实现  194
 4.2.5  通过Keybd_event函数最小化所有窗口  195
 4.3  为PB应用注册热键  196
 4.3.1  相关API函数  197
 4.3.2  注册热键的方法  198
 4.4  鼠标控制  201
 4.4.1  将鼠标活动限定在某个范围内  201
 4.4.2  追踪鼠标移动  204
 4.4.3  使用动画鼠标指针  206
 4.5  键盘输入法  208
 4.5.1  键盘输入法相关API函数  208
 4.5.2  获取系统键盘输入法列表  210
 4.5.3  输入法的自动切换  211
 第二篇  打印及打印机控制篇
 第5章  Win32打印控制API基础  217
 5.1  Win32打印机API概述  217
 5.2  打印及打印机控制API函数  219
 5.2.1  打开打印机对象函数  219
 5.2.2  获取或设置打印机信息函数  220
 5.2.3  获取或设置缺省打印机函数  222
 5.2.4  枚举打印机及打印作业信息函数  223
 5.2.5  获取打印设备属性函数  225
 5.3  打印及打印机相关数据结构  228
 5.3.1  DEVMODE结构  228
 5.3.2  PRINTER_DEFAULTS结构  236
 5.3.3  PRINTER_INFO_1结构  237
 5.3.4  PRINTER_INFO_2结构  238
 第6章 打印及打印机控制  240
 6.1  系统缺省打印机的获取和设置  240
 6.1.1  Windows 2000缺省打印机的获取和设置  240
 6.1.2  Windows 95/98/Me缺省打印机的获取和设置  243
 6.1.3  Windows NT 4.0默认打印机的获取和设置  246
 6.2  获取系统安装的打印机列表  250
 6.2.1  获取系统安装的打印机列表  250
 6.2.2  获取指定打印机打印作业数目  253
 6.3  获取打印设备的各项性能  255
 6.3.1  获取打印机支持的纸型  255
 6.3.2  获取打印机支持的纸盒  261
 6.3.3  获取打印机支持的打印精度  264
 第7章 定制仿Word打印. Excel页面设置对话框  267
 7.1  打印机控制用户对象的建立  267
 7.2  定制Word风格打印设置对话框  289
 7.2.1  Word打印对话框的特点  289
 7.2.2  Word风格打印对话框的建立  290
 7.3  定制Excel风格的页面设置对话框  296
 7.3.1  Excel风格的页面设置对话框的特点  296
 7.3.2  定制Excel风格的页面设置对话框  297
 7.4  综合示例  304
 7.4.1  示例窗口  304
 7.4.2  打印预览窗口  305
 第三篇  位图操作篇
 第8章  位图操作基础   311
 8.1  设备场景  311
 8.1.1  什么是设备场景?  311
 8.1.2  设备场景的类型  313
 8.1.3  获取和释放窗口的设备场景句柄  315
 8.1.4  创建和删除设备场景  316
 8.1.5  体验设备场景  318
 8.2  位图. 画笔和刷子的基本概念  322
 8.2.1  位图  322
 8.2.2  画笔  324
 8.2.3  刷子  328
 8.2.4  自定义图案刷子  332
 8.3  常用位图对象API函数  334
 8.3.1  位图对象创建函数  334
 8.3.2  位图对象绘制函数  336
 8.3.3  对象操作函数  344
 8.3.4  载入位图文件函数  346
 8.3.5  休眠函数  348
 8.4  光栅运算  348
 8.4.1  什么是光栅运算?  348
 8.4.2  Windows预定义光栅运算码  350
 8.4.3  ROP效果演示  350
 第9章  位图操作应用实例   357
 9.1  图像透明显示效果的实现  357
 9.1.1  通过光栅运算实现图像透明显示效果  357
 9.1.2  图像透明显示效果的另一种解决方案  368
 9.2  动画效果的实现  373
 9.2.1  动画效果的实现基本思路  373
 9.2.2  应用示例  375
 9.3  图像特技显示效果的实现  378
 9.3.1  各种图像特技显示效果的实现原理  378
 9.3.2  特技显示效果的实现示例  382
 9.4  图像特技效果在窗口中的应用  396
 9.4.1  为窗口增加背景图案  396
 9.4.2  程序退出时窗口变暗效果的实现  402
 第四篇  逻辑字体与文本篇
 第10章  逻辑字体与文本  411
 10.1  字体概述  411
 10.1.1  字体及其分类  411
 10.1.2  字体家族  413
 10.1.3  字符集   414
 10.1.4  字体要素  415
 10.2  系统字体枚举. 添加和删除  416
 10.2.1  获取系统安装的字体列表  416
 10.2.2  为系统注册新字体  421
 10.2.3  注册字体实例――条形码的使用  428
 10.3  逻辑字体对象的建立  429
 10.3.1  创建逻辑字体  429
 10.3.2  通过CreateFont函数创建逻辑字体  434
 10.4  文本输出及显示特效的实现  436
 10.4.1  文本输出相关API函数  436
 10.4.2  文本旋转效果的实现  438
 10.4.3  文本透明效果的实现  440
 10.4.4  文本多彩效果的实现  441
 10.5  通过文本函数增强PB进度条控件功能  443
 10.5.1  改进的PB进度条控件  443
 10.5.2  定制进度条控件  447
 第五篇  网络与Internet篇
 第11章  网络访问  455
 11.1  网络连接对话框的调用  455
 11.1.1  网络连接对话框函数  455
 11.1.2  网络连接对话框函数  458
 11.2  枚举和浏览网络资源  465
 11.2.1  枚举网络资源  465
 11.2.2  通过文件夹浏览通用对话框浏览网络资源  471
 11.3  添加. 取消网络连接  475
 11.3.1  相关API函数  475
 11.3.2  连接网络资源示例  478
 11.4  网络驱动器UNC路径名及映射  480
 11.4.1  获取网络驱动器的UNC路径名  480
 11.4.2  映射网络驱动器  482
 11.5  网络时间同步  487
 11.5.1  获取服务器的时间信息  487
 11.5.2  与网络服务器时间同步  498
 11.6  获取用户的网络登录名  501
 11.7  判断网络的连接状态  503
 11.8  检测网络IP地址能否联通  505
 11.8.1  Ping命令与网际消息控制协议 (ICMP)  505
 11.8.2  通过API函数发送ICMP回应请求  506
 11.9  获取主机的MAC物理地址   512
 11.9.1  ARP协议及其工作原理  513
 11.9.2  通过IP地址获取本地或远程主机的MAC地址  514
 第12章  Internet Explore浏览器  518
 12.1  获取浏览器信息  518
 12.1.1  取得默认浏览器的路径和文件名  518
 12.1.2  取得IE浏览器的版本信息  521
 12.2  从应用中打开浏览器  527
 12.2.1  使用API函数打开浏览器  528
 12.2.2  使用PB动态库中函数打开浏览器  529
 12.3  巧用浏览器功能   529
 12.3.1  文件下载  529
 12.3.2  使用IE自动完成功能  532
 12.3.3  操作IE的收藏夹  536
 12.4  为IE工具栏添加自定义按钮  542
 12.4.1  注册表中IE工具栏自定义按钮的相关信息  542
 12.4.2  添加自定义按钮应用示例  544
 12.5  在PB中定制浏览器  547
 12.5.1  IE浏览器架构  547
 12.5.2  WebBrowser控件的属性. 方法. 事件和OLE命令  548
 12.5.3  使用WebBrowser控件定制浏览器  552
 第13章  远程访问服务RAS  560
 13.1  远程访问服务RAS 概述  5604
 13.1.1  远程访问服务  560
 13.1.2  远程访问服务API接口  561
 13.1.3  Windows的RAS电话簿  563
 13.1.4  RAS错误信息  564
 13.2  调用RAS通用对话框  565
 13.2.1  调用主拨号网络对话框  565
 13.2.2  调用正在拨号对话框  568
 13.2.3  调用拨号网络监视器对话框  570
 13.2.4  Windows 2000/XP中调用连接属性对话框  572
 13.2.5  Windows 95/98中调用连接属性对话框  575
 13.2.6  调用创建新连接对话框  577
 13.3  获取系统拨号连接列表  579
 13.3.1  获取系统所有拨号连接列表  579
 13.3.2  获取当前所有活动连接列表  582
 13.4  建立与远程网络的连接  585
 13.4.1  建立连接  585
 13.4.2  获取连接状态  588
 13.4.3  终止远程访问连接  591
 13.4.4  建立PB远程访问用户对象  592
 第14章  WinInet拨号连接控制  603
 14.1  WinInet拨号连接API函数概述  603
 14.2  启用拨号连接  605
 14.2.1  启动IE默认拨号连接  605
 14.2.2  启动指定拨号连接  608
 14.3  确定网络连接状态  612
 14.3.1  获取当前网络的连接状态  612
 14.3.2  测试到Internet的网络连接条件  617
 第15章  WinInet基础  620
 15.1  Internet 协议  620
 15.1.1  TCP/IP协议  620
 15.1.2  HTTP协议  624
 15.1.3  OSI模型高层接口――WinInet  623
 15.2  WinInet接口函数  625
 15.2.1  WinInet接口函数  625
 15.2.2  WinInet接口函数句柄  627
 15.2.3  WinInet句柄层次关系  628
 15.3  WinInet版本及错误信息  631
 15.3.1  确定WinInet版本的重要性  631
 15.3.2  获取WinInet错误信息  635
 第16章  FTP文件传输  643
 16.1  FTP概述  643
 16.1.1  FTP协议和工作原理  643
 16.1.2  匿名FTP服务  644
 16.2  建立Internet会话  645
 16.2.1  FTP函数的调用层次  645
 16.2.2  打开Internet会话句柄  647
 16.2.3  建立Internet会话  651
 16.3  FTP服务器目录操作  654
 16.3.1  在FTP服务器上获取和切换工作目录  654
 16.3.2  在FTP服务器上创建和移除目录  655
 16.3.3  列出FTP服务器指定目录下的子目录或文件  659
 16.4  FTP服务器文件操作  667
 16.4.1  从FTP服务器下载文件  667
 16.4.2  获取FTP服务器端文件的大小  670
 16.4.3  向FTP服务器上传文件  674
 16.4.4  删除FTP服务器端文件  678
 16.4.5  重新命名FTP服务器端文件  681
 16.5  通过FTPCommand函数发送FTP命令  684
 16.5.1  FTP控制连接和数据连接  684
 16.5.2  常用FTP命令  685
 16.5.3  使用FTPCommand函数发送FTP命令  689
 16.6  构筑FTP客户端应用系统  694
 16.6.1  创建PB FTP用户对象  694
 16.6.2  创建客户端文件和目录操作用户对象  712
 16.6.3  构建FTP客户端应用系统  720
 第六篇  Winsock网络应用开发篇
 第17章  Winsock网络应用基础  749
 17.1  Windows Sockets概述  749
 17.1.1  Windows Sockets基本概念  749
 17.1.2  Winsock在OSI模型中的地位  750
 17.1.3  Winsock传输数据类型  752
 17.1.4  Winsock的接口函数  753
 17.1.5  Winsock工作流程  756
 17.2  启动Winsock服务  758
 17.2.1  Winsock服务启动和终止  758
 17.2.2  处理Winsock错误  763
 17.3   主机名称与IP地址  768
 17.3.1  IP地址概述  768
 17.3.2  IP地址IPv4与Ulong格式的相互转换  770
 17.3.3  获取本地主机名称  772
 17.3.4  获取主机IP地址  773
 17.3.5  网络顺序和主机顺序数值位相互转换  778
 17.4  通过Socket连接到远程主机  786
 17.4.1  创建或关闭Socket  786
 17.4.2  通过Socket连接到远程主机  787
 17.4.3  与远程主机建立连接示例  790
 17.4.4  绑定(Binding)Socket  794
 17.4.5  接收数据  795
 17.4.6  发送数据  799
 17.4.7  侦听和接受连接请求  805
 第18章  Winsock网络应用开发  808
 18.1  创建Winsock用户对象  808
 18.1.1  声明用户对象结构. 外部函数和常量  808
 18.1.2  用户对象的事件处理程序  812
 18.1.3  创建用户对象函数  814
 18.2  通过Winsock实现FTP功能  830
 18.2.1  通过Winsock实现FTP功能的基本思路  830
 18.2.2  创建基于Winsock 的FTP用户对象  832
 18.2.3  创建Winsock FTP应用  855
 18.3  通过Winsock发送电子邮件  885
 18.3.1  发送邮件的基本思路  886
 18.3.2  创建基于Winsock 的SMTP用户对象  887
 18.3.3  创建Winsock SMTP应用  897
 18.4  使用Winsock API实现点对点通信  900
 18.4.1  客户端程序  900
 18.4.2  服务器端程序  904
 第19章  Winsock控件及网络应用开发  908
 19.1  Winsock控件的属性. 事件和方法  908
 19.1.1  Winsock控件的属性  908
 19.1.2  Winsock控件的方法  909
 19.1.3  Winsock控件的事件  910
 19.2  使用Winsock控件创建简单的网络应用  915
 19.2.1  创建简单的TCP网络应用  915
 19.2.2  创建简单的UDP网络应用  920
 19.3  使用Winsock控件实现与远程时间服务器时间同步  923
 19.3.1  与时间服务器时间同步的基本原理  924
 19.3.2  与时间服务器时间同步应用示例  925
 附录A  函数索引  929
 附录B  结构索引  932
 附录C  示例索引  935

本目录推荐