內容簡介
《Visual Basic開發實戰寶典》從初學者的角度講述使用Visual Basic 6.0進行程式開發應該掌握的各項技術,內容突出“基礎”、“全面”、“深入”的特點,強調“實戰”效果。只掌握和理解技術,而沒有實際套用,等於沒有掌握技術。在《Visual Basic開發實戰寶典》各章介紹技術的同時,都會提供示例或實例,在各章的結尾也安排有綜合套用,目的是通過幾個小型項目綜合套用本章所學習的知識,做到理論聯繫實際。在《Visual Basic開發實戰寶典》的後5章中提供了5個完整的項目實例,講述從前期規劃、設計流程圖到項目最終實施的整個實現過程。
全書共分24章,包括Visual Basic集成開發環境,VB語言基礎,算法和程式控制結構,數組與集合,過程,內置函式,窗體和系統對象,常用標準控制項,常用ActiveX控制項,選單、工具列和狀態欄,對話框,檔案系統編程,圖形圖像技術,多媒體技術,滑鼠鍵盤處理,資料庫開發技術,資料庫控制項,數據環境設計器及報表生成,程式調試和錯誤處理,企業人事管理系統,葉子圖像處理專家,個人文檔管理系統,無紙化考試系統和區域網路聊天系統等。
《Visual Basic開發實戰寶典》適合有志於從事軟體開發的初學者、高校計算機相關專業學生和畢業生,也可作為軟體開發人員的參考手冊,或者高校的教學參考書。
目錄
第1部分 基礎知識
第1章 Visual Basic集成開發環境 3
視頻講解:138分鐘
1.1 Visual Basic簡介 4
1.1.1 Visual Basic概述 4
1.1.2 Visual Basic 6.0的特點 4
1.1.3 Visual Basic 6.0的局限性 5
1.2 學習Visual Basic的好處 5
1.2.1 Visual Basic可以做什麼 5
1.2.2 學習VB的幾點建議 6
1.3 VB開發環境的安裝和程式啟動 7
1.3.1 Visual Basic 6.0的運行環境 7
1.3.2 Visual Basic 6.0+SP6的安裝 7
1.3.3 Visual Basic 6.0的啟動 9
1.4 Visual Basic 6.0的集成開發環境 10
1.4.1 集成開發環境簡介 10
1.4.2 選單欄 11
1.4.3 工具列 13
1.4.4 工具箱 14
1.4.5 工程資源管理器 16
1.4.6 屬性視窗 17
1.4.7 窗體布局視窗 18
1.4.8 窗體設計器 18
1.4.9 代碼編輯視窗 19
1.5 VB的MDI和SDI開發環境 19
1.5.1 多文檔界面開發環境 20
1.5.2 單文檔界面開發環境 20
1.6 開發環境使用技巧 20
1.6.1 設定啟動時保存 21
1.6.2 自定義工具列 22
1.6.3 為代碼編輯器設定滑鼠滾動 22
1.6.4 設定格線大小和不對齊到格線 23
1.6.5 設定在編輯器中要求變數聲明 24
1.6.6 規範代碼縮進格式 24
1.7 Visual Basic 6.0的幫助系統 25
1.7.1 MSDN Library的安裝與使用 25
1.7.2 利用附帶的實例源程式學習編程 26
1.7.3 使用Visual Basic的幫助選單 27
1.8 創建第一個VB程式 27
1.8.1 創建工程檔案 28
1.8.2 設計界面 28
1.8.3 編寫代碼 28
1.8.4 調試運行 29
1.8.5 保存工程 29
1.8.6 編譯程式 30
1.9 利用應用程式嚮導自動生成應用程式 30
1.10 小結 33
1.11 實戰練習 33
第2章 VB語言基礎 35
視頻講解:104分鐘
2.1 關鍵字和標識符 36
2.2 基本數據類型 36
2.2.1 字元型 37
2.2.2 數值型 38
2.2.3 布爾型 39
2.2.4 日期型 39
2.2.5 變體型 40
2.2.6 對象型 40
2.3 記錄類型 41
2.4 枚舉類型 42
2.5 變數 43
2.5.1 什麼是變數 43
2.5.2 變數的命名 43
2.5.3 變數的聲明 44
2.6 變數的作用域 46
2.6.1 靜態變數 47
2.6.2 變數同名問題的處理 47
2.7 常量 48
2.7.1 常量的聲明 48
2.7.2 局部常量和全局常量 49
2.8 運算符 49
2.9 表達式 51
2.9.1 什麼是表達式 51
2.9.2 表達式的種類 51
2.9.3 運算符在表達式中的優先權 53
2.10 語言基礎套用技巧 54
2.10.1 如何處理溢出 54
2.10.2 正確使用“&”和“+” 54
2.10.3 正確使用Or、Xor、And、Eqv、Imp運算符 55
2.11 小結 56
2.12 實戰練習 56
第3章 算法和程式控制結構 57
視頻講解:161分鐘
3.1 算法 58
3.1.1 什麼是算法 58
3.1.2 算法的特性 59
3.1.3 算法的描述方法 59
3.1.4 構成算法的基本控制結構 62
3.2 順序結構 64
3.2.1 賦值語句 64
3.2.2 數據的輸入 66
3.2.3 數據的輸出 67
3.3 選擇結構 68
3.3.1 單分支If…Then語句 69
3.3.2 雙分支If…Then…Else語句 70
3.3.3 If語句的嵌套 71
3.3.4 多分支If…Then…ElseIf語句 75
3.3.5 Select Case語句 76
3.3.6 IIf函式 79
3.4 循環結構 80
3.4.1 For…Next循環語句 80
3.4.2 For Each…Next循環語句 83
3.4.3 Do…Loop循環語句 83
3.4.4 多重循環 87
3.4.5 選擇結構與循環結構的嵌套 88
3.5 其他輔助控制語句 89
3.5.1 跳轉語句GoTo 89
3.5.2 復用語句With…End With 90
3.5.3 退出語句Exit 91
3.5.4 結束語句End 91
3.6 實戰 92
3.6.1 計算最大公約數和最低公倍數 92
3.6.2 判斷素數 94
3.6.3 驗證哥德巴赫猜想 95
3.7 小結 96
3.8 實戰練習 97
第4章 數組與集合 99
視頻講解:111分鐘
4.1 數組的概述 100
4.1.1 數組的概念 100
4.1.2 數組與簡單變數的區別 100
4.1.3 數組的分類 100
4.2 靜態數組 101
4.2.1 靜態數組的聲明和使用 101
4.2.2 一維數組 102
4.2.3 二維數組 104
4.2.4 多維數組 105
4.3 動態數組 106
4.3.1 動態數組的聲明 106
4.3.2 動態數組的使用 106
4.3.3 數組的清除 107
4.4 控制項數組 108
4.4.1 控制項數組的概念 108
4.4.2 控制項數組的創建 108
4.4.3 控制項數組的使用 109
4.4.4 載入和刪除控制項數組中的控制項 109
4.5 數組相關函式及語句 111
4.5.1 使用Array函式創建數組 111
4.5.2 使用UBound和LBound函式獲取數組上下標 111
4.5.3 使用Split函式生成一維字元串數組 112
4.5.4 使用Option Base語句聲明數組下標最大值 113
4.6 集合 113
4.6.1 集合的創建 113
4.6.2 控制項集合(Controls集合) 114
4.7 實戰 117
4.7.1 動態添加和刪除控制項 117
4.7.2 利用數組實現隨機抽取幸運觀眾 119
4.7.3 利用二維數組向格線控制項中添加背景圖片 120
4.8 小結 122
4.9 實戰練習 122
第5章 過程 123
視頻講解:84分鐘
5.1 認識過程 124
5.2 事件過程 124
5.2.1 建立事件過程 125
5.2.2 調用事件過程 125
5.3 子過程(Sub過程) 126
5.3.1 建立子過程 126
5.3.2 調用子過程 128
5.3.3 調用其他模組中的子過程 129
5.4 函式過程(Function過程) 129
5.4.1 建立函式過程 129
5.4.2 調用函式過程 130
5.4.3 函式過程與子過程的區別 130
5.5 參數的傳遞 131
5.5.1 認識參數 131
5.5.2 參數按值和按地址傳遞 132
5.5.3 數組參數 134
5.5.4 對象參數 135
5.6 嵌套過程 136
5.7 遞歸過程 137
5.8 屬性過程(Property過程) 138
5.8.1 使用屬性過程建立類的屬性 138
5.8.2 使用類屬性 139
5.8.3 唯讀屬性和對象屬性 140
5.9 工程中的模組 140
5.9.1 窗體模組 140
5.9.2 標準模組 141
5.9.3 類模組 142
5.9.4 標準模組與類模組的區別 142
5.10 過程的作用域 144
5.11 實戰 146
5.11.1 編寫計算圓面積的函式過程 146
5.11.2 自定義二進制轉換為十進制的函式 146
5.12 小結 147
5.13 實戰練習 147
第6章 內置函式 149
視頻講解:111分鐘
6.1 字元串函式 150
6.1.1 獲取字元長度(Len函式) 150
6.1.2 取左(右)面指定個數的字元(Left和Right函式) 151
6.1.3 截取字元串(Mid函式) 152
6.1.4 獲取字元出現的位置(InStr和InStrRev函式) 153
6.1.5 去除空格(Trim、RTrim、Ltrim函式) 155
6.1.6 將字元串轉換為大(小)寫(UCase和LCase函式) 156
6.2 數學函式 158
6.2.1 求絕對值(Abs函式) 158
6.2.2 求平方根(Sqr函式) 158
6.2.3 e的n次方(Exp函式) 159
6.2.4 求自然對數(Log函式) 160
6.2.5 返回符號(Sgn函式) 161
6.2.6 取整(Int和Fix函式) 161
6.3 判斷函式 162
6.3.1 判斷是否為數組(IsArray函式) 162
6.3.2 判斷是否為Null(IsNull函式) 163
6.3.3 判斷是否為數字(IsNumeric函式) 164
6.4 類型轉換函式 164
6.4.1 轉換為字元型(Str函式) 164
6.4.2 轉換為數值型(Val函式) 165
6.4.3 轉換為AscII(Asc函式) 166
6.4.4 轉換為字元(Chr函式) 167
6.5 日期和時間函式 168
6.5.1 Date、Now和Time函式 168
6.5.2 Weekday函式 168
6.5.3 返回年、月、日(Year、Month、Day函式) 170
6.5.4 返回時、分、秒(Hour、Minute、Second函式) 170
6.6 隨機函式 171
6.6.1 初始化隨機數(Randomize函式) 171
6.6.2 生成隨機數(Rnd函式) 171
6.7 格式化函式 172
6.8 實戰 175
6.8.1 判斷某個時間段里有多少個工作日 175
6.8.2 數字時鐘 176
6.8.3 計算器 178
6.9 小結 179
6.10 實戰練習 179
第2部分 技術套用
第7章 窗體和系統對象 183
視頻講解:152分鐘
7.1 窗體概述 184
7.1.1 窗體的結構 184
7.1.2 模式窗體和無模式窗體 184
7.1.3 SDI窗體和MDI窗體 185
7.2 窗體的屬性 185
7.2.1 名稱(Name屬性) 185
7.2.2 標題(Caption屬性) 186
7.2.3 圖示(Icon屬性) 187
7.2.4 背景(Picture屬性) 187
7.2.5 框線樣式(BorderStyle屬性) 188
7.3 窗體的事件 190
7.3.1 單擊和雙擊(Click/DbClick事件) 190
7.3.2 載入和卸載(Load/QueryUnload/Unload事件) 191
7.3.3 初始化(Initialize事件) 192
7.3.4 活動性(Activate/Deactivate事件) 193
7.3.5 焦點事件(GotFocus/LostFocus事件) 194
7.3.6 重繪(Paint事件) 195
7.3.7 調整大小(Resize事件) 196
7.4 窗體事件的生命周期 196
7.5 窗體的方法 199
7.5.1 載入窗體(Load方法) 199
7.5.2 卸載窗體(Unload方法) 199
7.5.3 顯示窗體(Show方法) 200
7.5.4 隱藏窗體(Hide方法) 201
7.5.5 移動窗體(Move方法) 201
7.5.6 清除窗體(Cls方法) 202
7.5.7 在窗體上顯示文本(Print方法) 202
7.5.8 列印窗體(PrintForm方法) 203
7.6 MDI窗體 204
7.6.1 MDI窗體概述 204
7.6.2 MDI窗體的創建 204
7.6.3 在MDI窗體中添加控制項 205
7.6.4 MDI子窗體(MDIChild屬性) 206
7.6.5 MDI窗體的特點 207
7.7 窗體套用技巧 208
7.7.1 如何設定閃爍的窗體標題欄 208
7.7.2 如何設定窗體前置 209
7.7.3 如何拖動無標題欄窗體移動 210
7.8 系統對象 211
7.8.1 應用程式對象(APP對象) 211
7.8.2 螢幕對象(Screen對象) 215
7.8.3 剪貼簿對象(Clipboard對象) 216
7.8.4 調試對象(Debug對象) 218
7.9 實戰 219
7.9.1 在視窗中平鋪圖片 219
7.9.2 透明窗體 220
7.9.3 利用APP對象防止程式重複 221
7.9.4 利用Screen對象獲得系統中的可用字型 222
7.9.5 記錄剪貼簿內容 223
7.10 小結 224
7.11 實戰練習 224
第8章 常用標準控制項 225
視頻講解:199分鐘
8.1 控制項概述 226
8.1.1 控制項的作用 226
8.1.2 控制項的分類 226
8.1.3 控制項的命名 227
8.1.4 控制項的屬性、方法和事件 228
8.2 控制項的相關操作 228
8.2.1 向窗體上添加控制項 228
8.2.2 設定控制項大小和位置 229
8.2.3 複製控制項 229
8.2.4 刪除控制項 229
8.2.5 鎖定控制項 230
8.2.6 使用窗體編輯器調整控制項布局 230
8.3 界面設計的基本原則 231
8.4 標籤控制項(Label控制項) 232
8.4.1 標籤控制項概述 232
8.4.2 標籤控制項常用屬性 233
8.4.3 利用標籤控制項實現滑鼠互動效果 234
8.5 文本框控制項(TextBox控制項) 234
8.5.1 文本框控制項概述 234
8.5.2 文本框控制項常用屬性、方法和事件 235
8.5.3 利用文本框控制項實現用戶登錄 238
8.6 命令按鈕控制項(CommandButton控制項) 239
8.6.1 命令按鈕概述 239
8.6.2 命令按鈕的常用屬性和事件 239
8.6.3 利用命令按鈕實現載入圖片的功能 240
8.7 單選按鈕、複選框及框架 241
8.7.1 單選按鈕(OptionButton控制項) 241
8.7.2 複選框(CheckBox控制項) 243
8.7.3 框架(Frame控制項) 243
8.7.4 設定字型顯示效果 244
8.8 列表框控制項(ListBox控制項) 245
8.8.1 列表框控制項概述 245
8.8.2 列表框控制項常用屬性 245
8.8.3 隨機抽取列表框中數據 249
8.9 組合框控制項(ComboBox控制項) 250
8.9.1 組合框控制項概述 250
8.9.2 組合框控制項常用屬性、方法、事件 250
8.9.3 改變ComboBox控制項下拉列表框的長度 252
8.10 滾動條控制項(HScrollBar和VScrollBar控制項) 253
8.10.1 滾動條控制項概述 253
8.10.2 滾動條控制項的屬性和事件 253
8.10.3 利用滾動條瀏覽大幅圖片 254
8.11 時鐘控制項(Timer控制項) 255
8.11.1 Timer控制項的屬性和事件 255
8.11.2 利用Timer控制項設計小遊戲 256
8.12 實戰 257
8.12.1 利用基本控制項實現顯示學生信息 257
8.12.2 為TextBox控制項添加列表選擇框 259
8.13 小結 260
8.14 實戰練習 260
第9章 常用ActiveX控制項 261
視頻講解:95分鐘
9.1 ActiveX控制項的使用 262
9.1.1 ActiveX控制項概述 262
9.1.2 註冊ActiveX控制項 262
9.1.3 添加ActiveX控制項 264
9.1.4 刪除ActiveX控制項 264
9.2 圖像列表控制項(ImageList控制項) 265
9.2.1 認識ImageList控制項 265
9.2.2 添加圖像 265
9.2.3 與其他控制項關聯 266
9.2.4 創建組合圖像 268
9.3 視圖控制項(ListView控制項) 269
9.3.1 認識ListView控制項 269
9.3.2 添加數據 270
9.3.3 用ListView控制項+數據表創建報表視圖 271
9.3.4 用ListView控制項創建大圖示視圖 272
9.4 樹狀控制項(TreeView控制項) 273
9.4.1 認識TreeView控制項 274
9.4.2 添加數據 274
9.4.3 刪除指定節點數據 276
9.4.4 節點展開與摺疊 276
9.4.5 用TreeView控制項+數據表創建多級樹狀視圖 276
9.5 選項卡控制項(SSTab控制項) 280
9.5.1 認識SSTab控制項 280
9.5.2 設定選項卡數目和行數 281
9.5.3 在選項卡中添加控制項 281
9.5.4 運行時啟用和停用選項卡 282
9.5.5 定製不同樣式的選項卡 282
9.5.6 圖形化選項卡 283
9.6 進度條控制項(ProgressBar控制項) 284
9.6.1 認識ProgressBar控制項 284
9.6.2 顯示進展情況 284
9.6.3 將Max屬性設定為已知的界限 285
9.6.4 隱藏ProgressBar控制項 285
9.6.5 用ProgressBar控制項顯示清空數據的進度 285
9.7 日期/時間控制項(DateTimePicker控制項) 286
9.7.1 認識DateTimePicker控制項 286
9.7.2 設定和返回日期 286
9.7.3 實時讀取DTPicker控制項中的日期 287
9.7.4 使用CheckBox屬性選擇無日期 287
9.7.5 使用日期和時間的格式 288
9.7.6 使用DTPicker控制項計算日期或天數 289
9.8 實戰 290
9.8.1 用TreeView控制項製作程式主界面 290
9.8.2 利用ListView控制項瀏覽數據 291
9.9 小結 293
9.10 實戰練習 294
第10章 選單、工具列和狀態欄 295
視頻講解:128分鐘
10.1 選單概述 296
10.1.1 選單的概念 296
10.1.2 選單的組成 296
10.1.3 選單的狀態 297
10.1.4 選單編輯器 297
10.2 標準選單 299
10.2.1 最簡選單 299
10.2.2 選單無效狀態 300
10.2.3 級聯選單 301
10.2.4 選單分割條 301
10.2.5 複選選單 302
10.2.6 選單的快捷鍵和訪問鍵 303
10.2.7 創建選單數組 304
10.2.8 修飾選單 305
10.2.9 為選單事件添加代碼 305
10.3 彈出式選單 306
10.3.1 彈出式選單概述 306
10.3.2 PopupMenu方法 306
10.3.3 彈出式選單的設計和調用 307
10.3.4 利用彈出式選單為無標題欄窗體添加選單 308
10.4 選單的編程 310
10.4.1 選單的多列顯示 310
10.4.2 可伸縮的選單項 312
10.4.3 為選單添加圖示 313
10.4.4 選單複製器 314
10.5 工具列設計 318
10.5.1 工具列概述 318
10.5.2 利用Toolbar控制項創建最簡工具列 318
10.5.3 為工具列按鈕添加圖片 319
10.5.4 為工具列按鈕設定分組 320
10.5.5 為工具列添加下拉選單 321
10.5.6 給工具列按鈕添加事件處理代碼 322
10.6 狀態欄設計 323
10.6.1 狀態欄概述 323
10.6.2 利用狀態欄顯示操作員信息 324
10.6.3 利用狀態欄顯示日期、時間 324
10.6.4 利用狀態欄顯示滑鼠位置 325
10.7 實戰 326
10.7.1 改變選單的顏色 326
10.7.2 托盤上的彈出式選單 326
10.7.3 向工具列中添加ComboBox控制項 327
10.7.4 在狀態欄中顯示窗體信息 328
10.8 小結 329
10.9 實戰練習 329
第11章 對話框 331
視頻講解:47分鐘
11.1 輸入對話框 332
11.2 訊息對話框 333
11.3 公用對話框 335
11.3.1 公用對話框概述 335
11.3.2 “打開”對話框 337
11.3.3 “另外儲存為”對話框 338
11.3.4 “顏色”對話框 339
11.3.5 “字型”對話框 340
11.3.6 “列印”對話框 341
11.3.7 “幫助”對話框 341
11.4 實戰 342
11.4.1 使用“打開”對話框打開圖片 342
11.4.2 讀取並保存INI檔案 343
11.4.3 使用“顏色”對話框設定文字顏色 344
11.5 小結 345
11.6 實戰練習 345
第12章 檔案系統編程 347
視頻講解:115分鐘
12.1 檔案的基本概念 348
12.1.1 檔案的一般結構 348
12.1.2 檔案的分類 348
12.1.3 檔案的訪問方式 349
12.2 順序檔案 350
12.2.1 打開順序檔案 350
12.2.2 關閉順序檔案 351
12.2.3 讀取順序檔案 351
12.2.4 寫入順序檔案 354
12.3 隨機檔案 356
12.3.1 隨機檔案的特點 356
12.3.2 打開隨機檔案 357
12.3.3 關閉隨機檔案 357
12.3.4 讀取隨機檔案 357
12.3.5 寫入隨機檔案 358
12.4 二進制檔案 359
12.4.1 打開二進制檔案 359
12.4.2 二進制檔案的關閉 360
12.4.3 二進制檔案的讀取與寫入操作 360
12.5 檔案操作函式 361
12.5.1 利用CurDir函式獲取路徑 361
12.5.2 利用FileLen函式返回檔案長度 362
12.5.3 利用EOF函式測試檔案結束狀態 362
12.5.4 利用LOF函式獲取打開檔案的大小 363
12.5.5 利用GetAttr函式獲取檔案屬性 363
12.5.6 利用FileDateTime函式獲取檔案創建或修改時間 364
12.6 檔案操作語句 364
12.6.1 利用FileCopy語句複製檔案 364
12.6.2 利用Name語句重命名檔案 365
12.6.3 利用Kill語句刪除檔案 366
12.6.4 利用ChDrive語句改變當前驅動器 367
12.6.5 利用ChDir語句改變目錄或資料夾 368
12.6.6 利用MkDir語句創建目錄或資料夾 368
12.6.7 利用SetAttr語句設定檔案屬性 368
12.7 檔案系統控制項 369
12.7.1 驅動器列表框(DriveListBox控制項) 369
12.7.2 目錄列表框(DirListBox控制項) 371
12.7.3 檔案列表框(FileListBox控制項) 372
12.7.4 利用檔案系統控制項讀取檔案 376
12.8 實戰 377
12.8.1 批量移動檔案 377
12.8.2 檔案及資料夾名提取器 378
12.8.3 文檔編輯器 381
12.9 小結 386
12.10 實戰練習 386
第13章 圖形圖像技術 387
視頻講解:89分鐘
13.1 坐標系統 388
13.1.1 默認的坐標系統 388
13.1.2 自定義的坐標系統 388
13.2 圖形圖像中的顏色 390
13.2.1 QBColor函式 390
13.2.2 RGB函式 391
13.3 圖形處理控制項 391
13.3.1 Line控制項 391
13.3.2 利用Line控制項設計分割線 392
13.3.3 Shape控制項 393
13.4 圖像處理控制項 394
13.4.1 Image控制項 394
13.4.2 利用Image控制項製作小動畫 395
13.4.3 PictureBox控制項 395
13.4.4 利用PictureBox控制項瀏覽大幅圖片 396
13.5 圖形屬性 397
13.5.1 使用CurrentX和CurrentY屬性繪圖坐標 397
13.5.2 使用BackColor和ForeColor屬性設定背景色和前景色 399
13.5.3 使用FillColor和FillStyle屬性設定填充效果 400
13.5.4 使用DrawWidth、DrawStyle和DrawMode屬性設定繪製效果 401
13.5.5 使用BorderStyle、BorderWidth和BorderColor屬性設定圖形的框線效果 404
13.6 圖形方法 405
13.6.1 使用Cls方法清屏 405
13.6.2 使用PSet方法畫點 406
13.6.3 使用Point方法獲取顏色值 406
13.6.4 使用Line方法畫線 407
13.6.5 使用Circle方法畫圓 408
13.6.6 使用PaintPicture方法繪製圖形 410
13.7 圖形方法套用實例 411
13.7.1 繪製矩形 411
13.7.2 繪製彩色圓餅 412
13.7.3 繪製拋物線 412
13.8 圖像處理函式 413
13.8.1 使用LoadPicture函式載入圖像 413
13.8.2 使用SavePicture函式保存圖片 414
13.9 實戰 415
13.9.1 利用圖片實現電影膠片的效果 415
13.9.2 萬花筒 416
13.9.3 螢幕放大鏡 418
13.10 小結 421
13.11 實戰練習 422
第14章 多媒體技術 423
視頻講解:50分鐘
14.1 MMControl控制項 424
14.1.1 認識MMControl控制項 424
14.1.2 MMControl控制項的屬性 424
14.1.3 MMControl控制項的事件 429
14.2 MediaPlay控制項 430
14.2.1 認識MediaPlay控制項 430
14.2.2 MediaPlay控制項的屬性 430
14.2.3 MediaPlay控制項的方法 431
14.3 ShockwaveFlash控制項 431
14.3.1 認識ShockwaveFlash控制項 432
14.3.2 ShockwaveFlash控制項的屬性 432
14.3.3 ShockwaveFlash控制項的方法 433
14.3.4 ShockwaveFlash控制項的事件 433
14.4 Animation控制項 434
14.4.1 認識Animation控制項 434
14.4.2 Animation控制項的屬性 435
14.4.3 Animation控制項的方法 435
14.5 DirectX 436
14.5.1 下載和安裝DirectX 436
14.5.2 在VB中使用DirectX 437
14.5.3 利用DirectSound編程實現實時混音 437
14.6 實戰 440
14.6.1 CD播放器 440
14.6.2 VCD播放器 441
14.6.3 多媒體演示程式 443
14.7 小結 444
14.8 實戰練習 444
第15章 滑鼠鍵盤處理 445
視頻講解:52分鐘
15.1 滑鼠指針的設定 446
15.1.1 設定滑鼠指針形狀 446
15.1.2 設定滑鼠為指定的圖片 447
15.1.3 設定滑鼠為指定的動畫 448
15.1.4 設定窗體的滑鼠樣式 449
15.1.5 設定系統的滑鼠樣式 451
15.2 滑鼠事件的回響 454
15.2.1 滑鼠單擊和雙擊事件(Click和DbClick事件) 454
15.2.2 滑鼠按下和抬起(MouseDown和MouseUp事件) 455
15.2.3 滑鼠移動事件(MouseMove事件) 456
15.3 拖放操作 457
15.3.1 與拖放相關的屬性(DragMode和DragIcon屬性) 457
15.3.2 與拖放相關的事件(DragDrop和DragOver事件) 458
15.3.3 與拖放相關的方法(Move和Drag方法) 460
15.4 鍵盤事件的回響 462
15.4.1 KeyDown事件和KeyUp事件的使用 462
15.4.2 KeyPress事件的使用 464
15.5 實戰 464
15.5.1 交換滑鼠左右鍵 464
15.5.2 滑鼠跟隨 465
15.5.3 為程式設定熱鍵 467
15.6 小結 468
15.7 實戰練習 468
第16章 資料庫開發技術 469
視頻講解:94分鐘
16.1 VB訪問資料庫 470
16.2 ODBC 470
16.2.1 認識ODBC 470
16.2.2 配置ODBC數據源 471
16.3 Data控制項 473
16.3.1 認識Data控制項 473
16.3.2 用Data控制項連線資料庫 473
16.3.3 Data控制項的綜合套用 474
16.4 DAO對象 475
16.4.1 引用DAO對象 475
16.4.2 DAO對象的子對象 476
16.4.3 DAO對象的綜合套用 480
16.5 ADO控制項 483
16.5.1 認識ADO控制項 484
16.5.2 用ADO控制項連線各種數據源 484
16.5.3 用ADO控制項連線記錄源 486
16.5.4 ADO控制項常用屬性、方法和事件 486
16.5.5 ADO控制項的綜合套用 487
16.6 ADO對象 488
16.6.1 引用ADO對象 488
16.6.2 ADO對象的子對象 489
16.6.3 連線多種資料庫(Connection對象) 490
16.6.4 連線記錄源(Recordset對象) 491
16.6.5 執行SQL語句(Command對象) 493
16.6.6 ADO對象的綜合套用 494
16.7 RDO控制項(遠程數據控制項) 495
16.7.1 引用RDO控制項到工程中 495
16.7.2 RDO控制項與數據訪問相關的屬性 496
16.7.3 使用RDO控制項連線遠程資料庫 497
16.8 資料庫增、刪、改、查技巧 498
16.8.1 存取欄位數據的幾種方法 498
16.8.2 使用數據綁定控制項實現增、刪、改 499
16.8.3 非綁定控制項的增、刪、改 500
16.8.4 使用ADO對象實現增、刪、改 500
16.9 實戰 502
16.9.1 獲取SQL Server伺服器中的所有資料庫 502
16.9.2 使用Openschema方法讀取資料庫結構 503
16.10 小結 504
16.11 實戰練習 504
第17章 資料庫控制項 505
視頻講解:70分鐘
17.1 DBCombo和DBList控制項 506
17.2 DataCombo和DataList控制項 507
17.2.1 認識DataCombo和DataList控制項 507
17.2.2 DataCombo和DataList控制項的屬性 507
17.2.3 顯示關係表中的數據 508
17.3 DataGrid控制項 509
17.3.1 認識DataGrid控制項 510
17.3.2 用DataGrid控制項顯示數據 510
17.3.3 格式化數據 512
17.3.4 鎖定數據 512
17.3.5 將DataGrid控制項中的數據顯示在文本框中 513
17.4 MSFlexGrid和MSHFlexGrid控制項 513
17.4.1 認識MSHFlexGrid控制項 514
17.4.2 用MSHFlexGrid控制項顯示數據 514
17.4.3 數據排序與合併 516
17.4.4 隱藏行或列 517
17.4.5 凍結欄位 518
17.5 實戰 518
17.5.1 載入企業部門名稱 518
17.5.2 駕駛員檔案查詢 521
17.5.3 結賬統計報表 522
17.6 小結 526
17.7 實戰練習 526
第18章 數據環境設計器及報表生成 527
視頻講解:110分鐘
18.1 添加數據環境對象 528
18.2 Connection對象 529
18.2.1 添加Connection對象 529
18.2.2 連線Connection對象 529
18.3 Command對象 531
18.3.1 創建Command對象 531
18.3.2 Command對象的層次結構 533
18.3.3 欄位映射 538
18.4 DataReport報表 539
18.4.1 在工程中添加數據報表設計器 539
18.4.2 數據報表設計器簡介 539
18.4.3 DataReport對象的屬性和方法 540
18.4.4 設計簡單的報表 541
18.5 實戰 543
18.5.1 創建數據窗體 543
18.5.2 添加、刪除和修改記錄 544
18.5.3 向報表中添加日期、時間及頁碼 546
18.5.4 主明細報表 547
18.5.5 分組統計 550
18.6 小結 551
18.7 實戰練習 551
第19章 程式調試和錯誤處理 553
視頻講解:30分鐘
19.1 常見錯誤 554
19.1.1 編譯時錯誤 554
19.1.2 運行時錯誤 554
19.1.3 邏輯錯誤 554
19.2 VB的調試工具 555
19.2.1 設定自動語法檢查 555
19.2.2 利用VB的調試工具列 556
19.3 工作模式 557
19.3.1 設計模式 557
19.3.2 運行模式 557
19.3.3 中斷模式 557
19.4 調試方法 558
19.4.1 控制程式的執行 558
19.4.2 設定斷點 558
19.4.3 使用立即視窗 559
19.4.4 使用本地視窗 559
19.4.5 使用監視視窗 560
19.5 錯誤處理語句和對象 561
19.5.1 Err對象 561
19.5.2 捕獲錯誤(On Error語句) 562
19.5.3 退出錯誤處理(Resume語句) 562
19.5.4 編寫錯誤處理函式 563
19.6 常見錯誤的處理 564
19.6.1 解決使用SetFocus方法時“無效的過程調用或參數”錯誤 564
19.6.2 處理“對象變數或With塊變數未設定”錯誤 564
19.6.3 解決“找不到工程和庫”錯誤 564
19.6.4 解決沒有啟動窗體錯誤 564
19.6.5 解決數組聲明時“要求常量表達式”錯誤 565
19.7 小結 566
第3部分 項目實戰
第20章 企業人事管理系統 569
視頻講解:248分鐘
20.1 需求分析 570
20.2 系統設計 570
20.2.1 系統目標 570
20.2.2 系統功能結構 570
20.2.3 系統預覽 571
20.3 資料庫設計 572
20.3.1 資料庫概要說明 572
20.3.2 資料庫概念結構設計 573
20.3.3 資料庫邏輯結構設計 575
20.3.4 觸發器的創建 577
20.3.5 自動計算列的創建 580
20.4 公共模組設計 581
20.5 主窗體設計 582
20.5.1 主窗體概述 582
20.5.2 技術分析 583
20.5.3 MDI主窗體實現過程 584
20.5.4 選單實現過程 585
20.5.5 工具列實現過程 586
20.5.6 背景圖窗體自適應 587
20.6 添加員工信息模組設計 588
20.6.1 添加員工信息模組概述 588
20.6.2 技術分析 588
20.6.3 添加員工信息模組的窗體設計 592
20.6.4 使“編號”文本框獲得焦點 592
20.6.5 初始化列表項 593
20.6.6 控制項焦點的自動轉移 594
20.6.7 選擇員工照片 595
20.6.8 添加/修改員工信息 595
20.7 添加/修改部門信息模組設計 597
20.7.1 添加/修改部門信息模組概述 597
20.7.2 技術分析 598
20.7.3 添加/修改部門信息模組的窗體設計 599
20.7.4 添加/修改部門信息模組的初始化 600
20.7.5 添加或修改部門信息 600
20.8 添加/修改出勤模組設計 601
20.8.1 添加/修改出勤模組概述 601
20.8.2 技術分析 602
20.8.3 添加/修改出勤模組的窗體設計 603
20.8.4 選擇員工 604
20.8.5 添加/修改出勤 608
20.9 員工公出/請假模組設計 612
20.9.1 員工公出/請假模組概述 612
20.9.2 員工公出/請假模組窗體設計 612
20.9.3 技術分析 613
20.9.4 添加或修改員工公出/請假模組實現過程 614
20.9.5 員工公出/請假模組實現過程 615
20.10 工資信息管理模組設計 618
20.10.1 工資信息管理模組概述 618
20.10.2 技術分析 618
20.10.3 工資信息管理模組的窗體設計 620
20.10.4 選擇工資月份 621
20.10.5 查詢工資信息 622
20.10.6 工資信息導為Excel表 623
20.10.7 修改工資信息 623
20.10.8 批量修改工資信息 624
20.10.9 過期工資處理 624
20.11 檔案清單 625
20.12 小結 626
第21章 葉子圖像處理專家 627
視頻講解:96分鐘
21.1 需求分析 628
21.2 系統設計 628
21.2.1 系統目標 628
21.2.2 系統功能結構 628
21.3 系統運行環境 629
21.4 創建項目 629
21.5 啟動窗體的設計 629
21.5.1 設計窗體界面 630
21.5.2 添加資源檔案 631
21.5.3 代碼註冊Flash控制項 632
21.5.4 調用Flash動畫 632
21.6 主窗體設計 633
21.6.1 設計窗體界面 634
21.6.2 設計選單欄 634
21.6.3 設計狀態欄 636
21.6.4 窗體初始化 637
21.6.5 工具列調用系統功能 637
21.6.6 打開圖片 639
21.6.7 顯示歷史圖片 640
21.6.8 撤銷/重複執行 641
21.6.9 瀏覽大幅圖片 643
21.7 圖像旋轉 644
21.7.1 圖像旋轉窗體的設計 645
21.7.2 使用二次插值法縮放圖片 645
21.7.3 設定旋轉角度 648
21.8 圖像的剪下與合成 650
21.8.1 設計圖像合成窗體 650
21.8.2 利用資源檔案載入剪下滑鼠 651
21.8.3 圖像的剪下 651
21.8.4 選擇合成方式 652
21.8.5 設定合成圖片的坐標位置 653
21.8.6 圖像的合成 653
21.9 設定圖片大小 653
21.9.1 窗體界面設計 654
21.9.2 鎖定縱橫比率 654
21.9.3 調整圖片的大小 655
21.10 “濾鏡”窗體的設計 656
21.10.1 設計“濾鏡”窗體界面 656
21.10.2 選擇濾鏡 657
21.10.3 圖片預覽 659
21.10.4 套用到主窗體圖片上 659
21.11 濾鏡算法 660
21.11.1 圖像銳化算法 660
21.11.2 圖像柔化算法 661
21.11.3 圖像浮雕算法 662
21.11.4 圖像擴散算法 663
21.11.5 圖像輪廓算法 665
21.11.6 圖像飽和度算法 666
21.11.7 圖像亮度算法 667
21.12 運行項目 669
21.13 程式打包 670
21.14 開發常見問題與解決 670
21.14.1 圖像框中不顯示輸出圖像 670
21.14.2 Win32系統錯誤處理 671
21.15 小結 671
第22章 個人文檔管理系統 673
視頻講解:9分鐘
22.1 需求分析 674
22.2 系統設計 674
22.2.1 系統功能結構 674
22.2.2 系統預覽 674
22.2.3 業務流程圖 675
22.3 系統運行環境 676
22.4 資料庫設計 676
22.4.1 資料庫概要說明 676
22.4.2 資料庫概念設計 677
22.4.3 主要數據表結構 677
22.5 數據模組設計 679
22.6 主窗體界面設計 679
22.7 文檔類別管理 680
22.8 文檔信息添加 680
22.9 文檔信息查詢 681
22.10 文檔信息列印 681
22.11 小結 682
第23章 無紙化考試系統 683
視頻講解:11分鐘
23.1 需求分析 684
23.2 系統分析 684
23.2.1 需求分析 684
23.2.2 可行性分析 684
23.3 系統設計 684
23.3.1 系統目標 684
23.3.2 系統功能結構 685
23.3.3 系統預覽 685
23.3.4 業務流程圖 687
23.4 系統運行環境 687
23.5 資料庫設計 687
23.5.1 資料庫概要說明 687
23.5.2 資料庫概念設計 688
23.5.3 資料庫邏輯設計 689
23.6 公共模組設計 691
23.7 系統登錄模組設計 693
23.7.1 系統登錄模組概述 693
23.7.2 系統登錄技術分析 693
23.8 主窗體設計 694
23.8.1 主窗體模組概述 694
23.8.2 主窗體模組技術分析 695
23.9 考試窗體設計 695
23.9.1 考試窗體模組概述 695
23.9.2 考試窗體技術分析 696
23.10 後台管理員窗體設計 697
23.10.1 管理窗體模組概述 697
23.10.2 管理窗體技術分析 698
23.11 修改試題窗體設計 699
23.11.1 修改試題窗體概述 699
23.11.2 修改試題窗體技術分析 699
23.12 開發技巧與難點分析 700
23.13 小結 701
第24章 區域網路聊天系統 703
視頻講解:7分鐘
24.1 需求分析 704
24.2 系統設計 704
24.2.1 系統目標 704
24.2.2 系統功能結構 704
24.2.3 系統預覽 705
24.2.4 業務流程圖 706
24.3 資料庫設計 706
24.3.1 資料庫概要說明 706
24.3.2 資料庫概念設計 706
24.3.3 資料庫邏輯設計 707
24.3.4 觸發器的創建 708
24.4 公共模組 711
24.5 主窗體 714
24.6 系統登錄模組設計 714
24.7 通話模組 714
24.8 添加好友模組 715
24.9 好友分組模組 715
24.10 系統伺服器 716
24.11 開發技巧與難點分析 716
24.11.1 窗體透明 716
24.11.2 Flash透明 718
24.11.3 系統托盤及其套用 719
24.12 小結 719
附錄A 代碼編寫規則 721
附錄B VB內部函式 725