Visual Basic编程实用大全 精华版PDF电子书下载
- 电子书积分:17 积分如何计算积分?
- 作 者:(美)Ted Coombs,(美)Jon Campbell著;邓少鵾,邓云佳等译
- 出 版 社:北京市:中国水利水电出版社
- 出版年份:2005
- ISBN:7508428900
- 页数:573 页
2 编写第一个Visual Basic程序 1
87 使用Exit Do结束循环 5 1
目录 1
精华版序 1
译者序 1
1 Visual Basic工程文件说明 1
4 使用Visual Basic常量 2
3 换行显示输出 2
6 开始理解作用域 3
5 捕获程序中的错误 3
7 使用DIM语句 4
9 声明过程变量 5
8 声明模块和窗体级的变量 5
11 使用Public关键字定义变量 6
10 协调变量名冲突 6
13 理解变量类型 7
12 为变量赋值 7
15 理解VisualBasic的关键字 8
14 声明同样类型的多个变量 8
18 理解Integer类型变量 9
16 理解Option Explict语句 9
17 理解OptionBase语句 9
19 理解Long类型变量 10
21 理解Single类型变量 11
20 理解String类型变量 11
24 理解Currency类型变量 12
22 理解Boolean类型变量 12
23 理解Byte变量类型 12
26 理解Double类型变量 13
25 理解Date类型变量 13
29 理解控件类型 14
27 理解Object类型变量 14
28 理解Variant类型变量 14
31 给Integer和Long类型的变量赋值 15
30 给浮点变量赋值 15
35 给Byte类型变量赋值 16
32 给String类型变量赋值 16
33 给Single和Double类型变量赋值 16
34 给Boolean类型变量赋值 16
37 理解Object类型的变量 17
36 给Currency类型的变量赋值 17
39 理解溢出 18
38 给Date类型的变量赋值 18
40 理解精度 19
41 引号和其他字符的赋值 20
43 使用Debug.Print来输出信息 21
42 使用Chr函数 21
45 使用Format函数将数字转换成字符串 22
44 使用Str函数将数字转换成字符串 22
46 使用Format函数将日期转换成字符串 24
47 Visual Basic的基本数学操作 25
49 理解运算符的优先级 26
48 理解按模运算 26
50 强行改变运算符的运算顺序 27
52 理解Xor运算 28
51 理解按位操作的Or运算 28
53 理解按位操作的And运算 29
54 理解按位操作的Eqv运算 30
55 理解按位操作的Imp运算 31
57 测试If-Then的条件 32
56 理解VisualBasic如何表示True和False 32
59 执行相关判断 33
58 理解圆括号在条件语句中的用途 33
61 执行逻辑Or运算来两个条件进行判断 34
60 执行逻辑And运算对两个条件进行判断 34
63 执行逻辑Xor运算 35
62 执行逻辑Not运算 35
64 执行逻辑Eqv运算 36
65 执行逻辑Imp运算 37
67 测试浮点值 38
66 将判断条件的结果赋值给变量 38
69 定义常量 39
68 不间断循环 39
70 谨慎使用If-If-Else 40
71 在限定次数内执行语句 41
72 For语句的可选部分 42
75 For-Next循环不仅仅适用于Integer变量 43
73 在For-Next语句中使变量递减 43
74 控制For-Next循环的步长 43
77 无限(Infinite)循环的危险 44
76 理解DoEvents循环 44
79 改变控制变量的值 45
78 使用For-Next的嵌套循环 45
80 在条件语句中使用Next 46
82 使用Do循环重复执行一条或者多条语句 47
81 使用Exit For语句终止循环 47
83 理解Do循环的组成部分 49
85 总是使用Do循环执行一条或多条语句 50
84 使用While-Wend创建循环 50
86 使用Do Until Loop重复执行一条或者多条语句 51
89 测试多个条件 53
88 GOTO分支 53
90 理解Case Else语句 56
93 Visual Basic如何保存可变长度的字符串 57
92 Visual Basic如何保存字符串 57
91 可视化Visual Basic字符串 57
94 理解零结尾字符串 58
96 使用Option Compare Text开关 59
95 如何区分A和a 59
98 将String变量的字符复制到另外一个String变量中 60
97 确定字符串的长度 60
99 将String变量的内容添加到另一个String变量中 61
101 处理超长字符 62
100 在String变量中添加N个字符 62
103 捕获String变量中的第一个出现的字符 63
102 在确定字符串是否相等时忽略大小写 63
104 理解Simple语句和Compound语句 64
106 计算String变量中出现同一字符的次数 65
105 寻找字符串中最后一个出现的字符 65
107 逆向显示String变量的内容 66
108 两个字符串的比较 67
109 两个字符串前N个字符的比较 69
110 将字符串转换为数字表示 70
111 在字符串中定位子字符串 71
112 从字符串的一个位置返回n个字符 72
114 使用TextBox控件 73
113 计算子字符串出现的次数 73
116 使用RichTextBox控件的Find方法 75
115 使用RichTextBox控件 75
117 获得最右边子字符串的位置 76
118 在字符串中删除某个子字符串 77
119 用另一个子字符串替换某个子字符串 78
120 在RichTextBox控件里删除文本 79
121 在RichTextBox控件里使用其他文本替换控件里的文本 80
123 判断一个字符是否是数字 81
122 判断一个字符是否是字母表中的字符 81
126 将一个字符转换为大写或小写字母 82
125 判断字符串是否是Date 82
124 判断一个字符是否是大写或者小写 82
127 对ASCII字符进行操作 83
129 对字符串使用Select Case 84
128 格式化字符串变量 84
131 使用函数返回值 85
130 使用换行变量 85
133 理解局部变量 86
132 指定参数类型 86
134 理解函数的系统开销 87
136 声明全局变量 88
135 通过声明参数类型来减少系统开销 88
137 解决全局变量和局部变量名的冲突 89
139 理解传值调用 90
138 更好地定义变量的作用域 90
140 为什么传值调用可以防止参数值的改变 91
141 改变参数值 92
142 只改变指定参数 93
143 可记忆的函数变量 94
144 可记忆的过程 95
146 使用关键字Static可能引起的错误 96
145 Visual Basic如何初始化静态变量 96
148 理解作用域 97
147 理解形参和实参 97
150 使用具有Variant参数的VarType成员函数 98
149 使用Variant函数来返回未知类型的值 98
151 使用TypeName成员函数 99
152 在返回值中使用VarType或者TypeName 100
153 在函数中更新全局变量 101
154 使用函数更改算术表达式中的变量 102
155 在窗体上创建Private过程 103
157 理解递归 105
156 从过程中调用过程 105
158 理解递归Factorial函数 106
159 通过显示值来更好地理解递归 107
160 是否使用递归 108
161 对Date进行处理 109
162 如何消除递归 110
164 理解标识符的可见性 111
163 理解名称空间和标识符 111
166 支持可变数目的参数 113
165 支持参数数目可变的函数 113
167 创建一个支持多类型、多参数的函数 114
168 使用关键字Optional 115
170 使用缓冲输入 116
169 理解IsMissing成员函数 116
171 使用输入框来接收输入 117
172 使用TextBox控件来执行缓冲输入 118
173 使用直接I/O读取字符 119
174 清除屏幕上的所有域 120
175 控制屏幕的色彩 121
176 分配背景颜色 122
178 使用余弦/正切 123
177 使用Abs函数 123
180 使用反正切 124
179 使用正弦/余切 124
182 对指数进行处理 125
181 对浮点值进位 125
184 计算以10为底数的对数 126
183 计算自然数的对数 126
186 将浮点值分割成小数部分和整数部分 127
185 确定最大和最小值 127
187 计算一个数的N次方 128
189 将随机值映射到指定范围 129
188 生成随机数 129
192 计算角的正切 130
191 计算一个值的平方根 130
190 启动随机数生成器 130
194 执行Rate计算 131
193 执行现存净价值计算 131
195 创建一个自定义的数学错误处理程序 133
197 数组的可视化 135
196 声明一个数组 135
198 数组的初始化 136
200 通过数组元素进行循环 137
199 数组元素的访问 137
202 向函数中传递数组 138
201 使用常量来定义数组 138
203 再次阐述数组和函数 139
204 向过程传递数组 140
205 数组的动态分配 141
207 理解多维数组 142
206 从分隔字符串中创建一个数组 142
209 在二维数组中初始化元素 143
208 在二维数组中访问元素 143
211 二维数组的遍历 144
210 判断多位数组消耗的内存数量 144
212 遍历一个三维数组 145
214 结构数组的数组 146
213 向函数传递二维数组 146
216 理解二元查找 147
215 在一个数组中寻找一个指定的值 147
217 使用二元查找 148
218 理解冒泡排序 149
220 使用选择排序 150
219 使用冒泡排序 150
221 理解Shell排序 151
222 使用Shell排序 152
223 使用快速排序 153
224 排序字符串数组 154
225 通过Quick_Sort函数排序数组 155
226 用Seq_One_Find搜索数组 157
227 使用TypeName成员函数 159
228 用Bin_Search搜索一个已排序数组 160
229 确定数组元素的个数 161
231 理解结构 162
230 循环遍历字符串数组 162
233 在结构中使用Public和Private关键字 163
232 声明一个结构变量 163
235 使用结构 164
234 形象化一个结构 164
236 向函数传递结构 165
237 改变函数内部的结构 166
239 使用嵌套的结构 167
238 初始化结构 167
241 创建一个结构数组 168
240 包含数组的结构 168
242 使用DriveListBox控件 169
243 使用DriveListBox控件改变驱动器 172
244 DirectoryListBox控件 173
245 使用FileListBox控件 177
246 只显示清单中的部分文件 181
247 理解CommonDialog控件 182
248 使用CommonDialog控件模式 183
249 为CommonDialog控件设置默认路径 184
250 返回选中的文件和路径 185
252 通过Cancel选项取消Open或Save As 187
251 保存文本文件 187
254 使用GetCurrentDirectory API函数 188
253 使用API浏览器 188
256 使用SetCurrentDirectory API函数 190
255 编写Wrapper函数 190
257 使用GetDiskFreeSpace API函数 191
258 使用GetVolumeInformation API函数 192
259 使用GetDriveType API函数 193
260 捕捉未准备好的驱动器 195
261 在程序中更改文件名 196
264 设置文件访问模式 197
263 在程序中删除目录 197
262 在程序中删除文件 197
266 使用Open语句 198
265 获取文件大小 198
268 使用文件的读连续访问 200
267 使用Close语句 200
270 使用文件的写连续访问 201
269 读文件时使用EOF函数 201
271 使用LOF和Loc来读Binary文件 202
272 用Input和Input#来读取文件 203
273 使用Write#对连续文件输出 204
274 使用Put对一个随机访问文件写入数据 205
275 使用Get从随机访问文件中检索记录 207
276 使用Seek语句遍历随机访问文件 208
277 建立临时文件 209
279 获取系统路径 210
278 获取Windows路径 210
280 将文件的I/O操作最小化 211
283 删除目录 212
282 创建目录 212
281 使用ChDrive和ChDir语句 212
285 解析PathName 213
284 用递归删除目录树 213
287 使用Dir定位目录和文件 214
286 获取文件的日期和时间标签 214
288 将Dir返回的文件和目录值进行排序 216
289 使用Dir定位文件 217
290 在程序中移动文件 218
291 搜索文件 219
292 使用FindFirstFile函数 221
293 使用FindNextFile在剩下部分查找 222
295 使用由Find操作返回的文件建立用户界面 224
294 搜索整个目录树 224
296 使用Findxxx函数定位目录 229
297 使用递归删除目录树 230
299 检测程序的处理时间 232
298 延迟特定毫秒数 232
300 将两个时间作比较 233
302 利用整型值设置日期和时间 235
301 使用DoEvents来延迟具体的秒数 235
303 向日期中添加时间 236
304 理解SDI窗体 237
305 理解Show方法 238
306 理解控件数组 239
307 创建控件数组 240
309 建立一个窗体数组 242
308 理解MDI界面的创建 242
310 用布尔型数组来处理窗体数组 244
311 用控件数组在运行时建立对象 245
312 在运行时删除控件数组内的对象 247
313 使用菜单编辑器 248
314 创建菜单 250
316 使用菜单的Enabled属性 251
315 向菜单添加功能 251
318 建立Windowlist 252
317 使用菜单的Checked属性 252
319 使用Tile和Cascade命令 254
320 创建菜单数组 255
321 创建弹出式菜单 257
322 向弹出式菜单的选项中加入代码 259
323 使用弹出式菜单 260
324 创建智能化上下文相关菜单 262
326 在菜单内使用Negotiation 264
325 使用Boldcommand属性 264
327 理解QueryUnload事件和Unload事件 266
328 控制窗体的Height和Width 267
329 理解Frame 268
330 使用容器管理窗体 269
331 使用GetSystemMetrics API函数 273
332 结合使用GetSystemMetrics和Resize 275
333 理解MouseMove事件 277
334 MousePointer属性 279
336 使用窗体的Icon属性 280
335 使用MouseIcon属性 280
338 使用Button集合和Button对象 282
337 理解对象和集合 282
339 创建文本型按钮的工具条 283
340 理解ImageList控件 284
341 结合使用ImageList和Toolbar控件 285
342 子窗体和父窗体的工具条 287
343 仅在父窗体上放置工具条 288
344 工具条和ActiveForm 290
345 同时使用工具条和菜单 291
346 理解StatusBar控件 292
347 理解Panel对象和Panels集合 293
348 建立StatusBar控件 294
350 重新考虑公共与私有函数 296
349 编写UpdateStatusBar子程序 296
351 在TextBox中使用KeyPress接受用户口令 297
352 理解KeyDown事件和KeyUp事件 298
353 设置窗体的WindowState属性 302
355 重新考虑CommonDialog控件 303
354 控制窗体的标题 303
356 使用CommonDialog控件进行打印 305
357 打印文档至默认打印机 306
359 用CommonDialog控件设置Fonts 307
358 理解Printer对象和Printers集合 307
360 使用CommonDialog设置RichTextBox中的字体 308
361 过程中的分支和返回 309
362 使用结构变量代替常量 310
364 使用枚举类型 311
363 使用枚举类型 311
365 理解枚举类型的值 312
367 使用Shell函数 313
366 给枚举类型赋具体的值 313
368 使用临时文件向子进程传递数据 314
370 使用Shell函数来顺序运行程序 315
369 使用AppActivate来激活子进程 315
371 增加监视 316
373 使用标记来进行GoTo循环 317
372 监视窗口 317
375 理解不变代码 318
374 使用计时器事件来自动保存信息 318
377 理解循环压缩 319
376 理解代码压缩 319
380 使用默认类型 320
379 对比声明和定义 320
378 使用公共子表达式消除 320
382 在结构中将函数作为成员使用 322
381 理解松散(或简化)计算 322
383 不同结构中的同名成员 323
385 使用类生成器实用程序来创建类 324
384 理解Visual Basic的类 324
386 使用公共和私有数据 326
387 使用PropertyLet和PropertyGet方法 328
388 创建类变量的数组 330
389 使用With-End With 331
391 理解ActiveX与OLE 2.0之间的不同之处 332
390 为Public和Private成员排序 332
392 在Dimension语句中使用WithEvents属性 333
393 理解ComboBox控件 334
394 在ComboBox中使用Change和Click事件 335
395 使用ComboBox改变窗体中的信息 336
396 理解MaskEdBox控件 337
397 使用MaskEdBox控件来检验数据 339
398 重新考虑可重用的对象 341
399 使用控件事件触发其他事件 342
401 理解初始化子程序 343
400 使用带ListIndex的LostFocus来启动相关的窗体 343
402 使用函数返回用户自定义的类或结构 344
403 使用PictureBox控件 345
404 理解Image控件 346
405 使用Shape控件 348
406 使用Line控件 349
407 使用CheckBox获得Boolean值 350
408 在单个窗体上使用多组OptionButton 351
409 使用水平和垂直滚动条 353
410 创建基础的界面 354
411 为MDN程序加入功能 357
412 加入Find对话框 358
414 重新考虑Query_Unload事件 359
413 改进多文档记事本应用程序 359
416 使用ProgressBar控件 360
415 理解ProgressBar 360
418 使用其他鼠标指针属性 362
417 应用沙漏鼠标指针 362
420 开始使用可视化数据管理器 363
419 使用全局变量保护中断 363
421 使用SQL Create Table语句 365
422 理解和格式化SQL的CreateTable语句 366
423 理解Execute方法 367
424 使用约束创建索引 368
426 确定索引哪个字段 370
425 使用SQL的CreateIndex语句 370
427 理解Workspace对象 371
428 使用OpenDatabase方法 372
429 创建新的数据库 373
430 理解数据库对象 375
431 理解Recordset对象 376
432 使用OpenRecordset方法 377
433 理解SQL的Select语句 380
434 检索Recordset 382
436 理解Where从句 383
435 理解Order By从句 383
437 理解Inner Join 385
439 理解数据库的设置 386
438 理解Left Join和Right Join 386
440 理解QueryDef对象 387
441 使用RecordCount属性 388
445 使用FIND方法 389
444 确定Recordset是否为空 389
442 理解Move方法 389
443 使用BOF和EOF属性 389
446 使用Seek方法 391
447 理解书签 392
448 使用书签 393
450 理解Recordset Creation错误 394
449 使用Scratch Recordset 394
451 理解许可权限 395
452 理解DAO文档和容器 396
454 使用Update和Edit方法 397
453 加入新的记录 397
456 理解事务处理 399
455 使用Requery方法 399
457 使用BeginTrans和CommitTrans 400
458 理解Data控件 401
460 理解Data绑定控件 403
459 使用Data控件操作BOF和EOF 403
461 理解Data绑定Grid控件 404
462 使用Data绑定Grid控件 405
464 给Data控件加上RecordCount标题 406
463 调整Data绑定Grid的宽度 406
465 使用Grid控件改变RecordCount标题 408
466 理解Data绑定ListBox控件 409
467 使用Data绑定列表控件 410
468 把DBList控件连接到另外一个控件 411
469 理解Data绑定ComboBox控件 412
470 使用Data绑定ComboBox控件 413
471 理解Clone方法 414
473 使用DataChanged属性 415
472 使用Clone方法 415
475 使用Update查询 416
474 理解Update查询 416
477 理解Union查询 418
476 理解Delete查询 418
478 理解Group By语句 419
479 使用Group By语句 420
481 使用Sum语句 422
480 理解SQL聚集函数 422
482 理解Having语句 424
485 和SQL查询一起使用OnError-Resume 425
484 使用查询结果创建新的查询 425
483 在查询中使用变量 425
487 理解远程数据对象 426
486 通过检查值防止发生错误 426
488 理解RemoteData控件 427
490 理解RemoteData常量 429
489 使用RemoteData控件创建Recordset 429
491 理解rdoEnvironment对象 430
492 建立远程数据连接 432
493 维护有关打开连接的信息 435
494 理解字段对象 436
496 使用字段名管理数据库 437
495 确定集合中何时使用序数编号 437
498 更新无绑定控件的记录 438
497 保存无绑定控件的记录 438
501 使用TreeView控件 439
500 理解节点对象 439
499 理解TreeView控件 439
502 理解Nodes集合的Add方法 441
503 把图像加到TreeView控件 442
504 在填充TreeView控件的时候使用进度条 444
505 从Recordset中填充TreeView控件 446
506 理解MSComm控件 447
507 理解CommEvent属性 448
508 使用MSComm控件 449
510 理解RThreshold和SThreshold属性 450
509 使用OnComm事件 450
512 使用MSComm控件接收数据 451
511 使用MSComm控件发送数据 451
514 使用Winsock控件 452
513 创建自动发送事件 452
515 理解GetData方法 453
517 在服务器机器上使用Winsock控件 454
516 理解SendComplete和SendProgress事件 454
519 理解Internet传输控件 455
518 返回Winsock控件的当前状态 455
521 在Execute方法中使用FTP命令 456
520 在Execute方法中使用HTTP命令 456
523 连接到Internet 457
522 确信保存了用户名和密码 457
526 对FTP服务器做写操作 459
525 使用Get从FTP服务器获取一个文件 459
524 浏览FTP服务器 459
528 使用WebBrowser控件 460
527 编写一个自动的FTP上载和下载程序 460
529 理解Navigate方法 461
530 理解NavigateComplete事件 462
532 重新考虑ActiveX 463
531 使用ProgressChange事件 463
534 理解UserControl对象 465
533 理解ActiveX的不同类型 465
535 理解VisualBasicControlCreationEdition 466
536 理解ActiveX的安全性 467
538 使用向导创建一个ActiveX控件 469
537 打包一个简单的ActiveX控件 469
539 理解“创建自定义接口成员”对话框 470
540 设置属性 471
542 开始创建ActiveX控件 472
541 完成向导 472
544 测试控件 473
543 增强控件的功能 473
545 理解ActiveX控件事件 474
548 理解RaiseEvent语句 475
547 对非生命周期事件的响应 475
546 理解ActiveX控件的生命周期 475
549 使用Event语句 476
550 给控件添加功能 477
552 理解属性页向导 478
551 执行ColorfulCmdButton控件的容器 478
553 使用属性页向导 479
554 创建一个ActiveX文档 480
555 为自己的ActiveX文档指定容器 481
557 理解对象模型中的变化 482
556 发现目标应用程序的对象模型 482
559 使用UserDocument对象 483
558 理解UserDocument对象 483
560 测试ActiveX文档 484
561 调试FirstACXDoc的ActiveX文档 485
562 向工程中添加第二个ActiveX文档 486
563 为ActiveX DLL文件创建类 487
564 为MyTest类创建属性和方法 488
565 初始化类 489
567 实例化MyTest类 490
566 创建TestMyTest工程 490
568 执行MyTestDemo工程 491
569 向MyTest类中添加SelfAbsorbed属性 492
570 理解循环引用 493
571 理解ActiveX组件的命名原则 495
572 理解行为良好的组件 496
573 对VBScript中事件的响应 497
575 在VBScript中执行数学函数 499
574 执行Hello.HTML文件 499
576 执行事件和操作 500
579 在一个HTML页中使用Label控件和Timer控件 501
578 使用VBScript的Dim 501
577 使用VBScript的Option Explicit 501
581 使用注册表编辑器来寻找Class ID 503
580 引用ActiveX控件 503
582 在HTML文件中使用WebBrowser控件 504
583 Active Server Pages 505
584 在ASP中响应和请求 506
586 格式化的一个捷径 507
585 使用Querystring参数 507
587 回退 508
589 使用文件的WritePrivateProfileSlring API 510
588 理解.INI文件 510
590 使用.ini文件的GetPrivateProfileString API 511
591 使用.ini文件的GetPrivateProfileInt API 512
592 理解System Registry 512
593 理解SaveSetting函数 513
594 理解GetSetting成员函数 513
595 使用SaveSetting和GetSetting语句 513
596 在注册表中保存窗体的大小和位置 514
597 在注册表中进行程序之间的变量传递 515
598 使用DeleteSetting函数 515
599 使用GetAllSettings函数 516
600 使用注册表的API函数 516
601 理解RegOpenKeyEx API函数 518
602 理解RegQueryValueEx函数 518
603 理解RegCloseKey函数 519
604 当打开窗体时使用API函数 519
605 理解RegCreateKeyEx函数 520
606 理解RegSetValueEx函数 521
607 使用RegSetValueEx和RegCreateValueEx 522
608 捕获注册表错误 523
609 使用API函数删除键和值 524
610 访问注册表 524
612 理解#Const语句 525
613 理解#If-Then-#Else 525
611 理解条件编译 525
614 使用条件编译 526
615 理解GetWindowsDirectory API函数 527
616 理解GetSystemDirectory API函数 527
617 使用GetWindow函数 528
618 得到窗口的名字 528
619 理解Visual Basic的安装向导 529
620 选择发布媒介 529
621 确保所有文件都包含在发布列表中 530
622 保存安装模板产生发布媒体 530
623 在用户的计算机上安装程序 531
624 创建Internet发布 531
625 使用应用程序向导产生标准窗体 532
626 理解Splash Screen 532
628 使用向导添加数据库窗体 533
629 理解Crystal Reports 533
627 理解About对话框 533
630 使用Crystal Reports 534
631 为报表选择数据源 534
633 报表中的记录分组 535
634 Totaling and Counting分组字段 535
632 在报表中添加字段 535
635 选择记录及风格化报表 536
636 修改报表 536
637 移动、改变大小、格式化以及删除字段 537
638 改变报表中数据的排列顺序 537
639 校正排列和分组次序 538
640 创建定制组 538
642 插入小结 539
643 插入汇总 539
641 使用Summarized和Totaled字段 539
644 插入总结 540
645 选择记录 540
647 创建公式 541
648 在报表中加入图形/图表 541
646 返回组中前N个记录 541
649 在报表中插入OLE或ActiveX对象 542
651 理解Crystal Report引擎 543
652 理解Crystal ActiveX控件 543
650 添加或修改表头 543
653 使用Crystal ActiveX控件 544
656 重新考虑对象模型 545
655 Crystal Reports控件的局限性 545
657 理解外接程序 545
654 理解Crystal窗口上的图标 545
659 访问扩展模型 546
660 创建工程的组件 546
658 创建一个外接程序 546
661 理解IDTExtensibility接口 547
662 理解OnConnection函数 547
664 理解AddToAddInCommandBar函数 548
665 自定义Connect模块 548
663 深入浅出OnConnection代码 548
666 添加最后的组件 549
667 完成外接程序设计 549
668 装载外接程序 551
669 外接程序的疑难解答 552
670 理解ActiveX EXE 552
672 理解线程 553
673 理解异步处理 553
671 区分进程外和进程内组件 553
674 理解使用事件的异步通知 554
675 理解使用回调方法的异步通知 555
676 在多客户中使用回调 556
677 选择基于事件的通知还是基于回调的通知 556
678 理解类型库 557
680 重新考虑GUID 558
681 理解版本兼容 558
679 理解默认接口 558
682 创建ActiveX EXE 559
683 理解进程外组件的模态 560
684 开始创建测试工程 561
685 在测试工程中加入代码 562
686 查看有模态的TestForm 562
687 查看无模态的TestForm 563
688 使用异步通知 564
689 完成事件通知代码 565
690 编写客户程序 566
691 考虑如何处理多客户 567
692 使用Connector对象 568
694 使用异步回调方法 569
695 创建LunehTimeMonitor可执行程序 569
693 认识到Connector中的错误 569
697 有序开发ActiveX组件 570
698 重新考虑多线程 570
696 理解单线程 570
699 理解套间模式线程 571
700 理解重进入 571
701 理解二进制兼容性 572
702 避免版本树 572
703 避免版本兼容消息 573
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《万里云天万里路 国医大师邓铁涛师承团队学术精华》邱仕君,刘小斌,邓中光 2018
- 《张道真英语用法 中学生精华版》张道真著 2018
- 《全国职业院校工业机器人技术专业规划教材 工业机器人现场编程》(中国)项万明 2019
- 《实用日语口语大全 商务口语 白金版》柠檬树日语教学团队编著 2018
- 《编程超有趣 奇妙Python轻松学 第1辑》HelloCode人工智能国际研究组 2018
- 《中华痹病大全》娄玉钤,娄多峰,李满意主编 2019
- 《我的第一套编程启蒙绘本 看事件 开始了》编程猫教研团队编绘 2019
- 《STEM教育丛书 麦昆机器人和Micro:bit图形化编程》张弛责任编辑;(中国)陈宝杰,沙靓雯 2019
- 《ROS机器人编程与SLAM算法解析指南》陶满礼 2020
- 《SQL与关系数据库理论》(美)戴特(C.J.Date) 2019
- 《魔法销售台词》(美)埃尔默·惠勒著 2019
- 《看漫画学钢琴 技巧 3》高宁译;(日)川崎美雪 2019
- 《优势谈判 15周年经典版》(美)罗杰·道森 2018
- 《社会学与人类生活 社会问题解析 第11版》(美)James M. Henslin(詹姆斯·M. 汉斯林) 2019
- 《海明威书信集:1917-1961 下》(美)海明威(Ernest Hemingway)著;潘小松译 2019
- 《迁徙 默温自选诗集 上》(美)W.S.默温著;伽禾译 2020
- 《上帝的孤独者 下 托马斯·沃尔夫短篇小说集》(美)托马斯·沃尔夫著;刘积源译 2017
- 《巴黎永远没个完》(美)海明威著 2017
- 《剑桥国际英语写作教程 段落写作》(美)吉尔·辛格尔顿(Jill Shingleton)编著 2019
- 《中国当代乡土小说文库 本乡本土》(中国)刘玉堂 2019
- 《异质性条件下技术创新最优市场结构研究 以中国高技术产业为例》千慧雄 2019
- 《中国铁路人 第三届现实主义网络文学征文大赛一等奖》恒传录著 2019
- 《莼江曲谱 2 中国昆曲博物馆藏稀见昆剧手抄曲谱汇编之一》郭腊梅主编;孙伊婷副主编;孙文明,孙伊婷编委;中国昆曲博物馆编 2018
- 《中国制造业绿色供应链发展研究报告》中国电子信息产业发展研究院 2019
- 《中央财政支持提升专业服务产业发展能力项目水利工程专业课程建设成果 设施农业工程技术》赵英编 2018
- 《中国陈设艺术史》赵囡囡著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《《走近科学》精选丛书 中国UFO悬案调查》郭之文 2019
- 《清至民国中国西北戏剧经典唱段汇辑 第8卷》孔令纪 2018