第1章 認識Visual Basic 1
1.1 Visual Basic概述 1
1.1.1 Visual Basic簡介 1
1.1.2 Visual Basic的發(fā)展歷程 1
1.1.3 Visual Basic的特點 2
1.2 Visual Basic 6.0的主要特性 2
1.2.1 功能強大的數據訪問 2
1.2.2 Internet編程 3
1.2.3 使用新的控件 4
1.2.4 利用增強的控件提高性能 5
1.2.5 熟悉語言特性 6
1.2.6 增強的向導功能 6
1.3 安裝、啟動和退出Visual Basic 7
1.3.1 Visual Basic 6.0的運行環(huán)境 7
1.3.2 安裝Visual Basic 6.0 7
1.3.3 啟動和退出Visual Basic 6.0 10
1.4 Visual Basic的集成開發(fā)環(huán)境 12
1.4.1 集成環(huán)境中的各子窗口 12
1.4.2 菜單欄 14
1.4.3 工具欄 17
1.5 定制集成開發(fā)環(huán)境 17
1.5.1 定制工具欄 18
1.5.2 定制窗口位置 19
1.5.3 定制菜單欄 19
1.5.4 定制工具箱中的控件 20
1.6 獲得幫助 21
1.6.1 使用MSDN Library 21
1.6.2 在MSDN Library中定位信息 21
1.6.3 自定義MSDN Library 22
第2章 Visual Basic語言基礎 24
2.1 程序設計的基本概念 24
2.1.1 標識符 24
2.1.2 運算符 24
2.1.3 書寫規(guī)則 25
2.2 數據類型 28
2.2.1 基本數據類型 28
2.2.2 自定義數據類型 31
2.3 常量及變量 31
2.3.1 常量 31
2.3.2 變量 32
2.3.3 Option Explicit語句 33
2.3.4 常量和變量的關系 33
2.4 數組和數組聲明 33
2.4.1 數組的概念和作用 33
2.4.2 數組的聲明 33
2.4.3 多維數組 34
2.4.4 動態(tài)數組 34
2.5 程序結構 35
2.5.1 順序結構 35
2.5.2 條件結構 36
2.5.3 循環(huán)結構 38
2.6 過程與函數 40
2.6.1 過程和函數 40
2.6.2 變量作用域 47
2.7 基本函數 48
2.7.1 類型轉換函數 48
2.7.2 字符串函數 48
2.7.3 日期和時間函數 48
2.7.4 數值函數 49
2.7.5 Shell函數 49
第3章 創(chuàng)建第一個Visual Basic應用程序 51
3.1 編寫第一個Visual Basic工程 51
3.1.1 創(chuàng)建一個新工程 51
3.1.2 創(chuàng)建新程序的用戶界面 52
3.1.3 設置用戶界面中各對象的屬性 52
3.1.4 編寫程序代碼 54
3.1.5 保存和運行程序 55
3.1.6 創(chuàng)建可執(zhí)行文件 56
3.2 Visual Basic工程的結構 56
3.2.1 Visual Basic工程概述 56
3.2.2 工程設計和工程資源 57
3.2.3 運行時文件 58
3.3 配置Visual Basic工程 58
3.3.1 工程屬性 58
3.3.2 引用和部件 59
第4章 Visual Basic面向對象的編程基礎 64
4.1 屬性、方法和事件概述 64
4.1.1 對象 64
4.1.2 屬性 65
4.1.3 方法 65
4.1.4 事件 65
4.2 控件及其作用 65
4.2.1 控件概述 66
4.2.2 控件作用 68
4.2.3 控件與對象的關系 68
4.2.4 控件分類 68
4.3 最通用的屬性 70
4.3.1 名稱屬性(Name屬性) 70
4.3.2 標題屬性和文本屬性(Caption和Text屬性) 72
4.3.3 是否可用和是否可視(Enabled和Visible屬性) 72
4.3.4 確定控件位置(Left、Top、Height和Width屬性) 73
4.4 最通用的方法 73
4.4.1 方法概述 73
4.4.2 拖動——Drag方法 74
4.4.3 移動——Move方法 75
4.4.4 確定焦點——SetFocus方法 76
4.4.5 設置控件的Z順序——ZOrder方法 77
4.5 事件驅動機制 78
4.5.1 理解事件驅動 78
4.5.2 在控件中使用事件 78
4.5.3 理解事件的先后次序 79
4.6 最通用的事件 79
4.6.1 單擊事件——Click事件 79
4.6.2 拖放事件——DragDrop事件 80
4.6.3 拖過事件——DragOver事件 81
4.6.4 取得焦點的事件——GotFocus事件 81
4.6.5 失去焦點的事件——LostFocus事件 81
第5章 面向對象編程 83
5.1 深入了解面向對象編程 83
5.1.1 面向對象編程概述 83
5.1.2 Visual Basic中的面向對象編程 84
5.2 對象變量和對象引用 87
5.2.1 對象變量及其使用 87
5.2.2 對象變量和對象類型 89
5.3 集合和對象集合 91
5.3.1 集合 91
5.3.2 集合的操作 92
5.3.3 Visual Basic中的對象集合 95
5.4 通過類模塊來創(chuàng)建對象 97
5.4.1 類和類模塊 97
5.4.2 類模塊的創(chuàng)建 98
5.4.3 向類中添加屬性和方法 100
5.4.4 向類中添加事件 104
5.4.5 使用“類生成器” 107
5.5 對象編程示例 110
5.5.1 定制About窗體類 110
5.5.2 自定義學生信息類 114
5.5.3 簡易學生信息管理系統ActiveX編程 117
第6章 窗體 122
6.1 窗體概述 122
6.1.1 窗體的基本元素 123
6.1.2 窗體類型 123
6.2 窗體的常用屬性 124
6.2.1 窗體標題——Caption屬性 124
6.2.2 窗體外表風格——Appearance屬性 125
6.2.3 邊框樣式——BorderStyle屬性 125
6.2.4 控制框按鈕——ControlBox屬性 126
6.2.5 最大化按鈕——MaxButton屬性 126
6.2.6 最小化按鈕——MinButton屬性 126
6.2.7 是否可視——Visible屬性 127
6.2.8 窗體圖標——Icon屬性 127
6.2.9 窗口的可視狀態(tài)——WindowState屬性 127
6.3 窗體的常用方法 128
6.3.1 顯示窗體——Show方法 128
6.3.2 載入窗體——Load方法 129
6.3.3 隱藏窗體——Hide方法 129
6.4 窗體的常用事件 130
6.4.1 單擊事件——Click 130
6.4.2 雙擊事件——DblClick 130
6.4.3 初始化時間——Initialize事件 131
6.4.4 窗口的Load、Unload/QueryUnload事件 131
6.4.5 窗口活動性——Activate/Deactivate事件 132
6.4.6 繪畫事件——Paint事件 133
6.4.7 鍵盤事件——KeyDown/KeyUp/KeyPress事件 133
6.4.8 鼠標事件——MouseDown/MouseMove/MouseUp事件 137
6.5 設計MDI窗體 138
6.5.1 MDI主窗體和MDI子窗體 138
6.5.2 MDI窗體的基本特征 140
6.5.3 操作子窗體 140
第7章 使用內部控件 143
7.1 命令按鈕(CommandButton) 143
7.1.1 命令按鈕的常用屬性 143
7.1.2 命令按鈕的基本事件 144
7.2 文本框控件(TextBox) 146
7.2.1 標準文本框的屬性 147
7.2.2 標準文本框的事件 148
7.3 標簽控件(Label) 148
7.4 列表類控件 150
7.4.1 標準列表框控件 150
7.4.2 標準組合框 154
7.5 選擇類控件 156
7.5.1 復選框 156
7.5.2 單選鈕 160
7.6 標準框架控件 163
7.7 滾動條 164
7.7.1 HscrollBar和VScrollBar控件的屬性 164
7.7.2 HscrollBar和VScrollBar控件的方法 165
7.7.3 HscrollBar和VScrollBar控件的事件 166
7.7.4 示例 166
7.8 定時控件 168
7.9 其他控件 169
第8章 使用菜單 170
8.1 菜單設計 170
8.1.1 菜單的基本概念 170
8.1.2 菜單編輯器 170
8.1.3 設計菜單 175
8.2 彈出式菜單 178
8.2.1 彈出式菜單概述 178
8.2.2 彈出式菜單的設計 178
8.2.3 彈出式菜單的調用 178
8.3 菜單的編程 179
8.3.1 菜單編程初步 179
8.3.2 運行時改變菜單狀態(tài) 182
8.3.3 運行時菜單項的增減 182
8.4 菜單設計示例 183
8.4.1 設計彈出式菜單 183
8.4.2 動態(tài)菜單的增減 187
8.4.3 設計MDI菜單 190
第9章 使用對話框 197
9.1 輸入對話框(InputBox函數) 197
9.2 消息對話框(MsgBox函數) 198
9.3 使用公用對話框 201
9.3.1 【打開】對話框 202
9.3.2 【另存為】對話框 203
9.3.3 【顏色】對話框 203
9.3.4 【字體】對話框 204
9.3.5 【打印】對話框 206
9.3.6 【幫助】對話框 208
第10章 鼠標和鍵盤處理 209
10.1 鼠標響應事件 209
10.1.1 MouseDown事件 209
10.1.2 MouseUp事件 209
10.1.3 MouseMove事件 210
10.1.4 檢測狀態(tài) 210
10.2 拖放技術 212
10.2.1 啟動自動拖動模式 212
10.2.2 改變拖動圖標 212
10.2.3 放下對象時的響應 212
10.2.4 啟動拖動或停止拖動時的控制 213
10.2.5 改變控件的位置 214
10.3 自定義鼠標指針 215
10.4 處理鍵盤輸入 216
10.4.1 處理KeyPress事件 216
10.4.2 處理KeyUp事件 219
10.4.3 處理KeyDown事件 221
10.4.4 處理KeyPreview屬性 224
第11章 文件編程 226
11.1 文件系統概述 226
11.1.1 文件的類型 226
11.1.2 操縱順序文件 226
11.1.3 操縱隨機文件 229
11.1.4 操縱二進制文件 231
11.1.5 “分件分割與合并”示例 232
11.2 文件系統類控件 236
11.2.1 驅動器列表(DriverListBox) 236
11.2.2 目錄列表(DirListBox) 237
11.2.3 文件列表(FileListBox) 239
11.3 文件系統對象(FSO) 244
11.3.1 文件系統對象的結構 244
11.3.2 使用文件系統對象 258
11.4 文件操作示例(結合文件系統類控件) 269
第12章 打印控制 274
12.1 相關對象和集合 274
12.1.1 Printer對象 274
12.1.2 Printers集合 277
12.2 在應用程序中打印 277
12.2.1 使用PrintForm方法 277
12.2.2 使用Printer對象 278
12.3 捕捉打印機錯誤 280
第13章 操作注冊表 281
13.1 讀寫系統注冊表 281
13.1.1 注冊表讀寫函數 284
13.1.2 讀寫注冊表示例 288
13.2 保存應用程序狀態(tài) 289
13.3 保存最近處理的文件列表 297
13.4 將文件類型和應用程序關聯 301
第14章 坐標系統 303
14.1 坐標系統概述 303
14.2 常用屬性 303
14.2.1 CurrentX屬性和CurrentY屬性 303
14.2.2 Left和Top屬性 303
14.2.3 ScaleLeft和ScaleTop屬性 304
14.2.4 Height和Width屬性 304
14.2.5 ScaleHeight和ScaleWidth屬性 305
14.2.6 ScaleMode屬性 305
14.3 常用方法 306
14.3.1 Scale方法 306
14.3.2 ScaleX方法 307
14.3.3 ScaleY方法 308
14.4 坐標轉換 308
第15章 圖形圖像 310
15.1 圖形方法 310
15.1.1 圖形方法和圖形控件的比較 310
15.1.2 畫圖方法 310
15.1.3 繪圖屬性 317
15.2 圖形圖像控件 320
15.2.1 圖片框控件(PictureBox) 320
15.2.2 圖像控件(Image) 327
15.2.3 Line控件 331
15.2.4 Shape控件 332
15.3 使用顏色 334
15.3.1 顏色屬性 335
15.3.2 RGB函數 335
15.3.3 系統顏色 335
15.3.4 使用調色板 335
第16章 多媒體編程 337
16.1 文字處理 337
16.1.1 文字效果 337
16.1.2 “文字特效”示例 351
16.2 聲音與視頻處理 362
16.2.1 MMControl控件 362
16.2.2 播放MIDI和WAV文件 368
16.2.3 播放AVI文件 371
第17章 數據通信 373
17.1 數據通信概述 373
17.1.1 串口通信 373
17.1.2 并口通信 373
17.1.3 發(fā)送順序 374
17.1.4 RS-232C標準接口 374
17.2 使用MSComm控件 377
17.2.1 MSComm控件基本技術 377
17.2.2 使用MSComm控件測試Modem 381
17.3 操作調制解調器(Modem) 384
17.3.1 測試Modem狀態(tài) 384
17.3.2 撥號連接 385
17.3.3 結束連接 387
17.3.4 服務器方應答 388
第18章 網絡通信 389
18.1 網絡基本知識 389
18.1.1 網絡分層參考模型 389
18.1.2 網絡協議 398
18.1.3 網絡接口 399
18.1.4 網絡地址 400
18.2 Winsock控件介紹 402
18.2.1 WinSock控件概述 402
18.2.2 建立服務器/客戶端的通信 408
18.2.3 建立多點通信 410
18.3 WinSock控件的應用 412
18.3.1 下載HTML網頁 413
18.3.2 用UDP協議實現對等通信 414
第19章 Internet編程 417
19.1 應用層的有關協議 417
19.1.1 HTTP 417
19.1.2 FTP 418
19.2 電子郵件 418
19.2.1 MAPI控件介紹 418
19.2.2 實現電子郵件功能 430
19.3 Internet Transfer控件 432
19.3.1 Internet Transfer控件基本屬性 432
19.3.2 Internet Transfer控件基本方法 434
19.3.3 Internet Transfer控件基本事件 436
19.4 WebBrowser控件 437
19.4.1 引用WebBrowser控件 437
19.4.2 WebBrowser控件常用屬性與方法 438
19.4.3 建立基本的瀏覽器 441
19.4.4 完善簡單瀏覽器 443
第20章 數據庫基礎 448
20.1 數據庫的發(fā)展歷程 448
20.2 關系型數據庫 448
20.2.1 數據模型 448
20.2.2 實體之間的關系 449
20.2.3 關鍵字 450
20.2.4 規(guī)范化設計理念和方法 451
20.2.5 表及表之間的關系 453
20.3 當前流行的幾種數據庫 454
20.4 如何進行數據庫應用程序的開發(fā) 455
20.4.1 數據庫應用程序的基本開發(fā)步驟 455
20.4.2 高效地確定數據庫系統開發(fā)方案 457
20.4.3 數據庫應用程序的原則 458
20.5 用SQL語句查詢和操縱數據庫 459
20.6 使用ODBC 474
20.6.1 ODBC歷史 474
20.6.2 ODBC的整體結構 474
20.6.3 配置ODBC 474
20.6.4 在應用程序中設置ODBC 480
第21章 使用DATA控件操縱數據庫 483
21.1 為使用Data控件做好準備 483
21.1.1 引入Data控件到Visual Basic項目 483
21.1.2 Data控件的主要屬性、事件和方法 483
21.1.3 認識和了解Recordset(記錄集) 488
21.2 Data控件直接操縱數據庫 491
21.2.1 連接數據庫 491
21.2.2 移動記錄 492
21.2.3 增刪改記錄 493
21.2.4 查找記錄 493
21.3 Data控件結合代碼操縱數據庫 494
21.3.1 移動記錄 494
21.3.2 查找記錄 495
21.3.3 更新記錄 496
21.3.4 關閉記錄集 497
第22章 使用ADOData控件操縱數據庫 498
22.1 為使用ADOData控件做好準備 498
22.1.1 引入ADOData控件到Visual Basic項目 498
22.1.2 控件的主要屬性、事件和方法 499
22.2 ADOData控件直接操縱數據庫 501
22.2.1 連接數據庫 501
22.2.2 移動記錄 504
22.2.3 增、刪、改記錄 504
22.2.4 查找記錄 505
22.3 ADOData控件結合代碼操縱數據庫 506
22.3.1 連接數據庫 506
22.3.2 移動記錄 506
22.3.3 增、刪、改記錄 507
22.3.4 查找記錄 508
第23章 顯示編輯數據字段的常用技術 509
23.1 字段類型對顯示與編輯內容的要求 509
23.2 將字段內容與控件綁定實現自動操作 509
23.2.1 使用文本框控件——TextBox 510
23.2.2 使用日期選擇控件——DateTimePicker 510
23.2.3 使用高級約束列表控件——DBList 512
23.2.4 使用高級約束組合框控件——DBCombo 513
23.2.5 使用復選框控件——CheckBox 513
23.2.6 使用列表框控件——ListBox 514
23.2.7 使用組合框控件——ComboBox 514
23.3 用代碼操縱數據顯示和編輯控件 515
23.3.1 操作文本框控件——TextBox 515
23.3.2 操作日期選擇控件——DateTimePicker 515
23.3.3 操作高級約束列表控件——DBList 517
23.3.4 操作高級約束組合框控件——DBCombo 518
23.3.5 操作復選框控件——CheckBox 519
23.3.6 操作列表框控件——ListBox 519
23.3.7 操作組合框控件——ComboBox 520
第24章 用DAO操縱數據庫 522
24.1 DAO概念 522
24.2 DAO層次結構 522
24.3 DAO具體對象 523
24.3.1 數據工作空間對象——WorkSpace 523
24.3.2 數據庫引擎對象——DBEngine 523
24.3.3 數據庫對象——Database 524
24.3.4 數據表對象與字段對象——TableDef、Field 525
24.3.5 數據記錄集對象——Recordset 526
24.3.6 數據查詢對象——QueryDef 528
24.4 DAO操縱數據庫的一般過程 528
24.5 打開與關閉數據庫 529
24.5.1 引用數據庫引擎動態(tài)鏈接庫 529
24.5.2 創(chuàng)建并打開Database對象——打開數據庫 529
24.5.3 關閉Database對象——關閉數據庫 530
24.6 利用記錄集(Recordset)對象操作數據庫 530
24.6.1 創(chuàng)建并打開Recordset對象 530
24.6.2 瀏覽數據記錄(定位當前記錄) 532
24.6.3 查詢數據記錄 533
24.6.4 增加數據記錄 536
24.6.5 刪除數據記錄 537
24.6.6 修改數據記錄 537
24.7 數據庫操作中合理使用TableDef、Field、QueryDef對象 538
24.7.1 利用TableDef進行數據庫表操作 538
24.7.2 利用Field進行數據庫表字段的操作 539
24.7.3 利用QueryDef進行數據庫查詢操作 539
第25章 Active X數據對象(ADO) 541
25.1 ADO的介紹 541
25.2 ADO的對象 541
25.2.1 數據庫連接對象——Connection 541
25.2.2 數據集對象——Recordset 544
25.2.3 命令對象——Command 547
25.2.4 字段對象——Field 548
25.2.5 錯誤集合——Errors 549
25.3 ADO操縱數據庫的一般過程 549
25.4 ADO連接數據庫 550
25.4.1 連接到ODBC數據源 550
25.4.2 連接到Access數據文件 550
25.4.3 連接到SQL Server數據源 551
25.4.4 連接到Oracle數據服務 552
25.5 用記錄集(Recordset)對象操縱數據 552
25.5.1 創(chuàng)建并打開Recordset對象 552
25.5.2 瀏覽數據記錄(定位當前記錄) 553
25.5.3 查詢數據記錄 553
25.5.4 增、刪、改數據記錄 553
25.5.5 構造無數據源的數據集 554
25.6 ADO運行無返回值的查詢語句 554
25.6.1 用Connection對象運行查詢語句 554
25.6.2 用Command對象構造帶參數的查詢語句 555
第26章 高級數據呈現技術 557
26.1 數據環(huán)境(Data Environment) 557
26.1.1 數據環(huán)境簡介 557
26.1.2 字段映射 557
26.1.3 在應用程序中使用數據環(huán)境 557
26.2 網格控件 558
26.2.1 DataGrid控件 558
26.2.2 MSFlexGrid和MSHFlexGrid控件 563
26.2.3 如何使用數據源控件和網格控件 577
26.2.4 如何使用數據環(huán)境和網格控件 579
26.3 數據報表(Data Reporter) 579
26.3.1 設計報表數據環(huán)境 579
26.3.2 使用數據報表設計器 581
26.3.3 豐富數據報表功能 584
26.3.4 打印數據報表 587
26.3.5 數據報表的事件處理 587
26.4 數據圖表(Chart) 589
26.4.1 MSChart控件的基本用法與示例 590
26.4.2 設置圖表的數據源 592
26.4.3 圖表的外觀屬性 596
26.4.4 圖表的打印 598
第27章 數據庫的特殊處理 602
27.1 存取數據庫中特殊數據 602
27.1.1 圖片的存取 602
27.1.2 超長數據庫字段的操縱方法 605
27.2 訪問其他數據庫 610
27.2.1 訪問Excel數據 610
27.2.2 訪問FoxPro數據 613
27.3 數據有效性監(jiān)測 615
27.3.1 數據類型監(jiān)測 615
27.3.2 數據范圍監(jiān)測 615
27.3.3 空字段讀取監(jiān)測 616
27.4 操作加密數據庫 616
27.4.1 為數據庫設置密碼 616
27.4.2 訪問加密的數據庫 617
27.5 建立計算字段 618
第28章 API編程 621
28.1 API基礎 621
28.1.1 API簡介 621
28.1.2 API數據類型 621
28.1.3 API函數 624
28.2 在VB中使用API編程 625
28.2.1 Visual Basic的局限性及其克服方法 625
28.2.2 使用API 626
28.2.3 聲明API函數 626
28.2.4 調用API函數 630
第29章 錯誤處理與程序調試 638
29.1 錯誤與錯誤對象 638
29.1.1 VB中的錯誤 638
29.1.2 錯誤對象 641
29.2 錯誤處理 646
29.2.1 錯誤處理的一般步驟 646
29.2.2 深入錯誤處理 651
29.2.3 聯機錯誤處理 654
29.2.4 錯誤處理示例 657
29.3 程序調試 662
29.3.1 概述 662
29.3.2 程序的模式及其切換 664
29.3.3 跟蹤代碼 665
29.3.4 使用調試窗口 670
第30章 應用程序的優(yōu)化和發(fā)布 677
30.1 優(yōu)化應用程序 677
30.1.1 應用程序的優(yōu)化 677
30.1.2 優(yōu)化速度 681
30.1.3 優(yōu)化大小 685
30.1.4 優(yōu)化對象 690
30.2 發(fā)布應用程序 691
30.2.1 發(fā)布應用程序的工具 691
30.2.2 為應用程序打包 694
30.2.3 展開應用程序 698
30.2.4 管理向導腳本 699
30.2.5 示例 699
第31章 制作幫助文件 709
31.1 添加對幫助的支持 709
31.2 制作幫助文件 709
31.2.1 制作幫助源文件 709
31.2.2 對源文件進行編譯,生成HLP文件 710
31.2.3 幫助文件的應用 714
31.3 WinHelp函數 716
31.4 使用上下文相關幫助 716