作者:孫鑫,余安萍 編著
出版社:電子工業出版社
出版日期:2006-6-1
 ISBN
7121025302
字數:1058000
印次:1
版次:1
紙張:膠版紙

內容提要
本書從實際應用入手,由淺入深、循序漸進地講述Windows程序內部運行機制、MFC框架、文本、菜單、對話框、文件操作、網絡編程、進程間通信、ActiveX控件、動態鏈接庫、HOOK編程等多個主題。
不同于一般的講述VC++使用的書籍,本書主要從程序內部運行的機制和MFC程序的組織脈絡入手,使讀者在學習VC++編程知識時,既能夠知其然,又能知其所以然,從而幫助讀者從根本上理解和掌握Windows的程序設計。另外,全書還貫穿作者多年來學習編程的一些經驗,以及一些學習方法的建議,爲讀者進一步的學習提供指導。
本書內容豐富、實用性強,許多代碼可以直接應用到工程項目中。
本書的配套光盤還免費提供近乎45小時的VC++教學視頻,讀者在學習的過程中可以將視頻和書互爲參考,配合學習,這樣可以更快、更好地掌握VC++編程。
本書適合于VC++ 6.0的初學者和使用VC++從事開發的程序員,對于具有一定VC++編程經驗的讀者,也具有很好的參考價值。

作者簡介
孫鑫,具有多年軟件開發和教育培訓經驗,曾主講過的課程包括C/C++Visualc++COM\DCOM+SQL ServerOracleJavaJ2EE等。2004年曾推出《Java無難事》和《VC++深入編程》教學視頻,獲得了強烈的反響。

目錄
1 Windows程序內部運行機制 1
1.1 API
SDK 1
1.2
窗口與句柄 2
1.3
消息與消息隊列 3
1.4 WinMain
函數 4
1.4.1 WinMain
函數的定義 5
1.4.2
窗口的創建 6
1.4.3
消息循環 13
1.4.4
編寫窗口過程函數 15
1.5
動手寫第一個Windows程序 19
1.6
消息循環的錯誤分析 23
1.7
變量的命名約定 25
1.8
小結 26
2 掌握C++ 27
2.1
從結構到類 27
2.1.1
結構體的定義 27
2.1.2
結構體與類 29
2.2 C++
的特性 30
2.2.1
類與對象 34
2.2.2
構造函數 34
2.2.3
析構函數 37
2.2.4
函數的重載 37
2.2.5 this
指針 39
2.2.6
類的繼承 41
2.2.7
虛函數與多態性、純虛函數 48
2.2.8
函數的覆蓋和隱藏 52
2.2.9
引用 55
2.2.10 C++
類的設計習慣及頭文件重複包含問題的解決 57
2.2.11 VC++
程序編譯鏈接的原理與過程 61
3 MFC框架程序剖析 63
3.1 MFC AppWizard 63
3.2
基于MFC的程序框架剖析 66
3.2.1 MFC
程序中的WinMain函數 67
3.2.2 MFC
框架窗口 78
3.2.3
消息循環 85
3.2.4
窗口過程函數 86
3.2.5
文檔/視類結構 87
3.2.6
幫助對話框類 88
3.3
窗口類、窗口類對象與窗口 88
3.3.1
三者之間關系 88
3.3.2
在窗口中顯示按鈕 92
3.4
本章小結 99
4 簡單繪圖 100
4.1 MFC
消息映射機制 100
4.1.1 ClassWizard 101
4.1.2
消息映射機制 108
4.2
繪制線條 112
4.2.1
利用SDK全局函數實現畫線功能 114
4.2.2
利用MFCCDC類實現畫線功能 115
4.2.3
利用MFCCClientDC類實現畫線功能 116
4.2.4
利用MFCCWindowDC類實現畫線功能 117
4.2.5
在桌面窗口中畫線 118
4.2.6
繪制彩色線條 119
4.3
使用畫刷繪圖 121
4.3.1
簡單畫刷 121
4.3.2
位圖畫刷 122
4.3.3
透明畫刷 124
4.4
繪制連續線條 130
4.5
繪制扇形效果的線條 132
5 文本編程 135
5.1
插入符 135
5.1.1
創建文本插入符 135
5.1.2
創建圖形插入符 139
5.2
窗口重繪 140
5.2.1 OnDraw
函數 141
5.2.2
添加字符串資源 142
5.3
路徑 144
5.4
字符輸入 149
5.4.1
設置字體 153
5.4.2
字幕變色功能的實現 156
5.5
本章小結 161
6 菜單 162
6.1
菜單命令響應函數 162
6.2
菜單命令的路由 165
6.2.1
程序類對菜單命令的響應順序 165
6.2.2 Windows
消息的分類 166
6.2.3
菜單命令的路由 166
6.3
基本菜單操作 169
6.3.1
標記菜單 169
6.3.2
默認菜單項 172
6.3.3
圖形標記菜單 174
6.3.4
禁用菜單項 177
6.3.5
移除和裝載菜單 181
6.3.6 MFC
菜單命令更新機制 183
6.3.7
快捷菜單 187
6.4
動態菜單操作 193
6.4.1
添加菜單項目 194
6.4.2
插入菜單項目 195
6.4.3
刪除菜單 198
6.4.4
動態添加的菜單項的命令響應 199
6.5
電話本示例程序 200
6.5.1
動態添加子菜單的實現 201
6.5.2
顯示輸入的字符 203
6.5.3
添加菜單項及其命令響應函數 206
6.5.4
框架類窗口截獲菜單命令消息 211
6.6
本章小結 218
7 對話框(一) 219
7.1
對話框基本知識 219
7.1.1
常用控件介紹 219
7.1.2
對話框的種類 220
7.2
對話框的創建和顯示 220
7.2.1
模態對話框的創建 224
7.2.2
非模態對話框的創建 225
7.3
動態創建按鈕 228
7.4
控件的訪問 232
7.4.1
控件的調整 232
7.4.2
靜態文本控件 233
7.4.3
編輯框控件 235
7.5
對話框伸縮功能的實現 248
7.6
輸入焦點的傳遞 254
7.7
默認按鈕的進一步說明 262
7.8
本章小結 263
8 對話框(二) 264
8.1
“逃跑”按鈕的實現 264
8.2
屬性表單和向導的創建 271
8.2.1
創建屬性頁 276
8.2.2
創建屬性表單 282
8.2.3
向導的創建 287
8.3
本章小結 307
附錄 307
9 定制應用程序外觀 311
9.1
修改應用程序窗口的外觀 311
9.1.1
在窗口創建之前修改 311
9.1.2
在窗口創建之後修改 314
9.2
修改窗口的光標、圖標和背景 316
9.2.1
在窗口創建之前修改 316
9.2.2
在窗口創建之後修改 320
9.3
模擬動畫圖標 322
9.3.1
加載圖標資源 322
9.3.2
定時器的處理 324
9.4
工具欄編程 327
9.4.1
在工具欄上添加和刪除按鈕 328
9.4.2
創建工具欄 329
9.5
狀態欄編程 339
9.6
進度欄編程 345
9.6.1
在窗口中創建進度欄 346
9.6.2
在狀態欄的窗格中創建進度欄 347
9.7
在狀態欄上顯示鼠標當前位置 354
9.8
啓動畫面 357
9.9
本章小結 360
10 繪圖控制 361
10.1
簡單繪圖 361
10.2
設置對話框 366
10.2.1
設置線寬 366
10.2.2
設置線型 370
10.3
顔色對話框 372
10.4
字體對話框 377
10.5
示例對話框 382
10.6
改變對話框和控件的背景及文本顔色 386
10.6.1
改變整個對話框及其上子控件的背景色 387
10.6.2
僅改變某個子控件的背景及文本顔色 388
10.6.3
改變控件上的文本字體 391
10.6.4
改變按鈕控件的背景色及文本顔色 392
10.7
位圖的顯示 398
10.8
本章小結 403
11 圖形的保存和重繪 404
11.1
坐標空間和轉換 404
11.1.1
坐標空間 404
11.1.2
轉換 405
11.1.3
邏輯坐標和設備坐標 409
11.2
圖形的保存和重繪 411
11.2.1
集合類CPtrArray 413
11.2.2 OnPaint
OnDraw 417
11.3
窗口滾動功能的實現 419
11.3.1 CScrollView
419
11.3.2
圖形錯位現象 421
11.4
元文件 426
11.4.1
元文件的使用 426
11.4.2
元文件的保存與打開 429
11.5
兼容設備描述表 431
11.6
本章小結 434
12 文件和注冊表操作 435
12.1 const char*
char* const 435
12.1.1 const char* 435
12.1.2 char* const 436
12.2 C
語言對文件操作的支持 437
12.2.1
文件的打開 437
12.2.2
文件的寫入 438
12.2.3
文件的關閉 439
12.2.4 fflush
函數 440
12.2.5
文件指針定位 440
12.2.6
文件的讀取 442
12.2.7
二進制文件和文本文件 445
12.2.8
文本方式和二進制方式 448
12.3 C++
對文件操作的支持 451
12.4 Win32 API
對文件操作的支持 453
12.4.1
文件的創建和打開 453
12.4.2
文件的寫入 456
12.4.3
文件的讀取 458
12.5 MFC
對文件操作的支持 459
12.5.1
文件的寫入 460
12.5.2
文件的讀取 461
12.5.3 CFileDialog
461
12.6 Win.ini
文件的訪問 466
12.6.1 Win.ini
文件的結構 466
12.6.2 Win.ini
文件的寫入 467
12.6.3 Win.ini
文件的讀取 469
12.7
注冊表的編程 472
12.7.1
注冊表API 472
12.7.2
注冊表訪問示例 476
12.8
本章小結 480
13 文檔與串行化 481
13.1
使用CArchive類對文件進行讀寫操作 481
13.2 MFC
框架程序提供的文件新建功能 484
13.2.1 IDR_MAINFRAME
字符串資源 485
13.2.2 OnNewDocument
函數的調用過程 489
13.3
文檔串行化 496
13.3.1
文檔類的Serialize函數 496
13.3.2 MFC
框架對Serialize函數的調用過程 498
13.4
可串行化的類 506
13.4.1
實現類對串行化的支持 506
13.4.2
利用可串行化類的Serialize函數保存和加載對象 509
13.4.3
版本號 513
13.4.4
利用CObArray類對串行化的支持保存和加載數據 514
13.5
文檔對象數據的銷毀 518
13.6
本章小結 521
14 網絡編程 523
14.1
計算機網絡基本知識 523
14.1.1 IP
地址 524
14.1.2
協議 524
14.1.3
網絡的狀況 524
14.1.4
網絡異質性問題的解決 525
14.1.5 ISO/OSI
七層參考模型 525
14.1.6
數據封裝 528
14.1.7 TCP/IP
模型 528
14.1.8
端口 529
14.1.9
套接字(socket)的引入 529
14.1.10
網絡字節順序 530
14.1.11
客戶機/服務器模式 530
14.2 Windows Sockets
的實現 530
14.2.1
套接字的類型 531
14.2.2
基于TCP(面向連接)的socket編程 531
14.2.3
基于UDP(面向無連接)的socket編程 532
14.3
相關函數 532
14.3.1 WSAStartup
函數 532
14.3.2 socket
函數 534
14.3.3 bind
函數 534
14.3.4 inet_addr
inet_ntoa函數 535
14.3.5 listen
函數 535
14.3.6 accept
函數 536
14.3.7 send
函數 536
14.3.8 recv
函數 536
14.3.9 connect 537
14.3.10 recvfrom 537
14.3.11 sendto
函數 538
14.3.12 htons
htonl函數 538
14.4
基于TCP的網絡應用程序的編寫 538
14.4.1
服務器端程序 538
14.4.2
客戶端程序 543
14.5
基于UDP的網絡應用程序的編寫 546
14.5.1
服務器端程序 546
14.5.2
客戶端程序 548
14.6
基于UDP的簡單聊天程序 550
14.6.1
服務器端程序 550
14.6.2
客戶端程序 553
14.7
本章小結 556
15 多線程 557
15.1
基本概念 557
15.1.1
進程 557
15.1.2
線程 560
15.2
線程創建函數 561
15.3
簡單多線程示例 563
15.4
線程同步 566
15.4.1
火車站售票系統模擬程序 566
15.4.2
多線程程序容易出現的問題<

arrow
arrow
    全站熱搜

    baosell 發表在 痞客邦 留言(0) 人氣()