VC++深入詳解

出版時間:2012-7  出版社:電子工業(yè)出版社  作者:孫鑫  頁數(shù):767  字數(shù):1257000  
Tag標簽:無  

前言

修 訂 版 前 言從本書第1版面市,一晃6年過去了,作為一本技術圖書,《VC++深入詳解》的生命力讓我驚嘆,時至今日,該書仍暢銷不衰。想當初在出版本書時,筆者還擔心VC++圖書看的人會不會很少啊 。6年時光,筆者見證了很多程序愛好者通過本書進入軟件開發(fā)崗位,在給企業(yè)做培訓時,經(jīng)常有企業(yè)同行告訴筆者他是看著筆者的圖書和視頻成長的,這讓筆者莫大的欣慰。本書成書說來也是偶然,當初錄制了一套《VC++深入詳解》視頻,在網(wǎng)絡上流傳很廣,很多VC++程序員都是通過學習該套視頻而走上的軟件開發(fā)崗位,然而由于視頻不利于知識的復習和查找,因此很多讀者來信希望能出一套紙質(zhì)的教材,后來在博文視點公司郭立總編和余安萍的幫助下,最終本書得以面市。本書面市后,很多讀者給予了本書極高的評價,將之和《深入淺出MFC》相提并論,甚至將筆者和侯捷老師等同,這讓筆者誠惶誠恐。從技術角度上來說,筆者和侯捷老師相差甚遠,從圖書角度上來,本書對MFC的闡述部分僅僅是讓讀者快速入門,能快速應用于開發(fā),深入地理解MFC框架的各種原理和設計思想,還需要進一步參看《深入淺出MFC》。讀者一定要正確的對待本書,切不可因本書而產(chǎn)生C++編程不過如此的念頭,那樣實非此書之福,也非讀者之福。C++編程領域浩瀚博大,本書只是把讀者領入了C++開發(fā)的道路,前方的路還很遠很長,衷心希望讀者能夠繼續(xù)學習,繼續(xù)成長,終有一天成長為C++領域的編程高手。本書讀者對象本書讀者群包括: 掌握了C語言,想進一步學習Windows編程的讀者。 學習VC++多年,但始終沒有真正入門的讀者。 正在從事VC++開發(fā)的初級程序員。 有一定VC++開發(fā)經(jīng)驗,想要系統(tǒng)地學習VC++的讀者。在本書的配套光盤中,提供了一套完整的VC++教學視頻,以幫助讀者更快、更好地掌握VC++編程。關于本書配套光盤的內(nèi)容,請參見“本書的配套光盤說明”。本書的內(nèi)容組織本書在內(nèi)容的組織上循序漸進、由淺入深;在知識的介紹上,從內(nèi)到外、從原理到實踐。第1章幫助讀者掌握Windows平臺下程序運行的內(nèi)部機制。第2章幫助讀者復習C++中的重要知識,為后續(xù)知識的學習打下良好的基礎。第3章重點剖析MFC框架程序的運行脈絡,并與第1章的知識做對照,為讀者徹底掃清學習MFC的迷霧。相信通過這章的學習,很多以前學過MFC的讀者都會有一種恍然大悟的感覺。前三章可以歸為基礎部分,從第4章開始就是實際應用開發(fā)的講解了,包括繪圖、文本、菜單、對話框、定制程序外觀、圖形保存和重繪、文件和注冊表操作、網(wǎng)絡編程、多線程、進程間通信、ActiveX控件、動態(tài)鏈接庫、HOOK編程等多個主題,并且每一章都有一個完整的例子。本書的講解理論結合實際,選用的例子和代碼具有相當?shù)拇硇院蛯嵱脙r值,我和我的學員曾經(jīng)在實際開發(fā)項目的過程中就直接使用過很多書中的代碼。本書的實例程序作者在編寫本書時,使用的操作系統(tǒng)是Windows 2000 Service Pack 4,開發(fā)工具是VC++ 6.0 SP5,MSDN是2001年1月版的(提示:與VC++6.0匹配的MSDN截止到2001年10月版,之后的版本都與.NET匹配,可能與本書使用的版本有所不同,如果需要匹配VC++6.0的MSDN,可以通過百度(www.baidu.com)或者Google(www.google.com)搜索關鍵字“MSDN 2001”,進行下載)。本書所有的實例程序都在上述環(huán)境中運行正常。提示:由于QQ運行時占用了多個端口,可能與本書例子中的網(wǎng)絡程序使用的端口沖突,在運行本書例子中的網(wǎng)絡程序時,如果出錯,請更換程序中的端口號,或者關閉QQ后再運行書中的程序。學習建議配套光盤提供的視頻課數(shù)與本書的章數(shù)是一一對應的,建議讀者先看視頻,有一個初步印象后再看相應的章節(jié),這樣能夠更快、更好地掌握VC++編程。在學習本書時,建議讀者多動腦(想想為什么),多動手(將知識轉換為自己的)。在理解的前提下,獨立地編寫出書中每章的例子程序,可以作為是否掌握本章內(nèi)容的一個考核。由于作者的水平有限,錯誤和疏漏之處在所難免,歡迎廣大技術專家和讀者指正。作者的聯(lián)系方式是csunxin@sina.com,讀者也可以上作者的網(wǎng)站發(fā)表意見,網(wǎng)址是www.phome.asia和www.sunxin.org。致 謝 本書在編著過程中,趙嵐嵐、高瑩、張素芳、瞿瑞強、張欣、張玲、竇建濤、涂君君、邵佳賾、馬文勇參與編著,這里一并感謝。封面的漫畫頭像由王裕民繪制,在此表示感謝。作 者 2012年5月本書的配套光盤說明本書的配套光盤提供了兩部分內(nèi)容:本書所有實例的代碼;VC++教學視頻(Flash格式)。實例代碼配套光盤中的實例代碼是按照章節(jié)的順序提供的,例如,第7章的例子程序位于光盤的Chapter7目錄下。VC++教學視頻本套教學視頻由作者本人錄制,為了幫助讀者更好地掌握VC++開發(fā),作者花費了大量的時間和精力將AVI格式的視頻轉換為Flash格式,免費提供給讀者使用,希望讀者能夠從中受益。這套視頻的內(nèi)容簡介如下所示。Lesson1:Windows程序運行原理及程序編寫流程,窗口產(chǎn)生過程,句柄原理,消息隊列,回調(diào)函數(shù),窗口關閉與應用程序退出的工作關系,使用VC++的若干小技巧,stdcall與cdecl調(diào)用規(guī)范的比較,初學者常犯錯誤及注意事項。Lesson2:C++經(jīng)典語法與應用,類的編寫與應用,構造與析構函數(shù),函數(shù)的重載,類的繼承,函數(shù)覆蓋,基類與派生類的構造函數(shù)、析構函數(shù)調(diào)用順序,如何在派生類構造函數(shù)中向基類的構造函數(shù)傳遞參數(shù),this成員變量,類型轉換的內(nèi)幕,虛擬函數(shù)與多態(tài)性,引用和指針變量的區(qū)別與共同處。VC工程的編譯原理與過程,將工程中不同的類拆分到不同的文件中,每一個類由一個.h和.cpp文件共同完成,頭文件重復定義問題的解決,培養(yǎng)了學員良好的編程習慣,也為以后分析MFC AppWizard生成的工程奠定良好基礎。Lesson3:講述MFC AppWizard的原理與MFC程序框架的剖析。AppWizard是一個源代碼生成工具,是計算機輔助程序設計工具,WinMain在MFC程序中是如何從源程序中被隱藏的,theApp全局變量是如何被分配的,MFC框架中的幾個類的作用與相互關系,MFC框架窗口是如何產(chǎn)生和銷毀的,對窗口類的PreCreateWidow和OnCreate兩個函數(shù)的著重分析,Windows窗口與C++中的CWnd類的關系。Lesson4:MFC消息映射機制的剖析,講述如何運用ClassWizard,理解發(fā)送給窗口的消息是如何被MFC框架通過窗口句柄映射表和消息映射表來用窗口類的函數(shù)進行響應的。掌握設備描述表及其封裝類CDC的使用,CDC是如何與具體的設備發(fā)生關聯(lián)的,融合具體的畫圖程序進行分析。如何設置封閉圖形的填充刷子(位圖畫刷與透明畫刷的使用)。Lesson5:掌握CDC的文字處理程序的編寫,如何產(chǎn)生自定義字體和自定義插入符,熟悉對CString類的使用。通過對卡拉OK程序的編寫,講解定時器的使用和DrawText函數(shù)的巧妙運用,講解如何使用CDC的裁減功能。Lesson6:菜單的工作原理及編寫應用,菜單命令消息在MFC框架程序的幾個類中的傳遞順序和處理過程。標記菜單、默認菜單的實現(xiàn)原理、圖形菜單的實現(xiàn)及常犯錯誤的分析,GetSystemMetrics的應用,彈出快捷菜單的實現(xiàn)方式及其命令響應函數(shù)有效范圍(與彈出菜單時所指定的父窗口有密切的關系,最底層的子窗口具有最優(yōu)先的處理機會)。動態(tài)菜單的編寫,如何讓程序在運行時產(chǎn)生新的菜單項及如何手工為這些新產(chǎn)生的菜單命令安排處理函數(shù),如何在頂層窗口中截獲對菜單命令的處理,更進一步掌握CString類的應用。Lesson7:對話框用戶界面程序的編寫,如何向對話框控件關聯(lián)數(shù)據(jù)成員及其實現(xiàn)機理,如何利用對話框類的成員函數(shù)向控件發(fā)送消息和獲取對話框控件的類指針,如何直接利用對話框控件類操縱對話框控件(發(fā)送消息和直接調(diào)用成員函數(shù)),如何在程序運行時產(chǎn)生和銷毀控件。對話框控件的幾種操作方式的優(yōu)劣比較分析。如何實現(xiàn)對話框的部分收縮和展開。如何讓對話框上的文本框在程序啟動后立即獲得焦點,如何利用SetWindowLong改變窗口的回調(diào)函數(shù),通過改變文本框的默認回車處理方式進行演示。實現(xiàn)多個輸入文本框間通過回車逐一向下傳遞焦點的另一種巧妙方法(用默認按鈕來處理)。Lesson8:逃跑按鈕的巧妙實現(xiàn)。如何制作屬性頁對話框和向導對話框,融合講解組合框(如何調(diào)整組合框的大?。?、列表框、單選按鈕、復選按鈕等常用對話框控件的多種使用方法。如何限制用戶在不滿足設定的條件時切換到其他屬性頁和向導頁。Lesson9:如何修改MFC AppWizard向導生成的框架程序的外觀和大小,修改圖標、光標、背景的三種方法。如何增加和刪除工具欄按鈕,如何給應用程序增加工具欄,如何顯示和隱藏工具欄。定制狀態(tài)欄,在狀態(tài)欄中添加時鐘顯示,CTime類及其用法。在狀態(tài)欄中添加進度條(主窗口產(chǎn)生后立即產(chǎn)生進度條的巧妙思想,不能在OnCreate函數(shù)中直接處理,要用到自定義消息的方法)。鼠標坐標顯示,在CView中獲取狀態(tài)欄對象的幾種方式。如何為應用程序添加啟動畫面。Lesson10:圖形的繪制,如何使用自定義畫筆(顏色,線寬,線型)。如何為程序中添加選項菜單和選項設置對話框,如何使用標準顏色對話框,如何使用字體對話框,在選項對話框中實現(xiàn)預覽功能。實現(xiàn)選項對話框和窗口類中的數(shù)據(jù)交換。如何改變對話框和控件的背景色,如何改變控件的文本顏色,對按鈕控件的特殊處理。如何在窗口中顯示一幅位圖。Lesson11:如何讓CDC上輸出的文字、圖形具有保持功能,集合類CPtrArray的使用,CPaintDC與CClientDC的區(qū)別與應用,OnPa

內(nèi)容概要

  從實際應用入手,由淺入深、循序漸進地講述Windows程序內(nèi)部運行機制、MFC框架、文本、菜單、對話框、文件操作、網(wǎng)絡編程、進程間通信、ActiveX控件、動態(tài)鏈接庫、HOOK編程等多個主題。全書還貫穿作者多年來學習編程的一些經(jīng)驗,以及一些學習方法的建議,為讀者進一步的學習提供指導。
  本書不同于一般的講述VC++使用的書籍,本書主要從程序內(nèi)部運行的機制和MFC程序的組織脈絡入手,使讀者在學習VC++編程知識時,既能夠知其然,又能知其所以然,從而幫助讀者從根本上理解和掌握Windows的程序設計。
  本書的配套光盤還免費提供近45小時的VC++教學視頻,讀者在學習的過程中可以將視頻和書互為參考,配合學習,這樣可以更快、更好地掌握VC++編程。

書籍目錄

第1章 Windows程序內(nèi)部運行機制
 1.1 API與SDK
 1.2 窗口與句柄
 1.3 消息與消息隊列
 1.4 WinMain函數(shù)
 1.4.1 WinMain函數(shù)的定義
 1.4.2 窗口的創(chuàng)建
 1.4.3 消息循環(huán)
 1.4.4 編寫窗口過程函數(shù)
 1.5 動手寫第一個Windows程序
 1.6 消息循環(huán)的錯誤分析
 1.7 變量的命名約定
 1.8 小結
第2章 掌握C++
 2.1 從結構到類
 2.1.1 結構體的定義
 2.1.2 結構體與類
 2.2 C++的特性
 2.2.1 類與對象
 2.2.2 構造函數(shù)
 2.2.3 析構函數(shù)
 2.2.4 函數(shù)的重載
 2.2.5 this指針
 2.2.6 類的繼承
 2.2.7 虛函數(shù)與多態(tài)性、
 2.2.7 純虛函數(shù)
 2.2.8 函數(shù)的覆蓋和隱藏
 2.2.9 引用
 2.2.10 C++類的設計習慣及頭文件
 2.2.10 重復包含問題的解決
 2.2.11 VC++程序編譯鏈接的
 2.2.11 原理與過程
第3章 MFC框架程序剖析
 3.1 MFC AppWizard
 3.2 基于MFC的程序框架剖析
 3.2.1 MFC程序中的
 3.2.1 WinMain函數(shù)
 3.2.2 MFC框架窗口
 3.2.3 消息循環(huán)
 3.2.4 窗口過程函數(shù)
 3.2.5 文檔/視類結構
 3.2.6 幫助對話框類
 3.3 窗口類、窗口類對象與窗口
 3.3.1 三者之間關系
 3.3.2 在窗口中顯示按鈕
 3.4 本章小結
第4章 簡單繪圖
 4.1 MFC消息映射機制
 4.1.1 ClassWizard
 4.1.2 消息映射機制
 4.2 繪制線條
 4.2.1 利用SDK全局函數(shù)實現(xiàn)
 4.2.4 畫線功能
 4.2.2 利用MFC的CDC類實現(xiàn)
 4.2.4 畫線功能
 4.2.3 利用MFC的CClientDC類
 4.2.4 實現(xiàn)畫線功能
 4.2.4 利用MFC的CWindowDC類
 4.2.4 實現(xiàn)畫線功能
 4.2.5 在桌面窗口中畫線
 4.2.6 繪制彩色線條
 4.3 使用畫刷繪圖
 4.3.1 簡單畫刷
 4.3.2 位圖畫刷
 4.3.3 透明畫刷
 4.4 繪制連續(xù)線條
 4.5 繪制扇形效果的線條
第5章 文本編程
 5.1 插入符
 5.1.1 創(chuàng)建文本插入符
 5.1.2 創(chuàng)建圖形插入符
 5.2 窗口重繪
 5.2.1 OnDraw函數(shù)
 5.2.2 添加字符串資源
 5.3 路徑
 5.4 字符輸入
 5.4.1 設置字體
 5.4.2 字幕變色功能的實現(xiàn)
 5.5 本章小結
第6章 菜單
 6.1 菜單命令響應函數(shù)
 6.2 菜單命令的路由
 6.2.1 程序類對菜單命令的
 4.2.4 響應順序
 6.2.2 Windows消息的分類
 6.2.3 菜單命令的路由
 6.3 基本菜單操作
 6.3.1 標記菜單
 6.3.2 默認菜單項
 6.3.3 圖形標記菜單
 6.3.4 禁用菜單項
 6.3.5 移除和裝載菜單
 6.3.6 MFC菜單命令更新機制
 6.3.7 快捷菜單
 6.4 動態(tài)菜單操作
 6.4.1 添加菜單項目
 6.4.2 插入菜單項目
 6.4.3 刪除菜單
 6.4.4 動態(tài)添加的菜單項的
 6.4.4 命令響應
 6.5 電話本示例程序
 6.5.1 動態(tài)添加子菜單的實現(xiàn)
 6.5.2 顯示輸入的字符
 6.5.3 添加菜單項及其命令
 6.5.3 響應函數(shù)
 6.5.4 框架類窗口截獲菜單
 6.5.3 命令消息
 6.6 本章小結
第7章 對話框(一)
 7.1 對話框基本知識
 7.1.1 常用控件介紹
 7.1.2 對話框的種類
 7.2 對話框的創(chuàng)建和顯示
 7.2.1 模態(tài)對話框的創(chuàng)建
 7.2.2 非模態(tài)對話框的創(chuàng)建
 7.3 動態(tài)創(chuàng)建按鈕
 7.4 控件的訪問
 7.4.1 控件的調(diào)整
 7.4.2 靜態(tài)文本控件
 7.4.3 編輯框控件
 7.5 對話框伸縮功能的實現(xiàn)
 7.6 輸入焦點的傳遞
 7.7 默認按鈕的進一步說明
 7.8 本章小結
第8章 對話框(二)
 8.1 “逃跑”按鈕的實現(xiàn)
 8.2 屬性表單和向導的創(chuàng)建
 8.2.1 創(chuàng)建屬性頁
 8.2.2 創(chuàng)建屬性表單
 8.2.3 向導的創(chuàng)建
 8.3 本章小結
 附錄
第9章 定制應用程序外觀
 9.1 修改應用程序窗口的
 9.1 外觀
 9.1.1 在窗口創(chuàng)建之前修改
 9.1.2 在窗口創(chuàng)建之后修改
 9.2 修改窗口的光標、
 9.2 圖標和背景
 9.2.1 在窗口創(chuàng)建之前修改
 9.2.2 在窗口創(chuàng)建之后修改
 9.3 模擬動畫圖標
 9.3.1 加載圖標資源
 9.3.2 定時器的處理
 9.4 工具欄編程
 9.4.1 在工具欄上添加和
 9.4.1 刪除按鈕
 9.4.2 創(chuàng)建工具欄
 9.5 狀態(tài)欄編程
 9.6 進度欄編程
 9.6.1 在窗口中創(chuàng)建進度欄
 9.6.2 在狀態(tài)欄的窗格中創(chuàng)建
 9.6.2 進度欄
 9.7 在狀態(tài)欄上顯示鼠標
 9.7 當前位置
 9.8 啟動畫面
 9.9 本章小結
第10章 繪圖控制
 10.1 簡單繪圖
 10.2 設置對話框
 10.2.1 設置線寬
 10.2.2 設置線型
 10.3 顏色對話框
 10.4 字體對話框
 10.5 示例對話框
 10.6 改變對話框和控件的背景及
 10.6 文本顏色
 10.6.1 改變整個對話框及其上子
 10.6.1 控件的背景色
 10.6.2 僅改變某個子控件的背景
 10.6.1 及文本顏色
 10.6.3 改變控件上的文本字體
 10.6.4 改變按鈕控件的背景色
 10.6.1 及文本顏色
 10.7 位圖的顯示
 10.8 本章小結
第11章 圖形的保存和重繪
 11.1 坐標空間和轉換
 11.1.1 坐標空間
 11.1.2 轉換
 11.1.3 邏輯坐標和設備坐標
 11.2 圖形的保存和重繪
 11.2.1 集合類CPtrArray
 11.2.2 OnPaint與OnDraw
 11.3 窗口滾動功能的實現(xiàn)
 11.3.1 CScrollView類
 11.3.2 圖形錯位現(xiàn)象
 11.4 元文件
 11.4.1 元文件的使用
 11.4.2 元文件的保存
 11.4.2 與打開
 11.5 兼容設備描述表
 11.6 本章小結
第12章 文件和注冊表操作
 12.1 const char*和char* const
 12.1.1 const char*
 12.1.2 char* const
 12.2 C語言對文件操作的支持
 12.2.1 文件的打開
 12.2.2 文件的寫入
 12.2.3 文件的關閉
 12.2.4 fflush函數(shù)
 12.2.5 文件指針定位
 12.2.6 文件的讀取
 12.2.7 二進制文件和文本文件
 12.2.8 文本方式和二進制方式
 12.3 C++對文件操作的支持
 12.4 Win32 API對文件操作
 12.4 的支持
 12.4.1 文件的創(chuàng)建和打開
 12.4.2 文件的寫入
 12.4.3 文件的讀取
 12.5 MFC對文件操作的支持
 12.5.1 文件的寫入
 12.5.2 文件的讀取
 12.5.3 CFileDialog類
 12.6 Win.ini文件的訪問
 12.6.1 Win.ini文件的結構
 12.6.2 Win.ini文件的寫入
 12.6.3 Win.ini文件的讀取
 12.7 注冊表的編程
 12.7.1 注冊表API
 12.7.2 注冊表訪問示例
 12.8 本章小結
第13章 文檔與串行化
 13.1 使用CArchive類對文件
 13.1 進行讀寫操作
 13.2 MFC框架程序提供的文件
 13.2 新建功能
 13.2.1 IDR_MAINFRAME
 13.2.1 字符串資源
 13.2.2 OnNewDocument函數(shù)的
 13.2.2 調(diào)用過程
 13.3 文檔串行化
 13.3.1 文檔類的Serialize函數(shù)
 13.3.2 MFC框架對Serialize
 13.3.2 函數(shù)的調(diào)用過程
 13.4 可串行化的類
 13.4.1 實現(xiàn)類對串行化的支持
 13.4.2 利用可串行化類的Serialize
 13.4.2 函數(shù)保存和加載對象
 13.4.3 版本號
 13.4.4 利用CObArray類對串行化
 13.4.4 的支持保存和加載數(shù)據(jù)
 13.5 文檔對象數(shù)據(jù)的銷毀
 13.6 本章小結
第14章 網(wǎng)絡編程
 14.1 計算機網(wǎng)絡基本知識
 14.1.1 IP地址
 14.1.2 協(xié)議
 14.1.3 網(wǎng)絡的狀況
 14.1.4 網(wǎng)絡異質(zhì)性問題的解決
 14.1.5 ISO/OSI七層參考模型
 14.1.6 數(shù)據(jù)封裝
 14.1.7 TCP/IP模型
 14.1.8 端口
 14.1.9 套接字(socket)的引入
 14.1.10 網(wǎng)絡字節(jié)順序
 14.1.11 客戶機/服務器模式
 14.2 Windows Sockets的實現(xiàn)
 14.2.1 套接字的類型
 14.2.2 基于TCP(面向連接)
 14.2.2 的socket編程
 14.2.3 基于UDP(面向無連接)
 14.2.2 的socket編程
 14.3 相關函數(shù)
 14.3.1 WSAStartup函數(shù)
 14.3.2 socket函數(shù)
 14.3.3 bind函數(shù)
 14.3.4 inet_addr和inet_ntoa函數(shù)
 14.3.5 listen函數(shù)
 14.3.6 accept函數(shù)
 14.3.7 send函數(shù)
 14.3.8 recv函數(shù)
 14.3.9 connect
 14.3.10 recvfrom
 14.3.11 sendto函數(shù)
 14.3.12 htons和htonl函數(shù)
 14.4 基于TCP的網(wǎng)絡應用程序
 14.4 的編寫
 14.4.1 服務器端程序
 14.4.2 客戶端程序
 14.5 基于UDP的網(wǎng)絡應用程序
 14.5 的編寫
 14.5.1 服務器端程序
 14.5.2 客戶端程序
 14.6 基于UDP的簡單聊天程序
 14.6.1 服務器端程序
 14.6.2 客戶端程序
 14.7 本章小結
第15章 多線程
 15.1 基本概念
 15.1.1 進程
 15.1.2 線程
 15.2 線程創(chuàng)建函數(shù)
 15.3 簡單多線程示例
 15.4 線程同步
 15.4.1 火車站售票系統(tǒng)模擬程序
 15.4.2 多線程程序容易出現(xiàn)的問題
 15.4.3 利用互斥對象實現(xiàn)線程同步
 15.5 保證應用程序只有一個
 15.5 實例運行
 15.6 網(wǎng)絡聊天室程序的實現(xiàn)
 15.6.1 加載套接字庫
 15.6.2 創(chuàng)建并初始化套接字
 15.6.3 實現(xiàn)接收端功能
 15.6.4 實現(xiàn)發(fā)送端功能
 15.7 本章小結
第16章 線程同步與異步
第16章 套接字編程
 16.1 事件對象
 16.1.1 創(chuàng)建事件對象
 16.1.2 設置事件對象狀態(tài)
 16.1.3 重置事件對象狀態(tài)
 16.1.4 利用事件對象實現(xiàn)線程同步
 16.1.5 保證應用程序只有一個
 16.1.5 實例運行
 16.2 關鍵代碼段
 16.2.1 相關的API函數(shù)
 16.2.2 利用關鍵代碼段實現(xiàn)
 16.2.2 線程同步
 16.3 線程死鎖
 16.4 互斥對象、事件對象與
 16.4 關鍵代碼段的比較
 16.5 基于消息的異步套接字
 16.5.1 相關函數(shù)說明
 16.5.2 網(wǎng)絡聊天室程序的實現(xiàn)
 16.6 本章小結
第17章 進程間通信
 17.1 剪貼板
 17.1.1 數(shù)據(jù)發(fā)送
 17.1.2 數(shù)據(jù)接收
 17.2 匿名管道
 17.2.1 基礎知識
 17.2.2 進程的創(chuàng)建
 17.2.3 父進程的實現(xiàn)
 17.2.4 子進程的實現(xiàn)
 17.3 命名管道
 17.3.1 基礎知識
 17.3.2 服務器端程序
 17.3.3 客戶端程序
 17.4 郵槽
 17.4.1 服務器端程序
 17.4.2 客戶端程序
 17.5 本章小結
第18章 ActiveX控件
 18.1 ActiveX控件
 18.1.1 ActiveX控件的好處
 18.1.2 MFC ActiveX
 18.1.2 ControlWizard
 18.1.3 ActiveX控件的測試
 18.1.4 ActiveX控件的注冊
 18.1.5 時鐘控件的實現(xiàn)
 18.2 屬性
 18.2.1 標準屬性
 18.2.2 自定義屬性
 18.3 方法
 18.4 事件
 18.4.1 標準事件
 18.4.2 自定義事件
 18.5 屬性的持久性
 18.6 環(huán)境屬性
 18.7 ActiveX控件測試程序
 18.8 本章小結
 18.9 問題
第19章 動態(tài)鏈接庫
 19.1 動態(tài)鏈接庫概述
 19.1.1 靜態(tài)庫和動態(tài)庫
 19.1.2 使用動態(tài)鏈接庫的好處
 19.1.3 動態(tài)鏈接庫的加載
 19.2 Win32 DLL的創(chuàng)建和使用
 19.2.1 Dumpbin命令
 19.2.2 從DLL中導出函數(shù)
 19.3 隱式鏈接方式加載DLL
 19.3.1 利用extern聲明
 19.3.1 外部函數(shù)
 19.3.2 Depends工具
 19.3.3 利用_declspec(dllimport)
 19.3.3 聲明外部函數(shù)
 19.4 完善Win32 DLL例子
 19.5 從DLL中導出C++類
 19.6 解決名字改編問題
 19.7 顯示加載方式加載DLL
 19.7.1 LoadLibary函數(shù)
 19.7.2 調(diào)用約定
 19.7.3 根據(jù)序號訪問DLL中的
 19.7.3 導出函數(shù)
 19.8 DllMain函數(shù)
 19.9 MFC DLL
 19.10 本章小結
第20章 HOOK和數(shù)據(jù)庫訪問
 20.1 HOOK編程
 20.1.1 基本知識
 20.1.2 進程內(nèi)鉤子
 20.1.3 全局鉤子
 20.2 數(shù)據(jù)庫訪問技術
 20.3 在VB中利用ADO訪問
 20.3 數(shù)據(jù)庫
 20.3.1 利用ADO控件訪問
 20.3.1 數(shù)據(jù)庫
 20.3.2 利用ADO對象訪問
 20.3.1 數(shù)據(jù)庫
 20.4 在VC中利用ADO訪問
 20.4 數(shù)據(jù)庫
 20.5 本章小結

章節(jié)摘錄

  第26行,調(diào)用TextOut函數(shù)在(0,0)的位置輸出一個網(wǎng)址。當發(fā)生重繪時,窗口中的文字和圖形都會被擦除。在擦除背景后,TextOut函數(shù)又一次執(zhí)行,在窗口中再次繪制出。這個過程對用戶來說是透明的,用戶并不知道程序執(zhí)行的過程,給用戶的感覺就是你在響應WM_PAINT消息的代碼中輸出的文字或圖形始終保持在窗口中。換句話說,如果我們想要讓某個圖形始終在窗口中顯示,就應該將圖形的繪制操作放到響應WM_PAINT消息的代碼中。  那么系統(tǒng)為什么不直接保存窗口中的圖形數(shù)據(jù),而要由應用程序不斷地進行重繪呢?這主要是因為在圖形環(huán)境中涉及的數(shù)據(jù)量太大,為了節(jié)省內(nèi)存的使用,提高效率,而采用了重繪的方式?! ≡陧憫猈M_PAINT消息的代碼中,要得到窗口的DC,必須調(diào)用BeginPaint函數(shù)。BeginPaint函數(shù)也只能在WM_PAINT消息的響應代碼中使用,在其他地方,只能使用GetDC來得到DC的句柄。另外,BeginPaint函數(shù)得到的DC,必須用EndPaint函數(shù)去釋放?! ?9~34行代碼:當用戶單擊窗口上的關閉按鈕時,系統(tǒng)將給應用程序發(fā)送一條WM_CLOSE消息。在這段消息響應代碼中,我們首先彈出一個消息框,讓用戶確認是否結束。如果用戶選擇“否”,則什么也不做;如果用戶選擇“是”,則調(diào)用DestroyWindow函數(shù)銷毀窗口,DestroyWindow函數(shù)在銷毀窗口后會向窗口過程發(fā)送WM_DESTROY消息。注意,此時窗口雖然銷毀了,但應用程序并沒有退出。有不少初學者錯誤地在WM_DESTROY消息的響應代碼中,提示用戶是否退出,而此時窗口已經(jīng)銷毀了,即使用戶選擇不退出,也沒有什么意義了。所以如果你要控制程序是否退出,應該在WM_CLOSE消息的響應代碼中完成?!  ?/pre>

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    VC++深入詳解 PDF格式下載


用戶評論 (總計141條)

 
 

  •   還記得是3月24號時拿到這本書的!在此之前我花了一個星期了解了一下MFC,之間換了三本書吧,換的原因是覺得不太合適。怎么說呢?就是覺得講得淺了點。這幾本書都是在講操作,而涉及mfc設計機制方面的東西則基本沒有!所以,我才換了這本??赐曛?,我覺得這確實算是學習mfc入門較好的書籍!建議大家在學習時重點研讀第一章、第三章和第四章的第一節(jié)。這些章節(jié)內(nèi)容是理解mfc機制的核心內(nèi)容!這些內(nèi)容搞定后,后面內(nèi)容的掌握就如水到渠成般自然流暢了。另外,從14章網(wǎng)絡編程到16章的內(nèi)容也很重要,需要認真理解!說了優(yōu)點也就不能避開缺點不談,首先12章開始到結束出現(xiàn)了很多錯誤。有些錯誤是印刷所致,還有些錯誤是翻譯不準確所致!這些希望大家閱讀時要小心!接著是第13章的內(nèi)容編排稍有不妥,理解起來略有困難!且許多術語均是硬譯而來,十分生硬晦澀。遇到這些內(nèi)容大家可以參考msdn!最后,本書對數(shù)據(jù)庫編程的知識涉及極少,讓人有點不痛快!畢竟花了這么多money,到最后好像連個信息系統(tǒng)都沒法完成!還好,書費學校給報銷!呵呵!總之,這本書極具價值,想學好mfc的朋友應該看2遍以上。最后,分享一下我的導師告訴我的讀書兩法,一曰堅持,一曰重復!
  •   配合視頻教程與書一起看,對于vc++入門與提高非常很有幫助,特別是對于自學vc++的人,這本書絕對是首選!不過,學習編程光看書是不夠的,還要多動手,多與高手交流,多看高手的源代碼。
  •   VC++深入詳解(修訂版)(含DVD光盤1張),這是一本非常好的書,學習中。。。
  •   正像書后所說,本書適合有一定VC++開發(fā)經(jīng)驗,想要系統(tǒng)地學習VC++的讀者! 這本書的內(nèi)容介紹的很全面了,幾乎涉及到了Windows的方方面面,很好!
  •   這本書是VC++學習的必備書籍,加上配套的視頻,真是一本值得購買的書!
  •   自從前一段時間,開始學習VC++以來,一直想要尋找一本合適的書籍,能夠一步一步的帶自己走進VC++的殿堂,但是在圖書館借來了好幾本書,看完以后給自己的感覺都是懵懵懂懂的,直到碰見她(vc++深入詳解),里面作者用通俗易懂的語句,幫助我解決了好幾個問題,于是就毫不猶豫的要求自己買一本他!
  •   這是一本講解VC比較經(jīng)典的書籍,其中對MFC的使用做了比較好的講解,對于初學者快速入門很有幫助!
  •   非常經(jīng)典的入門書籍,方方面面很多都講到了,看完之后感覺算是對MFC入門了。 可惜就是用VC6講的,并且很多東西可能都不是很新了。但是對我這樣的初學者來說,已經(jīng)夠用了。
  •   書中的講解對我學習V C ++很有幫助,講解的很細致明了,使很多抽象的定義概念容易理解領會,邊看書邊配合孫鑫老師的教學視頻,讓我對c++有了進一步的深入了解,也讓剛接觸C++不久的我受益匪淺,正如書籍介紹所說的暢銷多年,經(jīng)典再現(xiàn)!
  •   面型應用型書籍,適合初步掌握VC知識的人群閱讀,對各種類型應用方面都有較為細致的講解,很好很經(jīng)典!
  •   個人感覺是同類書中介紹的比較全面的書籍,特別是從讀者學習的角度,由淺入深的介紹,利于學習,同時也兼顧的深度。書中的很多小技巧感覺是來自于多年的編程實踐的心得。感謝作者,感謝出版社,感謝當當。。。。
  •   估計我是第一個在當當買這本修訂版的VC++深入詳解的吧,買的時候都沒有圖片,,,這本書內(nèi)容很棒不容置疑了,當當發(fā)貨快,很快,快遞不錯!
  •   很好的一本書,師兄師姐都推薦的學習VC的好朋友!
  •   一本學習VC的不錯的入門書籍
  •   學習vc++必不可少的書籍
  •   經(jīng)典,學習vc的好書
  •   vc++學習的經(jīng)典教材,得花點時間好好學了
  •   講的比較入門,適合初學者學習,看完這本書之后對于VC就有了初步了解
  •   學習VC++不錯的指導書,推薦之。。。
  •   如果你想學習VC不錯的選擇。
  •   很詳細的一本書,對深入學習C++及windows編程很有幫助。快遞很給力,很快!
  •   VC++深入詳解
  •   買來送人的。非常經(jīng)典的一本VC++書籍,很多人推薦。
  •   我最喜歡的一本VC++,作者大名久矣,書編寫的非常好
  •   孫鑫的書算是經(jīng)典中的經(jīng)典吧 只是VC6有點老了
  •   這本書很經(jīng)典,看完之后對vc++了解更深,贊一個。
  •   學vc++很經(jīng)典的一本書,
  •   書是正版,印刷還可以,快遞也給力,書正在研究中,可以作為VC開發(fā)的工具書使用
  •   很經(jīng)典,適合VC++入門。
  •   經(jīng)典vc,不錯
  •   經(jīng)典不用多說,VC++入門首選
  •   vc++程序員入門必備?。?!
  •   想了解下 VC++方面的東西,得好好讀讀了!
  •   來龍去脈,一目了然,不錯!很適合剛接觸VC++的人
  •   vc入門必讀
  •   一直想買,礙于太貴,VC入門
  •   入門的書籍,是學習MFC的必備,還有視頻講解
  •   根據(jù)視頻,認真閱讀,希望自己的編程水平,借助這本書有提高...
  •   講MFC的一本書,相當?shù)募氈?,需要一點C++的基礎,視頻很詳細
  •   很給力的一本書,學習MFC必備。
  •   mfc學習必備的一本書,支持了
  •   我是先看了視頻才買的書,入門MFC不錯
  •   是學習MFC入門的非常好的教材
  •   我一般是懶得寫評價的。不過這本書看了一段時間后感到必須來寫點啥了。第一,寫的很詳細。第二,寫得很有條理,循序漸進,很易懂,解釋了好多雖瑣碎卻讓我莫名其妙了好久的問題,比之前買的兩本關于C++、mfc的書好多了。
  •   很好的一本講解MFC的工具書,配合視屏更容易學
  •   孫鑫老師的視頻以前就學習過,這次買這本書是想更系統(tǒng)的再學習一次、、、好書,值得反復琢磨
  •   前幾個月看了孫鑫老師對應這本書的視頻,感覺很好,修訂版的書出來了,我就直接在當當上買了,送貨速度快,書裝訂質(zhì)量也很好,很滿意!
  •   光盤挺好用的!對學習挺有幫助!
  •   書籍里看不懂的部分,看視頻后再看相關部分的知識,理解比較好一點。
  •   這本書對MFC講的很詳細
  •   這本書,想來是極好的。特別是作者能用平實的語言解釋一些難懂的關系。值得好好學習。
  •   感覺很好,配合視頻看吧,一步一步來,我想通過這本書盡快入門!
  •   還沒看,正版,如果讀完在mfc上應該基礎很扎實了,目錄寫的還算詳實
  •   這本書的配套視頻已經(jīng)看過,此次購買只為珍藏!的確經(jīng)典!
  •   書很好,質(zhì)量很好,內(nèi)容由淺入深,講解詳細。適合有C語言基礎的讀者使用。
  •   經(jīng)典書籍,正在學習中......
  •   VC++學習的一本好書,只不過我買的時候光盤破損了***
  •   孫老師的這本書寫得很獨到,配合視頻看,挺不錯的。
  •   書很好,不用多說,以前都是看視頻,天氣熱了,買本書,遠離電腦
  •   大師巨著,結合配套視頻教程可以讓你盡情暢游在知識的海洋中~
  •   暢銷好多年了吧。。很有參考學習價值
  •   看過孫鑫的視頻 再買本書來鞏固一下 書里知識挺全面 總體還是很不錯的 喜歡
  •   好多人買深入詳解第一版而不買這個修訂版多數(shù)是因為沒有縮略圖吧?我想說這個修訂版真的比第一版好了不少,內(nèi)容更新了很多
  •   講解很詳細,視頻也很好,看完可以直接接觸相關項目的一本書。
  •   這本書是我同學推薦的 我在學習 很深入細致
  •   對于學習很有幫助,值得品讀的的經(jīng)典教材!
  •   在網(wǎng)上看的視頻,之后買的書,很經(jīng)典!
  •   書+視頻+實例 經(jīng)典之作
  •   收到書了,包裝挺好,書挺值得。光片里的東西也拷貝下來了,很清楚,以后好好學習。希望自己有所進步!
  •   書剛剛拿到手,稍微看了下,覺得還不錯,就是價格好貴啊,真心疼!好好學習啦!
  •   書很厚實,活動購進,很有用,值得學習,正在細度,希望對工作有所幫助
  •   很好,不過難度蠻大的,學習中
  •   印刷質(zhì)量很好,視頻不很清晰,傷眼睛
  •   這本書和孫鑫視頻是一樣的,完全沒啥變動,不值得購買~
  •   這是以為朋友推薦的,C++學習入門經(jīng)典教程!
  •   內(nèi)容很好,適合有一定基礎的人學習。
  •   一看就是正版的紙質(zhì),我希望系統(tǒng)的將C++再學習一遍,希望這本書能幫到我。
  •   很厚的一本書。。感覺要學習很久
  •   想學習C++大家都推薦這本書
  •   書很不錯,視頻給力
  •   雖然有相應的視頻,不過個人更傾向于看書。
  •   非常好的書,視頻沒做好。
  •   先看的視頻才知道有書。買來方便查代碼。
  •   邊聽視頻邊看書,效果挺好的?。?
  •   這本書很久之前就想買了,但價位較高,剛好碰**當打折,價格很給力!就入手了,是正品!很喜歡!
  •   書剛拿到手,質(zhì)量看著不錯,希望可以好好的學習它。
  •   書附送的光盤不錯,講解很細致,書很好
  •   書很好,光盤很好!
  •   視頻播放有點麻煩
  •   師兄推薦的&;hellip;正在學習&;hellip;應該不錯的!
  •   不錯 學習很有用
  •   買來學習數(shù)據(jù)庫的,學習需要。其實我是幫同學買的。同學說還不錯。值得看
  •   很適合自己學習
  •   還沒有開始學習,不過很多人推薦,相信是本好書!
  •   我要學習C++,要想學好,就要有投入,投入金錢了,就能更多地投入精力去學習
  •   印刷什么的很不錯,另外也適合學習
  •   本書很大很重還有一個帶代碼的光盤,講的非常的細致。
  •   深入詳解,剛買來,有時間再看下
  •   很經(jīng)典的一本書,非常好
  •   首先書很新,質(zhì)量很好,其次書中內(nèi)容很詳細講得很好,大家都推薦這本書,于是就買了,很滿意。。。
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7