图书介绍
老兵新传 Visual Basic核心编程及通用模块开发pdf电子书版本下载
- 张宁编 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302283102
- 出版时间:2012
- 标注页数:734页
- 文件大小:274MB
- 文件页数:752页
- 主题词:BASIC语言-程序设计
PDF下载
下载说明
老兵新传 Visual Basic核心编程及通用模块开发PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一篇 高级技术篇 2
第1章 万丈高楼平地起,一劳永逸打地基——知识准备 2
1.1使用Windows API函数 2
1.1.1 API函数的声明 2
1.1.2使用API函数的注意事项 6
1.2模块化编程 7
1.2.1我能在一天之内做出一个软件吗 7
1.2.2用标准模块还是类模块 7
1.2.3怎样创建类模块 8
1.3编程风格 12
1.3.1变量在使用前一定要定义 12
1.3.2尽量不要用Vartant数据类型 12
1.3.3代码的缩进和换行 13
1.3.4避免重复用对象名称做一串调用 13
1.3.5 Boolean型条件表达式的写法 15
1.3.6字符串为空串的判断 15
1.3.7能用常量就不要用函数求值 15
1.3.8数组下标从1开始 16
1.3.9用Optional选项定义函数的参数 16
1.3.10不能滥用Goto语句不代表不能用Goto语句 17
1.3.11尽量少用ActiveX控件 17
1.4条件编译 18
1.4.1什么是条件编译 18
1.4.2条件编译有什么用 18
1.5获取资料 20
1.5.1 MSDN 20
1.5.2借助Visual C+++的头文件 22
1.5.3其他资料 23
第2章 这个可以有——在VB中使用指针 24
2.1在VB中使用指针变量 24
2.1.1什么是指针 24
2.1.2如何实现指针变量 24
2.2 VarPtr, StrPtr, ObjPtr函数和AddressOf运算符 25
2.2.1内联类型和指针类型 25
2.2.2 VarPtr, StrPtr和ObjPtr函数 27
2.2.3 AddressOf运算符 27
2.3 CopyMemory函数 28
2.3.1 CopyMemory函数的声明和功能 28
2.3.2 CopyMemory函数用于内联类型的数据传递 28
2.3.3 CopyMemory函数用于字符串类型的数据传递 29
2.3.4对象的弱引用 30
2.4在VB中使用指针程序举例 32
2.4.1使用指针实现不同类型数据的交换 32
2.4.2使用指针实现不同窗体模块的数据交换 33
2.4.3不使用数组类型的参数向函数传递数组 34
2.4.4用一个Long型参数向函数传递任意类型任意大小的数据 35
2.5部分字节运算的问题和解决办法 36
2.5.1 Or按位或运算 36
2.5.2取长整数的高位和低位 40
第3章 不做数据的奴隶——常用数据结构 42
3.1何谓数据结构 42
3.2堆栈 43
3.2.1什么是堆栈 43
3.2.2堆栈的基本算法 44
3.2.3堆栈的通用模块实现 44
3.2.4堆栈通用模块的使用 51
3.3哈希表 53
3.3.1什么是哈希表 53
3.3.2哈希表的基本算法 54
3.3.3哈希表的通用模块实现 55
3.3.4哈希表通用模块的使用 75
3.3.5哈希表类模块与VB的Collection对象的效率比较 77
3.4带“回收站”的数组 79
3.4.1基本思想 79
3.4.2程序实现 79
第4章 青出于蓝胜于蓝——子类技术 84
4.1 Windows窗口和消息驱动机制 84
4.1.1窗口 84
4.1.2窗口的消息驱动机制 85
4.1.3消息的组织和发送 87
4.1.4 Visual Basic事件与消息 89
4.2子类技术及其常规实现 89
4.2.1子类技术简介 89
4.2.2子类技术的常规实现 91
4.2.3子类技术常规实现的问题 96
4.3开发实现子类技术的通用模块 97
4.3.1通用模块的目标 97
4.3.2封装子类信息的类模块 98
4.3.3实现子类技术的标准模块 106
4.3.4子类技术通用模块小结 118
4.4子类技术通用模块的用法举例 119
4.4.1标准模块Module 1的设计 120
4.4.2窗体Form 1的设计 121
4.4.3程序的运行效果 122
第5章 想解雇ActiveX通用控件吗——使用API函数创建控件 124
5.1控件的深入理解 124
5.1.1 ActiveX控件 124
5.1.2 d11通用控件库 125
5.1.3控件的运行机制 128
5.1.4简单实例——用API函数创建Animation控件 136
5.2用API函数创建控件的模块划分 140
5.2.1实现控件的类模块 140
5.2.2支持的标准模块 143
5.2.3其他“黑匣子”模块 144
5.2.4模块划分小结 144
5.3 md1APIControlsSupport标准模块 145
5.3.1公有常量定义 146
5.3.2控件类型的枚举类型定义 147
5.3.3管理已创建控件 149
5.3.4子类处理的自定义窗口程序 151
5.3.5标准模块的其他内容 156
5.4 clsControlBase基类模块 157
5.4.1 API函数声明和常量、类型定义 157
5.4.2创建控件 159
5.4.3实现控件的共有属性 161
5.4.4实现控件的共有方法 176
5.4.5类模块的Initialize和Terminate事件过程 181
5.5实现跳格表控件的控件类模块clsAPITabs 182
5.5.1 API函数声明和常量、类型定义 183
5.5.2继承的“变通”实现 184
5.5.3创建跳格表控件 185
5.5.4实现跳格表控件的属性 188
5.5.5实现跳格表控件的方法 190
5.5.6实现跳格表控件的事件 193
5.5.7 clsAPITabs控件类模块的应用实例 196
5.6实现状态栏控件的控件类模块clsAPIStaBar 198
5.6.1 API函数声明和常量、类型定义 199
5.6.2继承的“变通”实现 200
5.6.3创建状态栏控件 200
5.6.4状态栏分栏和分栏属性 202
5.6.5状态栏的其他功能 210
5.6.6实现状态栏的事件 211
5.6.7 clsAPIStaBar控件类模块的应用实例 212
5.7实现丰富格式文本框控件的控件类模块clsAPIRichTextBox 215
5.7.1 RichTextBox控件加载和继承的“变通”实现 215
5.7.2创建RichTextBox控件 216
5.7.3管理文本和RTF代码 219
5.7.4选择区域 227
5.7.5文本的剪切、复制、粘贴 229
5.7.6设置文本格式 229
5.7.7实现RichTextBox的事件 232
5.7.8实现RichTextBox的其他功能 233
5.7.9 clsAPIRichTextBox控件类模块的应用实例 234
第6章 路见不平一声吼,强大功能我也有——常见VB系统功能问题和解决 237
6.1长字符串处理 237
6.1.1 VB系统中的字符串连接运算及问题 237
6.1.2解决方案——clsLongString类模块 240
6.1.3改进字符串连接效率测试 250
6.2多种分行格式的纯文本文件的按行读取 251
6.2.1 VB按行读取文本文件的常规方法及问题 251
6.2.2二进制读取文本文件 253
6.2.3设计类模块支持多种分行格式 255
6.2.4类模块的使用 274
6.3部分字符串函数的增强 275
6.3.1 Split函数的增强 275
6.3.2 Trim函数的增强 281
6.3.3判断Collection对象的键是否存在 283
6.4解决控件不支持鼠标滚轮的问题 284
6.4.1鼠标滚轮消息WMMOUSEWHEEL 285
6.4.2窗口滚动消息WM HSCROLL和WM_ VSCROLL 285
6.4.3解决鼠标滚轮问题的通用模块 287
6.5增强VB的滚动条控件 289
6.5.1基本思路 290
6.5.2实现技术 291
6.5.3类模块的完整代码 297
6.5.4增强滚动条通用模块使用举例 303
第7章 让你的程序在哪都不out———使程序支持多国语言版 308
7.1多国语言支持的主要问题 308
7.2字符串资源和资源加载 309
7.2.1字符串资源 309
7.2.2 VB的资源编辑器 310
7.2.3解决不同语言语法元素顺序问题 311
7.3编写支持多国语言版程序的通用模块 313
7.3.1公有函数 313
7.3.2条件编译的全局元素 314
7.3.3开发多国语言版的程序小结 316
7.4支持多国语言版的程序实例 317
7.4.1简单实例 317
7.4.2改造clsReadLines类模块 319
第二篇 功能模块篇 324
第8章 程序骨感没人爱——Windows绘图和图形界面增强 324
8.1 GDI的基本原理 324
8.1.1色彩和坐标 324
8.1.2设备环境简介 327
8.1.3 GDI对象 330
8.2高级文本描绘的类模块clsDrawText 335
8.2.1 DrawText函数 335
8.2.2 clsDrawText类模块的开发 338
8.2.3 clsDrawText使用的实例程序 349
8.3绘制Windows图形元素 352
8.3.1绘制蚀刻线 352
8.3.2绘制3D效果的边框 354
8.3.3绘制Windows按钮元素 356
8.3.4绘制首尾移动样式的按钮 361
8.4绘制透明位图 363
8.4.1位图简介 364
8.4.2光栅操作 366
8.4.3绘制透明位图 367
8.4.4程序实例 371
8.5为静态图形添加图形热区 372
8.5.1图形热区实现的基本思路 372
8.5.2开发图形热区管理类模块clsGraphCoords 373
8.5.3图形热区编程实例 381
8.6改变窗体透明度 383
8.6.1设置窗体透明度的API函数 384
8.6.2编写类模块封装设置窗体透明度的API函数 384
8.6.3程序实例 388
8.7使控件具有Windows XP风格的外观 391
8.7.1 XP风格外观的控件探秘 391
8.7.2使应用程序中的控件具有XP风格 393
8.7.3程序实例 397
第9章 搞定这个怕什么?你懂我的——菜单高级控制和菜单选择助手 398
9.1编写菜单控制标准模块mdlMenuFuncs 399
9.1.1菜单的句柄 399
9.1.2获取菜单项信息 402
9.1.3设置菜单项信息 406
9.1.4设置菜单项高亮状态 412
9.1.5返回或设置子菜单默认项 412
9.1.6获得菜单中的菜单项总数 413
9.1.7系统菜单控制 414
9.2菜单选择助手 415
9.2.1基本思路 416
9.2.2在mdlMenuFuncs中添加的完整代码 419
9.2.3 clsMenuSelAssist的完整代码 420
9.3程序实例 423
9.3.1菜单选择助手功能演示 423
9.3.2标准模块mdlMenuFuncs部分功能演示 423
第10章 玩转注册表,换汤不换药——简化ini文件和注册表编程 426
10.1 ini文件和使用ini文件保存信息 426
10.1.1 ini文件的结构 426
10.1.2 ini文件读写的主要API函数 427
10.1.3封装ini文件的读写操作 428
10.1.4 ini文件读写的实例程序 429
10.2注册表结构简介 429
10.2.1控制项 430
10.2.2子项 432
10.2.3键值 432
10.3编写通用模块封装常用注册表读写操作 433
10.3.1项的句柄和项的打开、关闭 433
10.3.2固定子项位置 435
10.3.3.创建或删除子项 436
10.3.4读取子项键值 438
10.3.5设置子项键值 440
10.3.6删除子项键值 442
10.3.7读取注册表任意位置数据 443
10.3.8设置文件关联 444
10.4注册表编程实例 448
10.4.1记忆窗体位置 448
10.4.2在固定子项下读写数据 448
10.4.3建立和删除文件关联 449
第11章 真的很给力——文件系统编程 451
11.1文件系统操作 451
11.1.1列文件目录 451
11.1.2判断文件(夹)存在 457
11.1.3文件名操作函数 461
11.1.4创建文件夹 466
11.1.5文件的复制、移动和删除 467
11.1.6获得驱动器信息 470
11.1.7获得临时文件 475
11.2获得文件属性 477
11.2.1文件名属性 477
11.2.2文件大小和文件属性 478
11.2.3文件时间属性 480
11.2.4文件属性对话框 483
11.2.5文件类型字符串和文件图标 484
11.3打开/保存文件对话框的通用模块 491
11.3.1打开/保存文件对话框的相关API函数 491
11.3.2编写通用模块 494
11.3.3通用模块使用实例 503
11.4浏览文件夹对话框的通用模块 505
11.4.1浏览文件夹对话框的相关API函数 505
11.4.2编写通用模块 507
11.4.3通用模块使用实例 509
11.5制作自己的简易资源管理器 509
第12章非“程”勿扰——其他常见系统功能 518
12.1运行应用程序 518
12.1.1运行程序或打开文档 518
12.1.2运行程序并等待程序结束 522
12.1.3程序实例 528
12.2监视Windows剪贴板 530
12.2.1剪贴板查看器和查看器链 530
12.2.2使VB程序具有剪贴板监视功能的通用模块 532
12.2.3剪贴板监视程序举例 536
12.3设置系统热键 537
12.3.1设置系统热键的有关知识 538
12.3.2实现系统热键通用模块的完整代码 541
12.3.3程序实例 548
12.4添加系统托盘图标 550
12.4.1相关API函数 550
12.4.2实现系统托盘图标通用模块的完整代码 552
12.4.3程序实例 557
第三篇 应用模块篇 562
第13章 我是勤奋的“猪”,我很乖——智能组合框 562
13.1智能列表项维护 562
13.1.1类模块对象与组合框控件的关联 562
13.1.2不重复地添加列表项 563
13.1.3列表项的保存和加载 565
13.2实现按汉字拼音字头的中文自动输入 568
13.2.1实现原理 568
13.2.2获得汉字的拼音字头 570
13.2.3查找拼音字头 572
13.2.4实现按拼音字头自动输入 573
13.2.5自动提示 575
13.3智能组合框的其他功能 578
13.3.1返回或设置下拉列表是否被拉下 578
13.3.2设置下拉列表的高度 579
13.3.3获取或设置下拉列表的最小宽度 579
13.4智能组合框应用实例 580
第14章“时”上编程——用API函数实现定时器 583
14.1用API函数创建定时器的通用模块 583
14.1.1定时器简介 583
14.1.2使用API函数创建定时器 584
14.1.3定时器支持模块 mdlTimerSupport 585
14.1.4定时器类模块clsTimer 587
14.2定时器通用模块应用实例 590
14.2.1类模块内的定时器使用 590
14.2.2标准模块内的定时器使用 591
14.3通过定时器变通实现多线程 592
第15章 谁说这事不能说太细——进度指示 595
15.1编写长时间运行程序需注意的主要问题 595
15.2使程序在运行途中响应用户按下【取消】按钮 599
15.3开发工作助手类模块clsOperAssistant 601
15.3.1数据定义 601
15.3.2更新进度指示 606
15.3.3显示简短提示文本 610
15.3.4响应用户中途取消 611
15.3.5出错提示 613
15.3.6程序开始和结束 613
15.3.7清除方法Clear 615
15.3.8类模块的Initialize和Terminate事件过程 616
15.4工作助手类模块的应用实例 616
15.5开发指示进度窗体 618
15.5.1指示进度窗体的运行效果和调用 618
15.5.2在工作助手类模块中添加驱动窗体的代码 619
15.5.3开发frmWorkingAvi窗体 621
第16章 边界条约用户定——实现运行时控件的边框调整 629
16.1解决边框调整问题的基本思路 629
16.1.1通用模块的使用 629
16.1.2 Frame控件的作用 630
16.1.3控件大小位置的重新调整 631
16.1.4上下型和左右型风格 632
16.2开发边框调整的通用模块 633
16.2.1控件关联 633
16.2.2有关的数据定义 635
16.2.3重新安排控件大小和位置 642
16.2.4处理分隔线拖动事件 644
16.2.5类模块的Initialize和Terminate事件过程 648
16.3边框调整通用模块应用实例 648
第17章“泡泡”几时有自己编程瞅——自己编程实现气泡提示框 653
17.1制作气泡型窗体 653
17.1.1制作气泡型窗体的基本思路 653
17.1.2制作气泡型窗体实例 656
17.2气泡提示框的通用模块 658
17.2.1窗体的界面设计 659
17.2.2气泡样式和图标类型的枚举类型 659
17.2.3属性和常量定义 662
17.2.4显示气泡提示 664
17.2.5指向控件的气泡提示 676
17.2.6气泡提示的关闭 677
17.2.7窗体的加载和卸载 677
17.3气泡提示框程序实例 678
第18章乱“式”英雄——具有高级功能的表达式计算 680
18.1表达式计算的算法简介 680
18.2 clsCacuExp类模块的数据定义 682
18.2.1数据类型 682
18.2.2表达式“解析”与表达式元素 684
18.2.3表达式中的常量元素 686
18.2.4表达式中的变量元素 687
18.2.5运算符和函数的常量定义 690
18.2.6表达式字符串属性 696
18.2.7计算结果属性 697
18.2.8错误信息属性 698
18.3 clsCacuExp类模块的功能代码 699
18.3.1表达式解析 699
18.3.2表达式计算 713
18.4 clsCacuExp类模块的使用实例 725
索引 727
参考文献 734