图书介绍

Visual Basic编程实用大全 精华版2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

Visual Basic编程实用大全 精华版
  • (美)Ted Coombs,(美)Jon Campbell著;邓少鵾,邓云佳等译 著
  • 出版社: 北京市:中国水利水电出版社
  • ISBN:7508428900
  • 出版时间:2005
  • 标注页数:573页
  • 文件大小:178MB
  • 文件页数:589页
  • 主题词:BASIC语言-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

Visual Basic编程实用大全 精华版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

2 编写第一个Visual Basic程序1

87 使用Exit Do结束循环 51

目录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和False32

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-Else40

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 在条件语句中使用Next46

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和a59

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 判断字符串是否是Date82

124 判断一个字符是否是大写或者小写82

127 对ASCII字符进行操作83

129 对字符串使用Select Case84

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或者TypeName100

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 使用关键字Optional115

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 As187

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 解析PathName213

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 建立Windowlist252

317 使用菜单的Checked属性252

319 使用Tile和Cascade命令254

320 创建菜单数组255

321 创建弹出式菜单257

322 向弹出式菜单的选项中加入代码259

323 使用弹出式菜单260

324 创建智能化上下文相关菜单262

326 在菜单内使用Negotiation264

325 使用Boldcommand属性264

327 理解QueryUnload事件和Unload事件266

328 控制窗体的Height和Width267

329 理解Frame268

330 使用容器管理窗体269

331 使用GetSystemMetrics API函数273

332 结合使用GetSystemMetrics和Resize275

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 工具条和ActiveForm290

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控件设置Fonts307

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 With331

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 在单个窗体上使用多组OptionButton351

409 使用水平和垂直滚动条353

410 创建基础的界面354

411 为MDN程序加入功能357

412 加入Find对话框358

414 重新考虑Query_Unload事件359

413 改进多文档记事本应用程序359

416 使用ProgressBar控件360

415 理解ProgressBar360

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 检索Recordset382

436 理解Where从句383

435 理解Order By从句383

437 理解Inner Join385

439 理解数据库的设置386

438 理解Left Join和Right Join386

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 Recordset394

451 理解许可权限395

452 理解DAO文档和容器396

454 使用Update和Edit方法397

453 加入新的记录397

456 理解事务处理399

455 使用Requery方法399

457 使用BeginTrans和CommitTrans400

458 理解Data控件401

460 理解Data绑定控件403

459 使用Data控件操作BOF和EOF403

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-Resume425

484 使用查询结果创建新的查询425

483 在查询中使用变量425

487 理解远程数据对象426

486 通过检查值防止发生错误426

488 理解RemoteData控件427

490 理解RemoteData常量429

489 使用RemoteData控件创建Recordset429

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 连接到Internet457

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 重新考虑ActiveX463

531 使用ProgressChange事件463

534 理解UserControl对象465

533 理解ActiveX的不同类型465

535 理解VisualBasicControlCreationEdition466

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的Dim501

577 使用VBScript的Option Explicit501

581 使用注册表编辑器来寻找Class ID503

580 引用ActiveX控件503

582 在HTML文件中使用WebBrowser控件504

583 Active Server Pages505

584 在ASP中响应和请求506

586 格式化的一个捷径507

585 使用Querystring参数507

587 回退508

589 使用文件的WritePrivateProfileSlring API510

588 理解.INI文件510

590 使用.ini文件的GetPrivateProfileString API511

591 使用.ini文件的GetPrivateProfileInt API512

592 理解System Registry512

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和RegCreateValueEx522

608 捕获注册表错误523

609 使用API函数删除键和值524

610 访问注册表524

612 理解#Const语句525

613 理解#If-Then-#Else525

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 Screen532

628 使用向导添加数据库窗体533

629 理解Crystal Reports533

627 理解About对话框533

630 使用Crystal Reports534

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 EXE552

672 理解线程553

673 理解异步处理553

671 区分进程外和进程内组件553

674 理解使用事件的异步通知554

675 理解使用回调方法的异步通知555

676 在多客户中使用回调556

677 选择基于事件的通知还是基于回调的通知556

678 理解类型库557

680 重新考虑GUID558

681 理解版本兼容558

679 理解默认接口558

682 创建ActiveX EXE559

683 理解进程外组件的模态560

684 开始创建测试工程561

685 在测试工程中加入代码562

686 查看有模态的TestForm562

687 查看无模态的TestForm563

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

热门推荐