Visual C++ 技術(shù)內(nèi)幕(第四版)

出版時(shí)間:1999-1  出版社:清華大學(xué)出版社  作者:David J. Kruglinski  譯者:潘愛民/王國(guó)印  
Tag標(biāo)簽:無(wú)  

內(nèi)容概要

在前三版的基礎(chǔ)上,本書向讀者詳盡地介紹了Visual C++開發(fā)系統(tǒng)和復(fù)雜的32位Windows編程技術(shù),全面詮釋了Microsoft 的這個(gè)強(qiáng)大而復(fù)雜的開發(fā)工具的功能。
本書從對(duì)Windows,Visual C++和應(yīng)用程序框架的技術(shù)性概述入手,討論了下列課題:基礎(chǔ)知識(shí)——事件處理,GDI,對(duì)話框,內(nèi)存管理,SDI和MDI,打印,以及幫助;高級(jí)課題——多線程,DIB,ODBC,DLL等等。

作者簡(jiǎn)介

作者簡(jiǎn)介
DavidKruglinski是一位自學(xué)成才的、杰出的程序設(shè)計(jì)員、作家、教師和戶外活動(dòng)家。
自從1966年加入Purdue大學(xué),他就開始了程序設(shè)計(jì)生涯;1976年他的一位朋友從垃圾
箱中發(fā)現(xiàn)了一塊8080板,從那以后他就開始針對(duì)微機(jī)編寫應(yīng)用程序。
《VisualC++技術(shù)內(nèi)幕》是David的第五本書。1992年他為Microsoft出版社寫了該書的
第一版。該書贏得了很大的成功并受到了讀者的廣泛歡迎。作為最暢銷的書,該書現(xiàn)在已
經(jīng)到第四版了;在為Microsoft出版社寫作之前,David編寫了四本書,涉及的內(nèi)容從微機(jī)數(shù)據(jù)
庫(kù)管理系統(tǒng)一直到PC通信。
由于他在寫作和程序設(shè)計(jì)方面的出色表現(xiàn),1991年中期他與Microsoft基本類庫(kù)(MFC)
1.0版本的文檔小組建立了正式合約關(guān)系。在大多數(shù)MFC參考材料,特別是對(duì)一些基本類
如CString等的說(shuō)明中,我們不難看到David的精辟論述。當(dāng)1992年MicrosoftC/C++7.0正
式推出時(shí),他離開了Microsoft語(yǔ)言開發(fā)小組,專門從事《VisualC++技術(shù)內(nèi)幕》的寫作。
David被公認(rèn)為MFC和VisualC++語(yǔ)言這兩方面技術(shù)的權(quán)威。他成功地發(fā)起組織了軟
件工具研究小組,并兼作MicrosoftVisualC++的顧問和指導(dǎo)。他經(jīng)常駕駛著他的滑翔機(jī),在
各地授課、做報(bào)告、參加會(huì)議等。David通過與Microsoft的密切合作,緊密跟蹤著最新的軟件
發(fā)展方向。他經(jīng)常去拜訪VisualC++開發(fā)小組的成員,從而得以不斷跟蹤新的發(fā)展,并深入
研究MFC中的一些新技術(shù),如OLE、數(shù)據(jù)庫(kù)和Internet等。
作為一個(gè)周游世界的旅行家和戶外活動(dòng)愛好者,David經(jīng)常徒步旅行和爬山,他從不閑
著。從80年代后期他開始滑翔機(jī)運(yùn)動(dòng),在過去的幾年中,作為一個(gè)優(yōu)秀的飛行員,他贏得了
國(guó)際級(jí)的名譽(yù)。David是一個(gè)大膽的、非傳統(tǒng)的飛行員,他時(shí)而翱翔在高山上,時(shí)而低飛在山
谷中,充分領(lǐng)略了從歐洲到北美洲的壯觀美景。他不斷刷新新的記錄,包括空中停留時(shí)間、
旅行距離、飛行高度。
“順風(fēng)去吧,Dave?!?997年4月17日,Kruglinski在華盛頓州OKanogan 郡Methow峽谷飛
行時(shí)不幸遇難,終年49歲。
“據(jù)說(shuō),當(dāng)藏族人面對(duì)危險(xiǎn),或者當(dāng)他們要穿過雪山和大河時(shí),他們會(huì)喊,‘每個(gè)活著的人100
年后都會(huì)死,所以又有什么可害怕的呢?’Dave就是這樣的人,但他沒有喊?!?br />LowellSkoog,滑翔機(jī)飛行伙伴

書籍目錄

目錄
前言
第一部分 Windows、VisualC++和應(yīng)用程序框架基礎(chǔ)
第一章 MicrosoftWindows 和VisualC++
1.1Windows的編程模式
1.1.1消息處理
1.1.2Windows的圖形設(shè)備接口(GDI)
1.1.3基于資源的程序設(shè)計(jì)
1.1.4內(nèi)存管理
1.1.5動(dòng)態(tài)連接庫(kù)(DLL)
1.1.6Win32應(yīng)用程序編程接口
1.2VisualC++的組成
1.2.1MicrosoftDeveloperStudio97和創(chuàng)建過程
1.2.2資源編輯器――WorkspaceResourceView
1.2.3C/C++編譯器
1.2.4資源編譯器
1.2.5連接器
1.2.6調(diào)試器
1.2.7AppWizard
1.2.8ClassWizard
1.2.9源程序?yàn)g覽器
1.2.10聯(lián)機(jī)幫助
1.2.11Windows診斷工具
1.2.12源代碼控制
1.2.13Gallery
1.2.14Microsoft基本類庫(kù)4.21版
1.2.15MicrosoftActiveX 模板庫(kù)
第二章 Microsoft基本類庫(kù)應(yīng)用程序框架
2.1為什么要使用應(yīng)用程序框架
2.1.1學(xué)習(xí)曲線
2.2什么是應(yīng)用程序框架
2.2.1應(yīng)用程序框架和MFC庫(kù)
2.2.2應(yīng)用程序框架示例
2.3MFC庫(kù)消息映射
2.3.1文檔和視圖
第二部分 MFC 庫(kù)中的視圖類
第三章 從“Hello,world!”著手學(xué)習(xí)AppWizard
3.1什么是視圖
3.2單文檔界面(SDI)和多文檔界面(MDI)
3.3“不做任何事情”的應(yīng)用程序
3.4CEx03aView視圖類
3.5在視窗內(nèi)繪圖――Windows的圖形設(shè)備接口
3.5.1OnDraw成員函數(shù)
3.5.2Windows設(shè)備環(huán)境
3.5.3往EX03A程序中加入繪制代碼
3.6資源編輯器簡(jiǎn)介
3.6.1ex03a.rc的內(nèi)容
3.6.2運(yùn)行對(duì)話框資源編輯器
3.7Win32Debug目標(biāo)和Win32Release目標(biāo)
3.8允許診斷宏
3.9對(duì)預(yù)編譯頭文件的理解
3.10兩種方法運(yùn)行程序
第四章 基本事件處理、映射模式和滾動(dòng)視圖
4.1獲取用戶輸入――消息映射函數(shù)
4.1.1消息映射
4.1.2保存視圖的狀態(tài)-類數(shù)據(jù)成員
4.1.3初始化視圖類數(shù)據(jù)成員
4.1.4使矩形區(qū)域無(wú)效
4.1.5Windows 的客戶區(qū)域
4.1.6CRect,CPoint和CSize類的運(yùn)算
4.1.7一個(gè)點(diǎn)是否在矩形內(nèi)
4.1.8CRect的LPRECT操作符
4.1.9一個(gè)點(diǎn)是否在橢圓內(nèi)
4.2Ex04A示例程序
4.3對(duì)EX04A使用ClassWizard
4.3.1同時(shí)使用AppWizard 和Clas sWizard
4.4映射模式
4.4.1MM_TEXT映射模式
4.4.2“固定比例”映射模式
4.4.3“可變比例”映射模式
4.4.4坐標(biāo)變換
4.4.5EX04B示例程序――轉(zhuǎn)換到MM_HIMETRIC映射模式
4.5滾動(dòng)視窗
4.5.1窗口比人們所見到的要大
4.5.2滾動(dòng)條
4.5.3滾動(dòng)方式的選擇
4.5.4 OnInitialUpdate函數(shù)
4.5.5接收鍵盤輸入
4.5.6EX04C滾動(dòng)示例程序
4.6其他Windows消息
4.6.1WM_CREATE消息
4.6.2WM_CLOSE消息
4.6.3WM_QUERYENDSESSION消息
4.6.4WM_DESTROY消息
4.6.5WM_NCDESTROY消息
第五章 圖形設(shè)備接口(GDI)、顏色及字體
5.1設(shè)備環(huán)境類
5.1.1顯示設(shè)備環(huán)境類CClientDC和CWindowDC
5.1.2構(gòu)造和析構(gòu)CDC對(duì)象
5.1.3設(shè)備環(huán)境的狀態(tài)
5.1.4CPaintDC類
5.2GDI對(duì)象
5.2.1GDI對(duì)象的構(gòu)造與析構(gòu)
5.2.2跟蹤GDI對(duì)象
5.2.3庫(kù)存的GDI對(duì)象
5.2.4GDI選擇的有效期
5.3Windows的顏色映射
5.3.1標(biāo)準(zhǔn)視頻圖形陣列(V以)顯示卡
5.3.2256色顯示卡
5.3.316位顏色顯示卡
5.3.424位顏色顯示卡
5.4字體
5.4.1字體是GDI對(duì)象
5.4.2選擇字體
5.4.3打印字體
5.4.4 顯示字體
5.4.5顯示器的邏輯英寸和物理英寸
5.4.6計(jì)算字符高度
5.5EXO5A示例程序
5.5.1EX05A程序的組成元素
5.6EX05B程序
5.6.1EX0 5B程序的組成元素
5.7EX05C示例程序――再次使用CScrollView
5.7.1EX0 5C程序的組成元素
5.7.2CScrollView的SetScaleToFitSize模式
5.7.3在滾動(dòng)視圖中使用邏輯twips映射模式
第六章 模式對(duì)話框和Windows通用控件
6.1模式和無(wú)模式對(duì)話框
6.2資源和控件
6.3模式對(duì)話框的編程
6.4包羅萬(wàn)象的對(duì)話框――EX06A示例程序
6.4.1創(chuàng)建對(duì)話框資源
6.4.2ClassWizard和對(duì)話框類
6.4.3將對(duì)話框與視圖相連接
6.4.4深入理解EX06A應(yīng)用程序
6.5對(duì)話框程序的改進(jìn)
6.5.1獲得OnOK退出控制
6.5.2OnCancel處理
6.5.3和滾動(dòng)條控件掛上鉤
6.6控件的標(biāo)識(shí):CWnd指針和控件ID
6.7設(shè)置對(duì)話框的背景色和其中控件的顏色
6.8在對(duì)話框窗口內(nèi)繪圖
6.9在運(yùn)行時(shí)加入對(duì)話框控件
6.10利用其他的控件特性
6.11Windows通用控件
6.11.1進(jìn)度指示器控件
6.11.2滑桿條(Trackbar)控件
6.11.3微調(diào)按鈕控件
6.11.4列表控件
6.11.5樹狀控件
6.11.6WM NOTIFY消息
6.12EX06B示例程序
6.13其他Windows 通用控件
第七章 無(wú)模式對(duì)話框和Windows通用對(duì)話框類
7.1無(wú)模式對(duì)話框
7.1.1創(chuàng)建無(wú)模式對(duì)話框
7.1.2用戶定義的消息
7.1.3對(duì)話框的歸屬
7.1.4無(wú)模式對(duì)話框的例子――EX07A
7.2CFormView類――另外一種可供選擇的無(wú)模式對(duì)話框
7.3Windows通用對(duì)話框
7.3.1直接使用CFileDialog類
7.3.2從通用對(duì)話框類進(jìn)行派生
7.3.3嵌套對(duì)話框
7.3.4使用CFileDialog的一個(gè)例子――EX07B
7.3.5CFileDialog的其他可定制特性
第八章 使用ActiveX控件
8.1ActiveX控件和普通的Windows控件
8.1.1普通的Windows 控件――參考體系
8.1.2ActiveX控件與普通控件的相同點(diǎn)
8.1.3ActiveX控件與普通控件的不同點(diǎn)――屬性和方法
8.2安裝ActiveX控件
8.3日歷控件
8.4ActiveX控件包容器編程
8.4.1屬性訪問
8.4.2ClassWizard為ActiveX控件產(chǎn)生的C++類
8.4.3AppWizard對(duì)ActiveX控件的支持
8.4.4ClassWizard和包容器對(duì)話框
8.4.5對(duì)話框類數(shù)據(jù)成員和控件類的用法
8.4.6映射ActiveX控件事件
8.4.7把ActiveX控件鎖定在內(nèi)存里
8.5EX08A示例程序――ActiveX控件對(duì)話框包容器
8.6ActiveX控件在HTML文件中的使用
8.7在運(yùn)行時(shí)創(chuàng)建ActiveX控件
8.8EX08B示例程序――Web瀏覽器ActiveX控件
8.9EX08C示例程序――一個(gè)完整的雙窗口瀏覽器
8.10圖形屬性
8.11約束屬性――改變通知
8.12其他的ActiveX控件
第九章 Win32內(nèi)存管理
9.1進(jìn)程和內(nèi)存空間
9.1.1Windows95進(jìn)程地址空間
9.1.2WindowsNT進(jìn)程地址空間
9.2虛擬內(nèi)存如何工作
9.3VirtualAlloc函數(shù)――占用和保留內(nèi)存
9.4Windows 堆和GlobalAlloc 函數(shù)族
9.5小內(nèi)存堆,C++的new和delete操作符,_heapmin
9.6內(nèi)存映射文件
9.7訪問資源
9.8管理動(dòng)態(tài)內(nèi)存的一些提示
9.9常量數(shù)據(jù)的優(yōu)化存儲(chǔ)
第十章 位圖
10.1GDI位圖和與設(shè)備無(wú)關(guān)的位圖
10.2彩色位圖和單色位圖
10.3使用GDI位圖
10.3.1從資源中裝人GDI位圖
10.3.2顯示映射模式的作用
10.3.3對(duì)位進(jìn)行伸縮處理
10.3.4EX10A示例程序
10.4利用位圖改進(jìn)屏幕顯示
10.4.1EX10B示例程序
10.4.2Windows動(dòng)畫
10.5DIB和CDib類
10.5.1關(guān)于調(diào)色板編程的術(shù)語(yǔ)
10.5.2DIB、象素和顏色表
10.5.3BMP文件中DIB的結(jié)構(gòu)
10.5.4DIB訪問函數(shù)
10.5.5CDib類
10.5.6DIB顯示性能
10.5.7EX10C示例程序
10.6進(jìn)一步使用DIB
10.6.1Load Image函數(shù)
10.6.2DrawDibDraw函數(shù)
10.7在按鈕上設(shè)置位圖
10.7.1EX10D示例程序
10.7.2進(jìn)一步使用位圖按鈕
第十一章 Wind0ws消息處理和多線程編程
11.1Windows消息處理
11.1.1單線程程序處理消息的過程
11.1.2交出控制
11.1.3計(jì)時(shí)器
11.1.4EX11A示例程序
11.2空狀態(tài)處理
11.3多線程編程
11.3.1編寫輔助線程函數(shù)和啟動(dòng)線程
11.3.2主線程如何和輔助線程通話
11.3.3輔助線程如何和主線程通話
11.3.4EX11B示例程序
11.3.5用事件使線程同步
11.3.6EX11C示例程序
11.3.7線程阻塞
11.3.8排斥區(qū)
11.3.9互斥體(mutex)和信號(hào)
11.3.10用戶界面線程(UI線程)
第三部分 文檔-視圖結(jié)構(gòu)
第十二章 菜單、鍵盤加速鍵、復(fù)文本編輯控件和屬性表
12.1主框架窗口和文檔類
12.2Windows的菜單
12.3鍵盤加速鍵
12.4命令處理
12.4.1派生類中的命令消息控制
12.4.2更新命令用戶界面消息控制函數(shù)
12.4.3對(duì)話框發(fā)送的命令
12.5應(yīng)用程序框架的內(nèi)含菜單項(xiàng)
12.6菜單項(xiàng)的允許/禁用
12.7MFC文本編輯選擇
12.7.1CE出tView類
12.7.2CRichEditView類
12.7.3CRichEditCtrl類
12.8ex12A示例程序
12.9屬性表
12.9.1創(chuàng)建屬性表
12.9.2屬性表數(shù)據(jù)交換
12.10改進(jìn)EX12A示例程序
12.11Apply按鈕的處理過程
12.12CMenu類
12.13創(chuàng)建浮動(dòng)的彈出式菜單
12.14擴(kuò)展命令處理
第十三章 工具欄和狀態(tài)欄
13.1控制欄和應(yīng)用程序框架
13.2工具欄
13.2.1工具欄位圖
13.2.2按鈕的狀態(tài)
13.2.3工具欄和命令消息
13.2.4工具欄更新命令UI消息控制函數(shù)
13.3工具提示
13.4尋找主框架窗口
13.5EX13A工具欄示例程序
13.6狀態(tài)欄
13.6.1狀態(tài)欄的定義
13.6.2信息行
13.6.3狀態(tài)指示器
13.6.4獲得對(duì)狀態(tài)欄的控制
13.7EX13B狀態(tài)欄示例程序
第十四章 可重用框架窗口基類
14.1為什么可重用基類難以設(shè)計(jì)
14.2CPersistentFrame類
14.3CFrameWnd類和ActivateFrame成員函數(shù)
14.4PreCreateWindow成員函數(shù)
14.5Windows注冊(cè)表
14.6使用CString類
14.7最大化窗口的位置
14.8控制欄狀態(tài)和注冊(cè)表
14.9靜態(tài)數(shù)據(jù)成員
14.10默認(rèn)窗口矩形
14.11EX14A示例程序
14.12MDI應(yīng)用程序中的持續(xù)框架
第十五章 文檔與視圖的分離
15.1文檔-視圖之間的相互作用函數(shù)
15.1.1CView∷GetDocument函數(shù)
15.1.2CDocumeat∷UpdateAllViews 函數(shù)
15.1.3CView∷OnUpdate函數(shù)
15.1.4CView∷OnInitialUpdate函數(shù)
15.1.5CDocument∷OnNewDocument函數(shù)
15.2最簡(jiǎn)單的文檔-視圖應(yīng)用程序
15.3CFormViiew類
15.4CObject類
15.5診斷信息轉(zhuǎn)儲(chǔ)
15.5.1TRACE宏
15.5.2atxDump對(duì)象
15.5.3信息轉(zhuǎn)儲(chǔ)環(huán)境及CObjct類
15.5.4未被刪除對(duì)象的自動(dòng)信息轉(zhuǎn)儲(chǔ)
15.6EX15A示例程序
15.7更加高級(jí)的文檔-視圖之間的相互作用
15.8CDocument∷DeleteContents函數(shù)
15.9CObList集合類
15.9.1對(duì)先人先出列表使用CObList類
15.9.2在COblIst中進(jìn)行迭代――POSITION變量
15.9.3CTypedPtrList模板集合類
15.9.4信息轉(zhuǎn)儲(chǔ)環(huán)境及集合類
15.10 EX15B示例程序
15.10.1資源要求
15.10.2代碼要求
15.10.3CStudentDoc
15.10.4CStudentView
15.10.5測(cè)試EX15B應(yīng)用程序
15.11留給讀者的兩個(gè)練習(xí)
第十六章 讀和寫文檔――SDI應(yīng)用程序
16.1什么是序列化
16.1.1磁盤文件和歸檔(Archives)
16.1.2使類可序列化
16.1.3編寫Serialize函數(shù)
16.1.4 從歸檔中載人――內(nèi)嵌對(duì)象和指針
16.1.5使集合序列化
16.1.6Serialize函數(shù)和應(yīng)用程序框架
16.2SDI應(yīng)用程序
16.2.1Windows應(yīng)用程序?qū)ο?br />16.2.2文檔模板類
16.2.3文檔模板資源
16.2.4SDI文檔的多視圖
16.2.5創(chuàng)建空文檔――CWinApp∷OnFileNew函數(shù)
16.2.6文檔類的OnNewDocument函數(shù)
16.2.7連接FileOpe n與序列化代碼――OnFileOpen函數(shù)
16.2.8文檔類的DeleteContents函數(shù)
16.2.9將FileSave和FileSaveAs與序列化代碼相連接
16.2.10 文檔的“臟”標(biāo)志
16.3EX16A――序列化SDI示例程序
16.3.1CStudent
16.3.2CEx16aApp
16.3.3CFrameWnd
16.3.4CStudentDoc
16.3.5cStudentView
16.3.6測(cè)試EX16A應(yīng)用程序
16.4從Explorer啟動(dòng)及拖放
16.4.1程序注冊(cè)
16.4.2在文檔上雙擊鼠標(biāo)
16.4.3允許拖放
16.4.4程序啟動(dòng)參數(shù)
16.4.5試驗(yàn)用Explorer啟動(dòng)程序及拖放功能
第十七章 讀和寫文檔――MDI應(yīng)用程序
17.1MDI應(yīng)用程序
17.1.1一個(gè)典型的具有MFC庫(kù)風(fēng)格的MDI應(yīng)用程序
17.1.2MDI應(yīng)用程序?qū)ο?br />17.1.3MDI文檔模板類
17.1.4MDI框架窗口和MDI子窗口
17.1.5主框架和文檔模板資源
17.1.6創(chuàng)建空文檔――CWinApp OnFileNew函數(shù)
17.1.7為現(xiàn)有文檔創(chuàng)建新的視圖
17.1.8載人和存儲(chǔ)文檔
17.1.9多文檔模板
17.1.10Explorer啟動(dòng)及拖放
17.2EX17A示例程序
17.2.1CEx17aApp
17.2.2CMainFrame
17.2.3CChildFrame
17.2.4 測(cè)試EX17A應(yīng)用程序
第十八章 打印和打印預(yù)覽
18.1Windows的打印
18.1.1標(biāo)準(zhǔn)打印對(duì)話框
18.1.2交互選擇打印頁(yè)碼
18.1.3顯示頁(yè)和打印頁(yè)
18.2打印預(yù)覽
18.3有關(guān)打印機(jī)的程序設(shè)計(jì)
18.3.1打印機(jī)設(shè)備環(huán)境和CViewOnDraw函數(shù)
18.3.2CView OnPrint函數(shù)
18.3.3準(zhǔn)備設(shè)備環(huán)境――CView OnPrePareDC函數(shù)
18.3.4打印任務(wù)的開始和結(jié)束
18.4EX18A示例程序――一個(gè)所見即所得的打印程序
18.5讀取打印機(jī)矩形框
18.6再看模板集合類――CArray類
18.7EX18B示例程序――多頁(yè)打印程序
第十九章 切分窗口和多視圖
19.1切分窗口
19.2多視圖選擇
19.3動(dòng)態(tài)和靜態(tài)切分窗口
19.4EX19A示例程序――具有單個(gè)視圖類的SDI動(dòng)態(tài)切分
19.4.1與切分有關(guān)的資源
19.4.2CMainFrame
19.4.3測(cè)試EX19A應(yīng)用程序
19.5EX19B示例程序――雙視圖類SDI靜態(tài)切分
19.5.1CHexView
19.5.2CMainFrame
19.5.3測(cè)試EX19B應(yīng)用程序
19.6EX19C示例程序――切換沒有切分的視圖類
19.6.1資源要求
19.6.2CMainFrame
19.6.3測(cè)試Ex19C應(yīng)用程序
19.7Ex19D示例程序――多視圖類MDI應(yīng)用程序
19.7.1資源要求
19.7.2CEx19dApp
19.7.3CMainFrame
19.7.4測(cè)試EX19D應(yīng)用程序
第二十章 上下文相關(guān)幫助
20.1Windows 的WinHe lp程序
20.1.1復(fù)文本格式(RTF)
20.1.2編寫簡(jiǎn)單的幫助文件
20.1.3改進(jìn)的TableOfContents
20.2應(yīng)用程序框架與WinHelp
20.2.1調(diào)用WinHelp
20.2.2使用搜索字符串
20.2.3從應(yīng)用程序的菜單調(diào)用WinHelp
20.2.4幫助上下文別名
20.2.5確定幫助上下文
20.2.6F1幫助
20.2.7Shift-F1幫助
20.2.8消息框幫助――AfxMessageBox 函數(shù)
20.2.9一般的幫助
20.3幫助示例――不需要任何編程
20.4MAKEHEL處理
20.5幫助命令處理
20.5.1F1處理過程
2.5.2Shift-F1處理過程
20.6幫助命令處理示例程序――EX20 B
20.6.1頭文件要求
20.6.2CStringView
20.6.3CHexView
20.6.4資源要求
20.6.5幫助文件要求
20.6.6測(cè)試EX20B應(yīng)用程序
第二十一章 動(dòng)態(tài)連接庫(kù)
21.1基本DLL理論
21.1.1導(dǎo)人如何與導(dǎo)出相匹配
21.1.2隱式連接和顯式連接
21.1.3符號(hào)連接和序號(hào)連接
21.1.4DLL人口點(diǎn)――DllMain
21.1.5實(shí)例句柄――裝載資源
21.1.6客戶程序如何找到DLL
21.1.7調(diào)試DLL
21.2MFcDLL――擴(kuò)展的和正規(guī)的
21.2.1共享的MFCDLL和WindowsDLL
21.2.2MFC擴(kuò)展DLL――導(dǎo)出類
21.2.3MFC擴(kuò)展DLL資源搜索的順序
21.2.4EX21A示例程序――MFC擴(kuò)展DLL
21.2.5EX21B示例程序――DLL測(cè)試客戶程序
21.2.6MFC正規(guī)DLL――CWinApp派生類
21.2.7使用AFX_MANAGE_STATE宏
21.2.8MFC正規(guī)DLL資源搜索順序
21.2.9EX21C示例程序――MFC正規(guī)DLL
21.2.10修改EX21B示例程序――加入代碼以測(cè)試ex21c.dll
21.3自定義控件DLL
21.3.1什么是自定義控件
21.3.2自定義控件的窗口類
21.3.3MFC庫(kù)和WndProc函數(shù)
21.3.4自定義控件通知消息
21.3.5發(fā)送給控件的用戶定義消息
21.3.6EX2 1D示例程序――自定義控件
21.3.7再修改EX2 1B示例程序――加入代碼以測(cè)試ex21d.dll
第二十二章 不帶文檔或視圖類的MFC程序
22.1EX22A示例程序――一個(gè)基于對(duì)話框的應(yīng)用程序
22.1.1應(yīng)用程序類InitInstance函數(shù)
22.1.2對(duì)話框類和程序圖標(biāo)
22.2EX22B示例――一個(gè)SDI應(yīng)用程序
22.2.1應(yīng)用程序類InitInstance函數(shù)
22.2.2CMainFrame類
22.3EX22C示例程序――一個(gè)MDI應(yīng)用程序
22.3.1應(yīng)用類程序InitInstance函數(shù)
22.3.2CMainFrame類
22.3.3CChildFrame類
22.3.4資源要求
22.4定制(Custom)AppWizard
第四部分 ActiveX:組件對(duì)象模型、自動(dòng)化和OLE
第二十三章 組件對(duì)象模型
23.1ActiveX技術(shù)背景
23.2組件對(duì)象模型(COM)
23.2.1COM所解決的問題
23.2.2COM的本質(zhì)
23.2.3什么是COM接口
23.2.4IUnknown接口和QueryInterface成員函數(shù)
23.2.5引用計(jì)數(shù):AddRdf和Release函數(shù)
23.2.6類廠(classfactory)
23.2.7CCmdTarget類
23.2.8EX23A示例程序――一個(gè)模擬的COM
23.3MFC庫(kù)中實(shí)際的COM
23.3.1COM的CoGetClassObject函數(shù)
23.3.2COM和Windows注冊(cè)表
23.3.3運(yùn)行時(shí)對(duì)象注冊(cè)
23.3.4COM客戶程序如何調(diào)用進(jìn)程內(nèi)組件
23.3.5COM客戶程序如何調(diào)用進(jìn)程外組件
23.3.6MFC接口宏
23.3.7MFC的COleObjectFactory類
23.3.8AppWizard/ClassWizard對(duì)COM進(jìn)程內(nèi)組件的支持
23.3.9MFCCOM客戶程序
23.3.10EX23B示例程序――MFCCOM進(jìn)程內(nèi)組件
23.3.11EX23C示例程序――MFCCOM客戶
23.4包容、集合和繼承
第二十四章 自動(dòng)化
24.1C++與VisualBasicforApplications(VBA)之間的連接
24.2自動(dòng)化客戶和自動(dòng)化組件
24.3MicrosoftExcel――一種比VisualBasic還好的VisualBasic
24.4屬性(property)、方法(method)和集合
24.5自動(dòng)化所解決的問題
24.6IDispatch接口
24.7自動(dòng)化程序設(shè)計(jì)的選擇
24.8MFCIDispatch的實(shí)現(xiàn)
24.9一個(gè)MFC自動(dòng)化組件
24.10一個(gè)MFC自動(dòng)化客戶程序
24.11使用編譯器#import指令的自動(dòng)化客戶程序
24.12VARIANT類型
24.13COleVariant類
24.14Invoke的參數(shù)和返回值的類型轉(zhuǎn)換
24.15自動(dòng)化示例
24.15.1EX24A自動(dòng)化組件EXE示例――不帶任何用戶界面
24.15.2EX24B自動(dòng)化組件DLL示例程序
24.15.3EX24CSDI自動(dòng)化組件EXE示例――帶用戶界面
24.15.4EX24D自動(dòng)化客戶示例程序
24.15.5EX24E自動(dòng)化客戶示例程序
24.16VBA早綁定
24.16.1注冊(cè)類型庫(kù)
24.16.2組件如何注冊(cè)自己的類型庫(kù)
24.16.3ODL文件
24.16.4Excel如何使用類型庫(kù)
24.16.5為什么使用早綁定
24.16.6客戶-組件的快速連接
第二十五章 統(tǒng)一數(shù)據(jù)傳輸――剪貼板傳輸以及OL拖放
25.1IDataO bject接口
25.2IDataObject如何增強(qiáng)標(biāo)準(zhǔn)剪貼板的支持
25.3FORMATETC和STGMEDIUM結(jié)構(gòu)
25.3.1FORMATETC
25.3.2STGMEDTUM
25.3.3IDataObject接口成員函數(shù)
25.4MFC統(tǒng)一數(shù)據(jù)傳輸支持
25.4.1COleDataSource類
25.4.2COleDataObject類
25.4.3MFC數(shù)據(jù)對(duì)象剪貼板傳輸
25.5MFCCRectTracker類
25.5.1CRectTracker類成員函數(shù)
25.5.2CRectTracker類矩形坐標(biāo)轉(zhuǎn)換
25.6EX25A示例程序――數(shù)據(jù)對(duì)象剪貼板
25.6.1CMainFrame類
25.6.2CE25aDoc類
25.6.3CEx25aView類
25.7MFC拖放
25.7.1傳輸?shù)脑捶?br />25.7.2傳輸?shù)哪繕?biāo)方
25.7.3拖放的順序
25.8EX25B示例程序――OLE拖放
25.8.1CEx25bDoc類
25.8.2CEx25bView類
25.9Windows應(yīng)用程序和拖放――Dobjview
第二十六章 結(jié)構(gòu)化存儲(chǔ)
26.1復(fù)合文件
26.2存儲(chǔ)(Storage)和IStorage接口
26.2.1獲取IStorage指針
26.2.2釋放STATSTG內(nèi)存
26.2.3對(duì)存儲(chǔ)對(duì)象的元素進(jìn)行枚舉
26.2.4進(jìn)程間共享存儲(chǔ)
26.3流(Stream)和IStream接口
26.3.1IStream接口成員函數(shù)
26.3.2IStream編程
26.4ILockBytes接口
26.5EX26A示例程序――結(jié)構(gòu)化存儲(chǔ)
26.5.1菜單
26.5.2CEx26aView類
26.5.3輔助線程
26.6結(jié)構(gòu)化存儲(chǔ)和持久COM對(duì)象
26.6.1IPersistStorage 接口
26.6.2IPersistStream接口
26.6.3IpersistStream編程
26.7EX2 6B示例程序――一個(gè)持久DLL組件
26.8EX26C示例程序――一個(gè)持久存儲(chǔ)客戶程序
26.9復(fù)合文件碎片的處理
26.10復(fù)合文件的其他優(yōu)點(diǎn)
第二十七章 OLE嵌入組件和包容器
27.1嵌入和實(shí)地激活(可視編輯)
27.2最小服務(wù)器和完備服務(wù)器(組件)――鏈接
27.3可視編輯前景暗淡的一面
27.4Windows 圖元文件和內(nèi)嵌對(duì)象
27.5組件程序的MFCOLE結(jié)構(gòu)
27.6EX27A示例程序――MFC實(shí)地激活最小服務(wù)器
27.6.1MDI嵌入組件
27.6.2實(shí)地組件調(diào)整大小的思路
27.7包容器-組件相互作用
27.7.1使用組件的IOleObject接口
27.7.2裝人和保存組件自身的數(shù)據(jù)――組件文檔
27.7.3剪貼板數(shù)據(jù)傳輸
27.7.4獲得組件的圖元文件
27.7.5進(jìn)程內(nèi)控制器的角色
27.8組件狀態(tài)
27.8.1包容器接口
27.8.2通報(bào)連接
27.8.3剪貼板圖元文件
27.9接口簡(jiǎn)要說(shuō)明
27.9.1IOleObject接口
27.9.2IViewObject2接口
27.9.3IOleClientSite接口
27.9.4IAdviseSink接口
27.10OLE輔助函數(shù)
27.11OLE嵌入包容器應(yīng)用程序
27.11.1MFC對(duì)OLE包容器的支持
27.11.2一些包容器限制
27.11.3包容器特性
27.12EX27B示例程序――嵌入包容器
27.12.1CEx27bView類
27.12.2CEx27bDoc類
27.13 EX27C示例程序――OLE嵌入組件
27.13.1CEx27cView類
27.13.2CEx27cDoc類
第五部分 數(shù)據(jù)庫(kù)管理
第二十八章 MicrosoftODBC數(shù)據(jù)庫(kù)管理
28.1數(shù)據(jù)庫(kù)管理的優(yōu)勢(shì)
28.2結(jié)構(gòu)化查詢語(yǔ)言
28.3ODBC標(biāo)準(zhǔn)
28.3.1ODBC結(jié)構(gòu)
28.3.2ODBCDK編程
28.4MFCODBC類――CRecordset和CDatabase
28.4.1記錄集中關(guān)于行的計(jì)數(shù)
28.4.2處理odbc異常
28.5學(xué)生注冊(cè)數(shù)據(jù)庫(kù)
28.6EX28A記錄集示例程序
28.7Ex28A示例程序中的元素
28.7.1記錄集類與應(yīng)用程序之間的連接
28.7.2CEx28aView類的OnInitialUpdate成員函數(shù)
28.7.3CEx28aView類的OnDraw成員函數(shù)
28.8篩選器和排序字符串
28.9連接兩個(gè)數(shù)據(jù)庫(kù)表
28.10MFCCRecordView類
28.11EX28B記錄查看示例程序
28.12多記錄集
28.12.1EX28C多記錄集示例程序
28.12.2參數(shù)化查詢
28.13ODBC多線程
28.14大批行數(shù)據(jù)獲?。╞ulkrow fetch)
28.15使用不帶綁定的記錄集
第二十九章 MicrosoftDataAccessObjbjects數(shù)據(jù)庫(kù)管理
29.1DAO、COM和MicrosoftJet數(shù)據(jù)庫(kù)引擎
29.2DAO和VBA
29.3DAO和MFC
29.4利用DAO可以打開什么樣的數(shù)據(jù)庫(kù)
29.5按ODBC模式使用DAO――快照和動(dòng)態(tài)集
29.6DAO表類型記錄集
29.7DAOQue ryDef和TableDef
29.8DAO多線程情況
29.9在滾動(dòng)窗口中顯示數(shù)據(jù)庫(kù)的行
29.9.1滾動(dòng)顯示方法
29.9.2一個(gè)行-視圖類
29.9.3基類和派生類的分工處理
29.9.4CRowView的純虛成員函數(shù)
29.9.5其他的CRowView函數(shù)
29.10 動(dòng)態(tài)記錄集的編程
29.11EX29A示例程序
29.11.1CEx29aApp
29.11.2CMainFrame和CChildFrame
29.11.3CEx29aDoc
29.11.4CEx29aView
29.11.5CTableSelect
29.11.6CIsamSelect
29.12EX29A資源文件
29.13運(yùn)行EX29A程序
第六部分 Interne t程序設(shè)計(jì)
第三十章 TCP/IP、Winsock和WinInet
30.1既針對(duì)COM也可以不需要COM
30.2Internet基礎(chǔ)
30.2.1網(wǎng)絡(luò)協(xié)議――層
30.2.2Internet協(xié)議
30.2.3用戶報(bào)文協(xié)議
30.2.4IP地址格式――網(wǎng)絡(luò)字節(jié)順序
30.2.5傳輸控制協(xié)議
30.2.6域名系統(tǒng)
30.2.7HTTP基礎(chǔ)
30.2.8FTP基礎(chǔ)
30.2.9Internet和Intranet
30.3建立自己的價(jià)值$99的Intranet
30.3.1NT文件系統(tǒng)和文件分配表
30.3.2網(wǎng)絡(luò)硬件
30.3.3對(duì)Windows進(jìn)行網(wǎng)絡(luò)配置
30.3.4Intranet的主機(jī)名――HOSTS文件
30.3.5測(cè)試Intranet――Ping程序
30.3.6只有一臺(tái)計(jì)算機(jī)的Intranet――TCP/IP環(huán)形地址
30.4Winsock
30.4.1同步和異步Winsock編程
30.4.2MFCWinsock類
30.4.3BlockingSocket類
30.4.4一個(gè)簡(jiǎn)化了的HrTP服務(wù)器程序
30.4.5一個(gè)簡(jiǎn)化了的HTTP客戶端程序
30.5用CHttpBlockingSocket創(chuàng)建一個(gè)Web服務(wù)器程序
30.5.1EX30A服務(wù)器限制
30.5.2Ex30A服務(wù)器結(jié)構(gòu)
30.5.3使用Win32TransmitFile函數(shù)
30.5.4編譯和測(cè)試EX30A
30.5.5使用Telnet
30.6用CHttpBlockingSocket創(chuàng)建一個(gè)Web客戶端程序
30.6.1EX30AWinsock客戶
30.6.2EX30A對(duì)代理服務(wù)器的支持
30.6.3測(cè)試EX30AWinsock客戶
30.7WinInet
30.7.1WinInet相對(duì)于Winsock的優(yōu)勢(shì)
30.7.2MFCWinInet類
30.7.3Intenet會(huì)話狀態(tài)回調(diào)
30.7.4一個(gè)簡(jiǎn)化了的WinInet客戶程序
30.8用MFcWinInet類創(chuàng)建一個(gè)Web客戶
30.8.1Ex30AWinInetClient #1――使用CHttpConnection
30.8.2測(cè)試WinInetClient#1
30.8.3EX3 OAWinInetClient #2――使用OpenURL
30.8.4測(cè)試WinInetClient#2
30.9異步Moniker文件
30.9.1Moniker
30.9.2MFCCAsyncMonikerFile類
30.9.3在程序中使用CAsyncMonikerFile類
30.9.4 異步moniker文件和WinInet編程
第三十一章 MicrosoftInternetInformationServer編程
31.1IIs的替代產(chǎn)品
31.2MicrosoftIIS
31.2.1安裝和控制IIS
31.2.2運(yùn)行InternetServiceManager
31.2.3IIS的安全性
31.2.4IIS目錄
31.2.5IIS日志記錄
31.2.6測(cè)試IIS
31.3ISAPI服務(wù)器擴(kuò)展
31.3.1通用網(wǎng)關(guān)接口和ISAPI
31.3.2一個(gè)簡(jiǎn)單的ISSAPI服務(wù)器擴(kuò)展GET請(qǐng)求
31.3.3HTML窗體――GEt和POST
31.3.4編寫ISAPI服務(wù)器擴(kuò)展DLL
31.3.5MFCISAPI服務(wù)器擴(kuò)展類
31.4一個(gè)實(shí)際的ISAPI服務(wù)器擴(kuò)展――ex31a.dll
31.4.1第一步――獲取定單
31.4.2第二步――處理確認(rèn)窗體
31.4.3編譯并測(cè)試ex31a.dll
31.4.4調(diào)試EX31ADLL
31.5ISAPI數(shù)據(jù)庫(kù)訪問
31.6使用HTTPCookie來(lái)連接事務(wù)
31.6.1Cookie如何工作
31.6.2ISAPI服務(wù)器擴(kuò)展如何處理Cookie
31.6.3使用cookie的一些問題
31.7WWW鑒定
31.7.1基本鑒定
31.7.2WindowsNT問訊/應(yīng)答鑒定
31.7.3安全套接字層(SSL)
31.8ISAPI過濾器
31.8.1編寫ISAPI過濾器DLL
31.8.2MFCISAPI過濾器類
31.9ISAPI過濾器示例――ex3lb.dll、ex3lc.exe
31.9.1選擇通知
31.9.2把事務(wù)數(shù)據(jù)發(fā)送到顯示程序
31.9.3顯示程序
31.9.4 編譯并測(cè)試EX31BISAPI過濾器
第三十二章 ActiveX文檔服務(wù)器和Internet
32.1ActiveX文檔理論
32.1.1ActiveX文檔服務(wù)器和OLE嵌入服務(wù)器
32.1.2從IE3中運(yùn)行ActiveX文檔服務(wù)器
32.1.3ActiveX文檔服務(wù)器和ActiveX控件
32.1.4ActiveX文檔服務(wù)器和包容器的OLE接口
32.1.5MFC對(duì)ActiveX文檔服務(wù)器的支持
32.2ActiveX文檔服務(wù)器示例程序EX32A
32.2.1EX32A第一階段――簡(jiǎn)單的服務(wù)器
32.2.2調(diào)試ActiveX文檔服務(wù)器
32.2.3Ex32A第二階段――加入WinInet調(diào)用
32.3ActiveX文檔服務(wù)器示例程序EX32B
32.3.1在程序控制下產(chǎn)生POST請(qǐng)求
32.3.2EX32B視圖類
32.3.3編譯并測(cè)試EX32B
32.3.4ActiveX文檔服務(wù)器和VBScript
32.4進(jìn)一步使用ActiveX文檔服務(wù)器
附錄A Microsoft基本類(MFc)庫(kù)中的消息映射函數(shù)
附錄B MFC庫(kù)運(yùn)行時(shí)類識(shí)型和動(dòng)態(tài)對(duì)象創(chuàng)建

圖書封面

圖書標(biāo)簽Tags

無(wú)

評(píng)論、評(píng)分、閱讀與下載


    Visual C++ 技術(shù)內(nèi)幕(第四版) PDF格式下載


用戶評(píng)論 (總計(jì)0條)

 
 

 

250萬(wàn)本中文圖書簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7