《visual c++典型模塊與項目實戰大全》
第1篇 visual c++項目開發基礎
第1章 vc++ 6.0程序設計簡介 2
教學視頻:11分鐘
1.1 visual c++ 6.0集成開發環境 2
1.1.1 vc++ 6.0集成開發環境菜單欄及工具欄簡介 3
1.1.2 vc++ 6.0集成開發環境工作區簡介 3
1.2 visual c++ 6.0的“hello world!” 4
1.2.1 vc++ 6.0可創建的工程簡介 5
1.2.2 創建基於win32 console application的“hello world!” 6
1.2.3 創建基於mfc app wizard(exe)的“hello world!” 7
1.3 vc++集成開發環境使用技巧 8
1.3.1 快速定位 8
1.3.2 快速格式化壹段源代碼 9
1.3.3 從工程中徹底刪除壹個類 10
1.3.4 在vc++中設置頭文件和庫文件 10
1.3.5 在工作區導入多個項目 10
1.4 vc++集成開發環境常見問題及解決方法 11
1.4.1 工程文件簡介 11
1.4.2 常見問題及解決方法 12
.1.5 小結 13
第2章 c++編程基礎 14
教學視頻:25分鐘
2.1 變量 14
2.1.1 標識 14
2.1.2 基本數據類型 15
2.1.3 變量的聲明 16
2.2 操作、運算符 16
2.2.1 賦值運算 16
2.2.2 算術運算 17
2.2.3 邏輯運算 18
2.2.4 關系運算 19
2.2.5 位操作運算 19
2.2.6 條件操作運算 20
2.2.7 其他操作運算 20
2.2.8 運算符優先級 22
2.3 控制結構 22
2.3.1 條件控制結構 23
2.3.2 循環控制結構 23
2.3.3 選擇控制結構 25
2.3.4 分支跳轉控制結構 25
2.4 函數 26
2.5 類 26
2.5.1 類的成員變量和成員函數 27
2.5.2 類的繼承 28
2.6 小結 29
第2篇 典型模塊開發
第3章 桌面時鐘(gdi實現) 32
教學視頻:64分鐘
3.1 桌面時鐘界面簡介 32
3.2 桌面時鐘的功能簡介 33
3.2.1 桌面時鐘界面控制功能簡介 33
3.2.2 桌面時鐘時間設置功能簡介 36
3.3 控件知識 37
3.4 實現桌面時鐘的關鍵技術 39
3.4.1 gdi基礎知識簡介 39
3.4.2 gdi編程基礎簡介 40
3.5 gdi的基礎類 40
3.5.1 cdc類 40
3.5.2 畫筆類(線色類) 41
3.5.3 畫刷類(面色類) 43
3.5.4 字體類 45
3.5.5 點類 46
3.5.6 大小類 47
3.5.7 矩形類 47
3.6 gdi繪制像素點的實際應用 49
3.7 gdi繪制線條的實際應用 50
3.7.1 gdi繪制直線的函數 50
3.7.2 用畫筆繪制線的步驟 52
3.7.3 繪制線條的示例 53
3.8 gdi繪制填充圖的實際應用 58
3.8.1 矩形填充圖 58
3.8.2 扇形填充圖 59
3.8.3 填充拖動矩形 60
3.8.4 填充區域 63
3.9 gdi輸出字體的實際應用 65
3.10 表盤模塊的設計與實現 66
3.10.1 表盤設置模塊 66
3.10.2 表盤的繪制模塊 68
3.11 表針模塊的設計與實現 73
3.11.1 表針設置模塊 73
3.11.2 表針繪制模塊 75
3.12 數字時鐘模塊的設計與實現 77
3.12.1 數字時鐘設置模塊 77
3.12.2 數字時鐘繪制模塊 79
3.13 數字日期模塊的設計與實現 82
3.14 背景模塊的設計與實現 86
3.15 鬧鈴模塊的設計與實現 87
3.15.1 蜂鳴器音樂選擇及播放模塊 88
3.15.2 鬧鈴設置主模塊 89
3.16 系統時間設置模塊的設計與實現 91
3.17 主界面模塊的設計與實現 92
3.17.1 主窗體界面模塊的設計與實現 92
3.17.2 主窗體功能模塊的設計與實現 94
3.17.3 主窗體控制模塊的設計與實現 97
3.18 小結 102
第4章 電子郵件收發管理器(jmail+自定義按鈕) 103
教學視頻:58分鐘
4.1 電子郵件收發管理器簡介 103
4.1.1 主程序簡介 103
4.1.2 郵箱設置信息功能簡介 104
4.1.3 收件箱功能簡介 104
4.1.4 發件箱功能簡介 105
4.1.5 資源管理器技術簡介 106
4.2 自定義的按鈕控件 107
4.2.1 定義壹個新類繼承於cbutton 107
4.2.2 定制按鈕的背景圖像 108
4.2.3 為按鈕添加聲音 115
4.2.4 重載鼠標事件 117
4.3 定制具有個性背景圖像的對話框 120
4.4 實現電子郵件收發管理器的關鍵技術 122
4.4.1 jmail的基礎知識 122
4.4.2 接收郵件 123
4.4.3 發送郵件 124
4.5 電子郵件收發管理器的實現 126
4.5.1 主窗體的設計與實現 126
4.5.2 設置模塊的設計與實現 130
4.5.3 收件箱模塊的設計與實現 130
4.5.4 寫郵件模塊的設計與實現 135
4.6 小結 138
第5章 系統資源管理器(文件操作+文件檢索+多線程) 139
教學視頻:32分鐘
5.1 系統資源管理器簡介 139
5.1.1 樹形結構瀏覽系統文件資源 139
5.1.2 列表視圖顯示指定目錄下的文件資源 139
5.1.3 搜索文件 140
5.1.4 資源管理器的技術簡介 140
5.2 樹形視圖控件 141
5.2.1 建立樹形視圖控件工程 141
5.2.2 為樹形視圖添加名為“根節點”的節點 141
5.2.3 為樹形視圖插入多層節點 142
5.2.4 為樹形視圖添加圖像列表 143
5.2.5 設置樹形視圖的顯示風格 144
5.2.6 為樹形視圖添加項目選中處理函數 145
5.2.7 為樹形視圖添加項目展開處理函數 146
5.3 列表型視圖控件 147
5.3.1 創建壹個列表視圖工程 147
5.3.2 為列表型視圖添加圖像列表 147
5.3.3 為列表型視圖添加新項目 148
5.3.4 為列表型視圖添加項目雙擊事件 148
5.4 windows文件系統的基礎知識 149
5.5 shell命名空間中對象的標識方法 150
5.5.1 文件標識簡介 150
5.5.2 什麽是文件標識列表 150
5.5.3 什麽是文件標識列表指針 150
5.5.4 文件標識列表指針的常用處理函數 151
5.6 通過shell接口遍歷系統文件和文件夾 153
5.6.1 ishellfolder接口的主要方法 153
5.6.2 ienumidlist接口的主要方法 154
5.6.3 遍歷文件系統的步驟 155
5.7 系統資源管理器的實現過程簡介 155
5.8 主框架模塊的設計實現 156
5.8.1 為主框架訂制工具欄 156
5.8.2 分割視圖區 156
5.9 樹形視圖顯示文件系統 157
5.9.1 初始化樹形控件 157
5.9.2 實現獲取itemidlist文件名稱的功能 158
5.9.3 實現填充樹形控件的功能 160
5.9.4 實現展開樹形控件節點的功能 162
5.9.5 實現樹形控件節點切換的功能 163
5.9.6 實現獲取文件的系統圖標 164
5.10 列表視圖顯示系統文件 165
5.10.1 初始化列表視圖 165
5.10.2 實現樹形視圖項目添加的功能 165
5.10.3 執行鼠標雙擊對象 168
5.11 路徑的前進、後退與向上操作的實現 170
5.11.1 路徑的前進、後退操作的實現 171
5.11.2 路徑的向上操作 174
5.12 文件查找模塊的實現 174
5.12.1 添加並實現文件查找類 174
5.12.2 文件查找界面設計與實現 178
5.12.3 文件查找控件屬性 179
5.12.4 實現文件查找功能 179
5.13 小結 183
第6章 系統任務管理工具(系統監控+系統進程) 184
教學視頻:23分鐘
6.1 任務管理器簡介 184
6.1.1 應用程序管理模塊 184
6.1.2 進程管理模塊 184
6.1.3 性能監測模塊 185
6.1.4 任務管理器的技術簡介 185
6.2 控件知識 186
6.2.1 tab控件的使用 186
6.2.2 list控件用作report 187
6.3 實現系統任務管理的關鍵技術 187
6.3.1 如何獲取應用程序信息 187
6.3.2 如何獲取系統進程信息 188
6.3.3 如何啟動、停止進程 189
6.3.4 如何獲取內存信息 190
6.3.5 如何獲取cpu信息 190
6.4 主框架模塊的設計實現 193
6.4.1 設計主窗體菜單欄 193
6.4.2 文件菜單功能實現 194
6.4.3 關機菜單功能實現 194
6.4.4 實現tab控件的功能 196
6.5 應用程序監控模塊的實現 198
6.5.1 添加並設置列表控件 198
6.5.2 檢測系統啟動的應用程序 198
6.5.3 實現應用程序實時監測功能 200
6.5.4 實現應用程序的控制功能 200
6.6 進程監控模塊的實現 202
6.6.1 添加並設置列表控件 202
6.6.2 監測當前的進程信息 202
6.6.3 實現進程的實時監測 205
6.6.4 實現關閉指定進程的功能 206
6.7 內存監測模塊的實現 207
6.8 cpu監測模塊的實現 213
6.9 小結 217
第7章 ftp客戶端程序(internet會話+ftp技術) 218
教學視頻:29分鐘
7.1 ftp客戶端程序簡介 218
7.1.1 樹形結構瀏覽本地系統文件資源 218
7.1.2 列表視圖顯示ftp服務器上的文件資源 218
7.1.3 拖放實現文件的上傳與下載 218
7.1.4 資源管理器的技術簡介 220
7.2 控件知識 221
7.2.1 制作浮動對話框 221
7.2.2 為浮動對話框的控件添加處理事件 222
7.2.3 樹形視圖項目的拖動 223
7.2.4 列表視圖項目的拖動 226
7.3 實現ftp客戶端的關鍵技術 228
7.3.1 cinternetsession類 228
7.3.2 ftpconnection類 229
7.4 ftp客戶端程序的模塊實現 230
7.4.1 ftp連接模塊的設計實現 230
7.4.2 獲取ftp當前路徑下的所有文件信息 233
7.4.3 ftp客戶端文件下載模塊 236
7.4.4 ftp客戶端文件上傳模塊 237
7.5 小結 238
第8章 音樂播放器(active movie control object控件+不規則按鈕+托盤) 239
教學視頻:37分鐘
8.1 音樂播放器簡介 239
8.1.1 打開音樂文件 239
8.1.2 播放音樂的功能 240
8.1.3 暫停播放及停止播放功能 240
8.1.4 循環播放功能 241
8.1.5 調節音量大小 241
8.1.6 將播放器最小化到托盤 241
8.1.7 音頻播放器的技術簡介 241
8.2 slider控件 242
8.2.1 用作標識進度的slider控件 242
8.2.2 調節音量的slider控件 243
8.3 定制不規則的按鈕控件 244
8.3.1 自定義按鈕類 244
8.3.2 自定義按鈕的構造及析構的實現 246
8.3.3 創建不規則按鈕的方法 246
8.3.4 實現不規則按鈕的幾個重要方法 248
8.3.5 為不規則按鈕添加背景圖像 249
8.3.6 實現按鈕的狀態背景圖像 250
8.3.7 實現添加按鈕標題及邊框的功能 251
8.3.8 實現繪制按鈕的功能 253
8.3.9 處理按鈕的鼠標事件 254
8.3.10 鼠標狀態決斷及點測試功能的實現 255
8.3.11 自定義不規則按鈕的實現實例 256
8.4 實現音樂播放器的關鍵技術 258
8.4.1 active movie control object控件 258
8.4.2 音樂播放器最小化到托盤的實現方法 260
8.5 音樂播放器的界面設計 262
8.5.1 創建播放器工程 262
8.5.2 設計並載入播放器背景圖像 263
8.5.3 定制並添加不規則按鈕 264
8.6 音樂播放器的功能設計與實現 265
8.6.1 設計播放器的屬性變量 265
8.6.2 利用向導添加功能函數 266
8.6.3 實現打開音頻文件的功能 266
8.6.4 實現開始播放音樂的功能 267
8.6.5 實現暫停播放音樂的功能 267
8.6.6 實現停止播放音樂的功能 268
8.6.7 實現循環播放音樂的功能 268
8.6.8 實現最小化播放器的功能 268
8.6.9 實現關閉播放器的功能 269
8.6.10 處理托盤圖標消息 269
8.6.11 實現播放器的拖動功能 270
8.6.12 實現播放器的音量控制功能 270
8.6.13 繪制播放器界面 271
8.6.14 監控音樂的播放器進度 273
8.7 小結 274
第9章 視頻播放器(directshow技術) 275
教學視頻:37分鐘
9.1 視頻播放器簡介 275
9.1.1 視頻播放器功能總述 275
9.1.2 打開視頻文件 276
9.1.3 播放控制功能簡介 276
9.1.4 視頻播放器的技術簡介 277
9.2 擴展cstatic控件類 277
9.2.1 重寫presubclasswindow()函數 278
9.2.2 重寫defwindowproc()函數 279
9.2.3 實現控件的拖曳功能 280
9.3 擴展csliderctrl控件類 281
9.4 directshow在vc++ 6.0下的環境搭建 282
9.4.1 directshow的安裝環境 282
9.4.2 directshow的參考文檔 282
9.4.3 編譯baseclasses 282
9.4.4 配置directshow針對所有項目的環境 283
9.4.5 引入項目所需要的directshow庫文件 284
9.5 directshow簡介 284
9.5.1 directx組件簡介 285
9.5.2 directshow系統組成 285
9.5.3 directshow開發簡單媒體播放器的過程 287
9.6 directshow接口管理類 288
9.6.1 實例化過濾器圖表管理器 289
9.6.2 創建過濾器圖表 290
9.6.3 過濾器圖表中多媒體數據流方法的接口 290
9.6.4 處理過濾器圖表的事件接口 291
9.6.5 視頻特性設置接口 292
9.6.6 音頻流的音量和平衡控制接口 293
9.6.7 播放器窗口的屬性設置接口 294
9.6.8 搜索數據流位置和設置播放速率的接口 295
9.6.9 釋放接口指針 296
9.7 工具條及狀態欄模塊的實現 297
9.7.1 工具條及狀態欄模塊界面的設計與實現 298
9.7.2 添加界面控件變量 298
9.7.3 綁定過濾器圖表管理器 298
9.7.4 初始化工具欄 299
9.7.5 調整工具欄的位置 300
9.7.6 繪制狀態欄 300
9.7.7 實現進度條功能 302
9.7.8 實現聲音控制功能 303
9.7.9 功能按鈕使能控制 303
9.8 播放器主窗體的設計與實現 303
9.8.1 播放器主窗體的界面設計與實現 304
9.8.2 主窗體初始化模塊的設計與實現 305
9.8.3 播放窗口消息處理模塊的設計與實現 307
9.8.4 菜單消息處理模塊的設計與實現 311
9.8.5 工具欄控制窗體消息處理模塊的實現 318
9.9 小結 318
第10章 局域網聊天工具(socket+tcp+自定義消息+圖像組合框) 319
教學視頻:33分鐘
10.1 局域網聊天工具簡介 319
10.1.1 視頻播放器功能簡介 319
10.1.2 視頻播放器技術簡介 320
10.2 控件知識 321
10.2.1 位圖按鈕cbitmapbutton 321
10.2.2 ip編輯框 325
10.2.3 圖像列表控件 328
10.2.4 圖像組合框 330
10.3 socket簡介 332
10.4 socket常用數據類型 332
10.4.1 socket類型數據 333
10.4.2 word類型數據 333
10.4.3 wsadata類型及lpwsadata類型 333
10.4.4 sockaddr_in及in_addr類型數據 334
10.4.5 sockaddr類型 334
10.5 socket常用函數 335
10.5.1 初始化socket環境 335
10.5.2 使用socket()函數實現創建套接字功能 335
10.5.3 使用setsockopt()函數實現設置socket的屬性功能 336
10.5.4 使用closesocket()函數實現關閉套接字功能 336
10.5.5 使用bind()函數實現地址綁定功能 336
10.5.6 使用listen()函數實現監聽端口功能 336
10.5.7 使用accept()函數實現接收連接功能 337
10.5.8 使用connect()函數實現連接服務器功能 337
10.5.9 使用send()函數實現發送數據功能 338
10.5.10 使用rect()函數實現接收數據功能 338
10.6 csocket的封裝 339
10.7 服務器端模塊的設計與實現 340
10.7.1 服務器端模塊界面設計與實現 340
10.7.2 服務器模塊的功能設計與實現 342
10.8 客戶端模塊的設計與實現 347
10.8.1 客戶端界面的設計與實現 348
10.8.2 客戶端功能的設計與實現 349
10.9 小結 353
第11章 截屏工具(動態鏈接庫+鍵盤鉤子+光標捕獲+類橡皮類crecttracker) 354
教學視頻:25分鐘
11.1 截屏工具簡介 354
11.1.1 主界面使用簡介 354
11.1.2 截圖模塊簡介 355
11.2 動態鏈接庫 356
11.2.1 dll技術簡介 356
11.2.2 vc++ 6.0開發dll實例 357
11.3 鉤子技術 359
11.3.1 鉤子技術簡介 359
11.3.2 鍵盤鉤子dll的實現 361
11.3.3 鍵盤鉤子dll的調用 363
11.4 crecttracker技術簡介 364
11.4.1 crecttracker類的常用數據變量 364
11.4.2 crecttracker類的常用成員函數 365
11.4.3 crecttracker類的應用實例 366
11.5 功能控制模塊的設計與實現 369
11.5.1 功能控制模塊的界面設計及實現 369
11.5.2 截屏模塊跳轉功能的實現 372
11.5.3 控制模塊最小化到托盤功能的實現 372
11.5.4 控制模塊在托盤中消息處理功能的實現 373
11.5.5 關閉截屏工具功能的實現 373
11.5.6 捕獲鍵盤鉤子消息功能的實現 374
11.6 截屏主功能模塊的設計與實現 375
11.6.1 信息提示框的設計與實現 375
11.6.2 截圖模塊主窗體的設計與實現 379
11.6.3 截圖功能的設計與實現 384
11.7 小結 389
第12章 掃雷遊戲(定時器+gdi+數字時鐘) 390
教學視頻:41分鐘
12.1 掃雷遊戲簡介 390
12.1.1 遊戲界面簡介 390
12.1.2 遊戲規則及方法簡介 391
12.2 遊戲系統資源 392
12.2.1 菜單資源 392
12.2.2 位圖資源 392
12.2.3 聲音資源 394
12.3 遊戲初始化及遊戲界面繪制 394
12.3.1 初始化遊戲變量 397
12.3.2 初始化遊戲 400
12.3.3 繪制遊戲界面 401
12.4 遊戲功能控制及使用說明的實現 405
12.4.1 遊戲菜單選項的功能實現 405
12.4.2 幫助菜單選項的功能實現 408
12.4.3 菜單選項的選中狀態控制函數 409
12.5 遊戲與用戶的交互 411
12.5.1 鼠標單擊事件的處理 411
12.5.2 鼠標左鍵擡起事件的處理 412
12.5.3 鼠標左右鍵同時按下事件的處理 415
12.5.4 鼠標左右鍵同時按下後鼠標擡起事件的處理 416
12.5.5 鼠標右鍵按下事件的處理 417
12.5.6 鼠標右鍵擡起事件的處理 418
12.6 遊戲結果處理函數 419
12.7 掃雷英雄榜模塊的實現 421
12.7.1 註冊表簡介 421
12.7.2 vc++對註冊表的操作 421
12.7.3 註冊表在本實例中的應用 423
12.7.4 查詢英雄榜數據 425
12.7.5 英雄榜新紀錄的更新模塊 427
12.8 小結 428
第13章 串口調試器(串口編程+消息+多線程) 429
教學視頻:38分鐘
13.1 串口調試器簡介 429
13.1.1 串口調試器界面簡介 429
13.1.2 串口設置功能簡介 430
13.1.3 數據收發功能簡介 430
13.1.4 情景模式簡介 431
13.1.5 數據保存功能簡介 432
13.2 圖標工具欄 433
13.2.1 載入工具欄圖像資源 433
13.2.2 添加工具欄資源 434
13.2.3 創建工具欄實例 434
13.2.4 為工具欄添加圖像資源關聯 435
13.2.5 為工具欄添加提示信息 435
13.3 分組單選按鈕 437
13.3.1 創建單選按鈕測試工程 437
13.3.2 修改單選按鈕屬性 437
13.3.3 添加單選按鈕關聯變量 438
13.3.4 檢測單選按鈕效果 438
13.4 串口基礎知識 439
13.4.1 串口簡介 439
13.4.2 串口通信簡介 439
13.5 串口通信編程基礎 440
13.5.1 打開串口 441
13.5.2 配置串口 442
13.5.3 讀寫串口 445
13.5.4 關閉串口 448
13.6 自定義串口類 449
13.6.1 構造及析構函數的實現 450
13.6.2 串口打開函數的實現 451
13.6.3 processerrormessage()函數的實現 453
13.6.4 串口線程函數的實現 454
13.6.5 串口線程監控函數的實現 456
13.6.6 串口關閉函數的實現 457
13.6.7 讀取串口數據函數的實現 457
13.6.8 寫串口函數的實現 458
13.6.9 數據發送函數的實現 460
13.7 主窗體的界面設計 460
13.7.1 主界面布局設計 460
13.7.2 主界面菜單的設計 461
13.7.3 組合框顯示控制及初始化 462
13.7.4 單選按鈕的控制及初始化 462
13.7.5 復選框的控制及初始化 463
13.7.6 添加控件關聯變量 463
13.8 配置窗體的設計與實現 463
13.8.1 配置窗體的界面設計 464
13.8.2 設置串口控制部分的組合框 464
13.8.3 控件添加關聯變量 468
13.9 主窗體菜單及工具欄模塊的功能實現 469
13.9.1 串口開關控制功能的實現 469
13.9.2 串口的屬性設置 471
13.9.3 將接收到的數據保存到文件中 472
13.9.4 計數清零 473
13.10 接收數據模塊的功能實現 474
13.10.1 接收數據顯示控制模塊 474
13.10.2 接收數據處理模塊 476
13.11 發送數據模塊的功能實現 478
13.11.1 發送數據控制功能的實現 478
13.11.2 發送數據操作的控制功能 479
13.12 小結 482
第14章 打印工具(文檔視圖+設備環境上下文) 483
教學視頻:18分鐘
14.1 打印編程基礎知識 483
14.1.1 通用打印對話框 483
14.1.2 設備環境上下文 485
14.1.3 視圖打印 490
14.1.4 保存和維護打印作業 491
14.2 打印模塊設計及功能展示 493
14.2.1 打印工具模塊功能展示 493
14.2.2 打印工具程序的流程和原理 493
14.3 打印工具 495
14.3.1 創建打印模塊工程 496
14.3.2 創建各個功能類 496
14.3.3 控制打印對話框 497
14.3.4 創建打印視圖 501
14.3.5 創建打印預覽視圖 504
14.3.6 實現打印列表功能 505
14.4 小結 509
第15章 監控技術(進程+opencv) 510
教學視頻:26分鐘
15.1 監控技術背景相關知識 510
15.2 本地監控 510
15.2.1 windows常用系統性能計數器對象簡介 510
15.2.2 使用性能計數器對象 511
15.2.3 本地監控示例(cpu使用率) 512
15.2.4 本地監控示例——各進程cpu占用率 514
15.3 遠程監控——遠程攝像頭實例 518
15.3.1 遠程監控實現原理與邏輯流程 518
15.3.2 遠程攝像頭——opencv安裝配置 518
15.3.3 封裝好的網絡傳輸單元——類介紹 521
15.3.4 封裝好的網絡傳輸單元——類使用(服務方) 522
15.3.5 封裝好的網絡傳輸單元——類使用(客戶方) 523
15.3.6 遠程攝像頭——創建客戶方工程 524
15.3.7 遠程攝像頭——創建監控方工程 529
15.4 小結 531
第3篇 項目案例實戰
第16章 人事管理系統(odbc+sql server+多線程) 534
教學視頻:57分鐘
16.1 人事管理系統簡介 534
16.1.1 用戶登錄模塊簡介 534
16.1.2 主界面簡介 534
16.1.3 員工管理模塊簡介 535
16.1.4 保險管理模塊簡介 539
16.1.5 合同管理模塊簡介 539
16.1.6 部門管理模塊簡介 540
16.2 實現人事管理系統的關鍵技術 541
16.2.1 odbc簡介 541
16.2.2 創建odbc數據源 541
16.2.3 odbc在vc++中的應用 543
16.3 人事管理系統數據庫設計 547
16.3.1 需求分析 547
16.3.2 概要設計 548
16.3.3 數據庫設計 548
16.4 人事管理系統主界面的設計與實現 552
16.4.1 主界面的設計與實現 552
16.4.2 主界面的功能設計與實現 553
16.5 綜合信息管理模塊設計與實現 555
16.5.1 社保管理模塊的設計與實現 555
16.5.2 合同管理模塊的設計與實現 562
16.5.3 部門管理模塊的設計與實現 566
16.6 員工信息管理模塊設計與實現 566
16.6.1 員工管理主窗體的設計與實現 566
16.6.2 員工信息管理模塊的設計與實現 570
16.6.3 入職管理模塊的設計與實現 582
16.6.4 轉正管理模塊的設計與實現 584
16.6.5 離職管理模塊的設計與實現 587
16.6.6 借調管理及調動管理模塊的設計與實現 591
16.6.7 月末統計管理模塊的設計與實現 593
16.7 小結 597
第17章 電子相冊(雙緩繪圖+gdi+gdi+) 598
教學視頻:61分鐘
17.1 電子相冊簡介 598
17.1.1 相冊的管理模塊 598
17.1.2 新建相冊模塊 599
17.1.3 相冊瀏覽模塊 599
17.1.4 電子相冊的技術簡介 601
17.2 位圖按鈕 601
17.2.1 設置按鈕屬性 601
17.2.2 載入按鈕位圖資源 601
17.2.3 將位圖資源設置為按鈕的背景圖片 602
17.3 仿木質桌面的全屏對話框 602
17.3.1 設置對話框全屏顯示 602
17.3.2 為對話框設計並載入木質效果的背景圖資源 603
17.3.3 編碼實現圖像作為對話框的背景圖像 603
17.4 設計個性鼠標光標 604
17.4.1 設計並載入光標資源 604
17.4.2 設置鼠標左鍵按下時的光標 604
17.5 gdi+的基礎知識 605
17.6 vc++與gdi+開發環境的搭建 607
17.6.1 下載解壓gdi+開發包 607
17.6.2 設置include及lib目錄 607
17.6.3 添加相關的宏定義 607
17.6.4 添加相關的庫文件 608
17.6.5 測試gdi+搭建的環境 608
17.7 gdi+與gdi***同實現雙緩沖繪圖 610
17.7.1 重載窗體的onpaint()函數 610
17.7.2 無雙緩沖的效果 610
17.7.3 利用雙緩沖解決閃屏問題 611
17.8 利用gdi+實現翻頁效果 612
17.9 電子相冊的模塊分析 617
17.9.1 相冊管理模塊的設計與實現 617
17.9.2 新建相冊模塊的設計與實現 622
17.9.3 電子相冊瀏覽模塊的設計與實現 625
17.10 小結 640
第18章 超市管理系統(ado+sql+access) 641
教學視頻:60分鐘
18.1 超市管理系統簡介 641
18.1.1 用戶登錄模塊簡介 641
18.1.2 前臺銷售模塊簡介 641
18.1.3 後臺員工管理模塊簡介 642
18.1.4 後臺倉庫管理模塊簡介 643
18.1.5 後臺票據管理模塊簡介 643
18.1.6 後臺貨物管理模塊簡介 643
18.1.7 後臺營業統計管理模塊簡介 644
18.2 實現超市管理系統的關鍵技術 645
18.2.1 ado簡介 645
18.2.2 ado基礎 645
18.2.3 ado在vc++中的應用 646
18.2.4 ado的封裝類 649
18.3 超市管理系統數據庫設計 651
18.3.1 需求分析 652
18.3.2 概要設計 652
18.3.3 數據庫設計 653
18.4 超市管理系統前臺銷售模塊設計與實現 655
18.4.1 登錄模塊的界面設計與實現 655
18.4.2 登錄模塊的功能設計與實現 656
18.4.3 銷售模塊的界面設計與實現 659
18.4.4 銷售模塊的功能設計與實現 662
18.5 超市管理系統後臺管理模塊設計與實現 670
18.5.1 員工管理模塊的設計與實現 670
18.5.2 倉庫管理模塊的設計與實現 675
18.5.3 票據管理模塊的設計與實現 678
18.5.4 商品管理模塊的設計與實現 679
18.5.5 營業統計模塊的設計與實現 679
18.6 小結 681