注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計C/C++及其相關(guān)Visual C++技術(shù)內(nèi)幕:第四版

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

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

定 價:¥96.00

作 者: (美)David J.Kruglinski著;潘愛民,王國印譯
出版社: 清華大學(xué)出版社
叢編項: 微軟版權(quán)圖書
標(biāo) 簽: VC++

ISBN: 9787302032434 出版時間: 1999-01-01 包裝: 平裝
開本: 26cm 頁數(shù): 814 字?jǐn)?shù):  

內(nèi)容簡介

  正如本書的目錄中所列出的那樣,本書主要包括六大部分和附錄。第一部分:Windows、VisualC++和應(yīng)用程序框架基礎(chǔ)在這部分中,既有理論闡述,又有實際應(yīng)用,我力求使這兩者達(dá)到一種平衡。在這部分中,我對Win32和VisualC++的基本組成作了一番評論,進(jìn)而逐步將應(yīng)用程序框架以及文檔-視圖結(jié)構(gòu)(document::viewarchitecture)展現(xiàn)在讀者面前。同時,在這部分中還給出了一個通過MFC類庫中的類來構(gòu)造的簡單的“Hello,world!”程序,該程序只需30行代碼。第二部分:MFC庫中的視圖類在假定讀者已經(jīng)熟悉使用基本的WindowsAPI的前提下,類庫文檔材料簡捷而又完整地介紹了應(yīng)用程序框架的基本元素。在第二部分中,我將把讀者的注意力集中在應(yīng)用程序框架的主要構(gòu)成元素之一::“視圖”(view)上,“視圖”實際上是一個窗口。在這里,我們將從C++和類庫中的類的角度來學(xué)習(xí)和掌握熟練的Windows程序員早已熟知的有關(guān)窗口的一些特性。您還將使用VisualC++工具,而這些工具避免了以前Windows程序員不得不忍耐的一些繁雜的代碼編寫工作。第二部分介紹了很多內(nèi)容,包括用位圖進(jìn)行圖形編程、對話框數(shù)據(jù)交換、ActiveX控件使用、32位內(nèi)存管理,以及多線程編程。其中的練習(xí)將幫助您編寫比較復(fù)雜的基于Windows的程序,但這些程序并沒有充分利用應(yīng)用程序框架的高級特性。第三部分:文檔-視圖結(jié)構(gòu)這一部分介紹了應(yīng)用程序框架的核心::文檔-視圖結(jié)構(gòu)。在這部分中,讀者將會了解什么是“文檔”(document)(在這里,“文檔”并不是指文字處理工作中通常所說的文檔,它有更進(jìn)一步的含義),也將學(xué)習(xí)如何將文檔同第二部分中所介紹的視圖聯(lián)系起來。一旦讀者動手編寫出了一個自己的文檔類,就會禁不住對類庫簡化文件I/0及打印的方式感到非常的驚訝。另外,讀者在這部分中也會接觸到命令消息處理(commandmessageprocessing)、工具欄(toolbar)、狀態(tài)欄(statusbar)、切分框架(splitterframe)以及上下文相關(guān)幫助(context-sensitivehelp)。同時,讀者還將學(xué)習(xí)Windows的多文檔界面(MDI),這是當(dāng)前基于Windows的應(yīng)用程序的標(biāo)準(zhǔn)。第三部分還討論了如何用MFC庫編寫動態(tài)連接庫。您將知道在擴展DLL(extensionDLL)和正規(guī)DLL(regularDLL)之間的區(qū)別。如果您過去習(xí)慣于Win16的DLL,那么請注意在移到Win32時會有一些變化。第四部分:ActiveX:組件對象模型、自動化和OLE要介紹COM不是一本書能夠完成的。第四部分從MFC的角度出發(fā),使您開始學(xué)習(xí)基本的COM理論。接下來您將學(xué)習(xí)Automation(自動化),這是連接C++和VisualBasicforApplications(VBA)的紐帶。您還將熟悉統(tǒng)一數(shù)據(jù)傳輸(uniformdatatransfer)和結(jié)構(gòu)化存儲(structuredstorage),還要學(xué)習(xí)復(fù)合文檔(compounddocument)和嵌入對象(embeddedobject)的基礎(chǔ)知識。第五部分:數(shù)據(jù)庫管理基于Windows的程序常常要訪問大型數(shù)據(jù)庫的信息。VisualC++現(xiàn)在支持兩種獨立的數(shù)據(jù)庫管理方式:OpenDatabaseConnectivity(開放數(shù)據(jù)庫連接性,簡稱為ODBC)和DataAccess0bjects(DAO)。第五部分對每種方式各設(shè)有一章。您將學(xué)習(xí)對這兩種方式的更廣泛的MFC和向?qū)еС?,還將看到在ODBC和DAO之間的相似和不同之處。第六部分:Internet程序設(shè)計這部分是第四版的新內(nèi)容。它從Internet的技術(shù)指南開始,涉及了TCP/IP協(xié)議和Winsock及WinInetAPI。您可以學(xué)到如何為Internet和intranet(內(nèi)聯(lián)網(wǎng))編寫C++服務(wù)端程序和客戶端程序,您還可以學(xué)到如何編寫ISAPIDLL以便擴展MicrosoftInternetInformationServer。附錄附錄A列出了消息映射宏和對應(yīng)的消息控制函數(shù)原型的列表。ClassWizard通常會為您生成這些代碼,但有時您必須手工添加一些宏和函數(shù)條目。附錄B描述了MFC應(yīng)用程序框架的運行時類信息和動態(tài)創(chuàng)建系統(tǒng)。這是獨立于RTTI(runtimetypiinformation,運行時類型信息)的特征,而RTTI現(xiàn)在已經(jīng)成了ANSIC++的一部分。

作者簡介

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

圖書目錄

  前    言
  第一部分  Windows、Visual C++和應(yīng)用程序框架基礎(chǔ)
  第一章  Microsoft Windows和Visual C++
    1.1  Windows的編程模式
    1.1.1  消息處理
    1.1.2  Windows的圖形設(shè)備接口(GDI)
    1.1.3  基于資源的程序設(shè)計
    1.1.4  內(nèi)存管理
    1.1.5  動態(tài)連接庫(DLL)
    1.1.6  Win32應(yīng)用程序編程接口
    1.2  Visual C++的組成
    1.2.1  Microsoft Developer Studio 97和創(chuàng)建過程
    1.2.2  資源編輯器——Workspace Resource View
    1.2.3  C/C++編譯器
    1.2.4  資源編譯器
    1.2.5  連接器
    1.2.6  調(diào)試器
    1.2.7  AppWizard
    1.2.8  C1assWizard
    1.2.9  源程序瀏覽器
    1.2.10  聯(lián)機幫助
    1.2.11  Windows診斷工具
    1.2.12  源代碼控制
    1.2.13  Gallery
    1.2.14  Microsoft基本類庫4.21版
    1.2.15  Microsoft ActiveX模板庫
  第二章  Microsoft基本類庫應(yīng)用程序框架
    2.1  為什么要使用應(yīng)用程序框架
    2.1.1  學(xué)習(xí)曲線
    2.2  什么是應(yīng)用程序框架
    2.2.1  應(yīng)用程序框架和MFC庫
    2.2.2  應(yīng)用程序框架示例
    2.3  MFC庫消息映射
    2.3.1  文檔和視圖
  第二部分  MDC庫中的視圖類
  第三章  從“Hello,world!”著手學(xué)習(xí)AppWizard
    3.1  什么是視圖
    3.2  單文檔界面(SDI)和多文檔界面(MDI)
    3.3  “不做任何事情”的應(yīng)用程序
    3.4  CEx03aView視圖類
    3.5  在視窗內(nèi)繪圖——Windows的圖形設(shè)備接口
    3.5.1  0nDraw成員函數(shù)
    3.5.2  Windows設(shè)備環(huán)境
    3.5.3  往EK03A程序中加入繪制代碼
    3.6  資源編輯器簡介
    3.6.1  ex03a.rc的內(nèi)容
    3.6.2  運行對話框資源編輯器
    3.7  Win32 Debug目標(biāo)和Win32 Release目標(biāo)
    3.8  允許診斷宏
    3.9  對預(yù)編譯頭文件的理解
    3.10  兩種方法運行程序
  第四章  基本事件處理、映射模式和滾動視圖
    4.1  獲取用戶輸入——消息映射函數(shù)
    4.1.1  消息映射
    4.1.2  保存視圖的狀態(tài)—類數(shù)據(jù)成員
    4.1.3  初始化視圖類數(shù)據(jù)成員
    4.1.4  使矩形區(qū)域無效
    4.1.5  Windows的客戶區(qū)域
    4.1.6  CRect,CPoint和CSize類的運算
    4.1.7  一個點是否在矩形內(nèi)
    4.1.8  CRect的LPRECT操作符
    4.1.9  一個點是否在橢圓內(nèi)
    4.2  EX04A示例程序
    4.3  對EX04A使用ClassWizard
    4.3.1  同時使用AppWizard和ClassWizard
    4.4  映射模式
    4.4.1  MM_TEXT映射模式
    4.4.2  “固定比例”映射模式
    4.4.3  “可變比例”映射模式
    4.4.4  坐標(biāo)變換
    4.4.5  EX04B示例程序——轉(zhuǎn)換到MM_HIMETRIC映射模式
    4.5  滾動視窗
    4.5.1  窗口比人們所見到的要大
    4.5.2  滾動條
    4.5.3  滾動方式的選擇
    4.5.4  OnInitialUpdate函數(shù)
    4.5.5  接收鍵盤輸入
    4.5.6  EX04C滾動示例程序
    4.6  其他Windows消息
    4.6.1  WM_CREATE消息
    4.6.2  WM_CLOSE消息
    4.6.3  WM_QUERYENDSESSION消息
    4.6.4  WM_DESTROY消息
    4.6.5  WM_NCDESTROY消息
  第五章  圖形設(shè)備接口(GDI)、顏色及字體
    5.1  設(shè)備環(huán)境類
    5.1.1  顯示設(shè)備環(huán)境類CClienDC和CWindowsDC
    5.1.2  構(gòu)造和析構(gòu)CDC對象
    5.1.3  設(shè)備環(huán)境的狀態(tài)
    5.1.4  CPaint DC類
    5.2  GDI對象
    5.2.1  GDI對象的構(gòu)造與析構(gòu)
    5.2.2  跟蹤GDI對象
    5.2.3  庫存的GDI對象
    5.2.4  GDI選擇的有效期
    5.3  Windows的顏色映射
    5. 3.1  標(biāo)準(zhǔn)視頻圖形陣列(VGA)顯示卡
    5.3.2  256色顯示卡
    5.3.3  16位顏色顯示卡
    5.3.424位顏色顯示卡
    5.4  字體
    5.4.1  字體是GDI對象
    5.4.2  選擇字體
    5.4.3  打印字體
    5.4.4  顯示字體
    5.4.5  顯示器的邏輯英寸和物理英寸
    5.4.6  計算字符高度
    5.5  EX05A示例程序
    5.5.1  EX05A程序的組成元素
    5.6  EX05B程序
    5.6.1  EX05B程序的組成元素
    5.7  EX05C示例程序——再次使用CScrollView
    5.7.1  EX05C程序的組成元素
    5.7.2  CScrollView的SetScaleToFitSize模式
    5.7.3  在滾動視圖中使用邏輯twips映射模式
  第六章  模式對話框和Windows通用控件
    6.1  模式和無模式對話框
    6.2  資源和控件
    6.3  模式對話框的編程
    6.4  包羅萬象的對話框——EX06A示例程序
    6.4.1  創(chuàng)建對話框資源
    6.4.2  C1assWizard和對話框類
    6.4.3  將對話框與視圖相連接
    6.4.4  深入理解EX06A應(yīng)用程序
    6.5  對話框程序的改進(jìn)
    6.5.1  獲得OnOK退出控制
    6.5.2  OnCancel處理
    6.5.3  和滾動條控件掛上鉤
    6.6  控件的標(biāo)識:CWnd指針和控件ID
    6.7  設(shè)置對話框的背景色和其中控件的顏色
    6.8  在對話框窗口內(nèi)繪圖
    6.9  在運行時加入對話框控件
    6.10  利用其他的控件特性
    6.11  Windows通用控件
    6.11.1  進(jìn)度指示器控件
    6.11.2  滑桿條(Trackbar)控件
    6.11.3  微調(diào)按鈕控件
    6.11.4  列表控件
    6.11.5  樹狀控件
    6.11.6  WM_NOTIFY消息
    6.12  EX06B示例程序
    6.13  其他Windows通用控件
  第七章  無模式對話框和Windows通用對話框類
    7.1  無模式對話框
    7.1.1  創(chuàng)建無模式對話框
    7.1.2  用戶定義的消息
    7.1.3  對話框的歸屬
    7.1.4  無模式對話框的例子——EX07A
    7.2  CrormView類——另外一種可供選擇的無模式對話框
    7.3  Windows通用對話框
    7.3.1  直接使用CFileDialog類
    7.3.2  從通用對話框類進(jìn)行派生
    7.3.3  嵌套對話框
    7.3.4  使用CFileDialog的一個例子——EX07B
    7.3.5  CFileDialog的其他可定制特性
  第八章  使用ActiveX控件
    8.1  Activex控件和普通的Windows控件
    8.1.1  普通的Windows控件——參考體系
    8.1.2  Activex控件與普通控件的相同點
    8.1.3  Activex控件與普通控件的不同點——屬性和方法
    8.2  安裝Activex控件
    8.3  日歷控件
    8.4  Activex控件包容器編程
    8.4.1  屬性訪問
    8.4.2  C1assWizard為Activex控件產(chǎn)生的C++類
    8.4.3  AppWizard對ActiveX控件的支持
    8.4.4  C1assWizard和包容器對話框
    8.4.5  對話框類數(shù)據(jù)成員和控件類的用法
    8.4.6  映射ActiveX控件事件
    8.4.7  把ActiveX控件鎖定在內(nèi)存里
    8.5  EX08A示例程序——Activex控件對話框包容器
    8.6  Activex控件在HTML文件中的使用
    8.7  在運行時創(chuàng)建ActiveX控件
    8.8  EX08B示例程序——Web瀏覽器ActiveX控件
    8.9  EX08C示例程序——一個完整的雙窗口瀏覽器
    8.10  圖形屬性
    8.11  約束屬性——改變通知
    8.12  其他的Activex控件
  第九章  Win32內(nèi)存管理
    9.1  進(jìn)程和內(nèi)存空間
    9.1.1  Windows 95進(jìn)程地址空間
    9.1.2  Windows NT進(jìn)程地址空間
    9.2  虛擬內(nèi)存如何工作
    9.3  VirtualAlloc函數(shù)——占用和保留內(nèi)存
    9.4  Windows堆和G1obalAlloc函數(shù)族
    9.5  小內(nèi)存堆,C++的new和delete操作符,_heapmin
    9.6  內(nèi)存映射文件
    9.7  訪問資源
    9.8  管理動態(tài)內(nèi)存的一些提示
    9.9  常量數(shù)據(jù)的優(yōu)化存儲
  第十章  位圖
    10.1  GDI位圖和與設(shè)備無關(guān)的位圖
    10,2  彩色位圖和單色位圖
    10.3  使用GDI位圖
    10.3.1  從資源中裝入GDI位圖
    10.3.2  顯示映射模式的作用
    10.3.3  對位進(jìn)行伸縮處理
    10.3.4  EXl0A示例程序
    10.4  利用位圖改進(jìn)屏幕顯示
    10.4. 1  EXl0B示例程序
    10.4.2  Windows動畫
    10.5  DIB和CDib類
    10.5.1  關(guān)于調(diào)色板編程的術(shù)語
    10.5.2  DIB、象素和顏色表
    10.5.3  BMP文件中DIB的結(jié)構(gòu)
    10.5.4  DIB訪問函數(shù)
    10.5.5  CDib類
    10.5.6  DIB顯示性能
    10.5.7  EXl0C示例程序
    10.6  進(jìn)一步使用DIB
    10.6.1  LoadImage函數(shù)
    10.6.2  DrawDibDraw函數(shù)
    10.7  在按鈕上設(shè)置位圖
    10.7.1  EXl0D示例程序
    10.7.2  進(jìn)一步使用位圖按鈕
  第十一章  Windows消息處理和多線程編程
    11.1  Windows消息處理
    11.1.1  單線程程序處理消息的過程
    11.1.2  交出控制
    11.1.3  計時器
    11.1.4  EX11A示例程序
    11.2  空狀態(tài)處理
    11.3  多線程編程
    11.3.1  編寫輔助線程函數(shù)和啟動線程
    11.3.2  主線程如何和輔助線程通話
    11.3.3  輔助線程如何和主線程通話
    11.3.4  EX11B示例程序
    11.3.5  用事件使線程同步
    11.3.6  EXllC示例程序
    11.3.7  線程阻塞
    11.3.8  排斥區(qū)
    11.3.9  互斥體(mutex)和信號(semaphore)
    11.3.10  用戶界面線程(UI線程)
  第三部分  文檔—視圖結(jié)構(gòu)
  第十二章  菜單、鍵盤加速鍵、復(fù)文本編輯控件和屬性表
    12.1  主框架窗口和文檔類
    12.2  Windows的菜單
    12.3  鍵盤加速鍵
    12.4  命令處理
    12.4.1  派生類中的命令消息控制
    12.4.2  更新命令用戶界面消息控制函數(shù)
    12.4.3  對話框發(fā)送的命令
    12.5  應(yīng)用程序框架的內(nèi)含菜單項
    12.6  菜單項的允許/禁用
    12.7  MFC文本編輯選擇
    12.7.1  CEditView類
    12.7.2  CRichEditView類
    12.7.3  CRichEditCtrl類
    12.8  EXl2A示例程序
    12.9  屬性表
    12.9.1  創(chuàng)建屬性表
    12.9.2  屬性表數(shù)據(jù)交換
    12.10  改進(jìn)EXl2A示例程序
    12.11  Apply按鈕的處理過程
    12.12  CMenu類
    12.13  創(chuàng)建浮動的彈出式菜單
    12.14  擴展命令處理
  第十三章  工具欄和狀態(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.5  EXl3A工具欄示例程序
    13.6  狀態(tài)欄
    13.6.1  狀態(tài)欄的定義
    13.6.2  信息行
    13.6.3  狀態(tài)指示器
    13.6.4  獲得對狀態(tài)欄自
    13.7  EXl3B狀態(tài)欄示例程序
  第十四章  可重用框架窗口基類
    14.1  為什么可重用基類難以設(shè)計
    14.2  CPelsistentFrame類
    14.3  CFrameWnd類和ActivateFrame成員函數(shù)
    14.4  PreCreateWindow成員函數(shù)
    14.5  Window注冊表
    14.6  使用CString類
    14.7  最大化窗口的位置
    14.8  控制欄狀態(tài)和注冊表
    14.9  靜態(tài)數(shù)據(jù)成員
    14.10  默認(rèn)窗口矩形
    14.11  EXl4A示例程序
    14.12  MDI應(yīng)用程序中的持續(xù)框架
  第十五章  文檔與視圖的分離
    15.1  文檔—視圖之間的相互作用函數(shù)
    15.1.1  CView::GetDocument函數(shù)
    15.1.2  CDocumeat::UpdateViews函數(shù)
    15.1.3  CView::OnUpdate函數(shù)
    15.1.4  CView::0nInitialUpdate函數(shù)
    15.1.5  CDocument::0nNewDocument函數(shù)
    15.2  最簡單的文檔—視圖應(yīng)用程序
    15.3  CFormView類
    15.4  C0bject類
    15.5  診斷信息轉(zhuǎn)儲
    15.5.1  TRACE宏
    15.5.2  afxDump對象
    15.5.3  信息轉(zhuǎn)儲環(huán)境及CObject類
    15.5.4  未被刪除對象的自動信息轉(zhuǎn)儲
    15.6  EX15A示例程序
    15.7  更加高級的文檔—視圖之間的相互作用
    15.8  CDocument::Deletdontents函數(shù)
    15.9  C0bList集合類  
    15.9.1  對先入先出列表使用C0bList類
    15.9.2  在CObList中進(jìn)行迭代——POSITION變量
    15.9.3  CTypedPtrList模板集合類
    15.9.4  信息轉(zhuǎn)儲環(huán)境及集合類
    15.10  EX15B示例程序
    15.10.1  資源要求
    15.10.2  代碼要求
    15.10.3  CStudentDoc
    15.10.4  CStudentView
    15.10.5  測試EXl5B應(yīng)用程序
    15.11  留給讀者的兩個練習(xí)
  第十六章  讀和寫文檔———SDI應(yīng)用程序
    16.1  什么是序列化
    16.1.1  磁盤文件和歸檔(Archives)
    16.1.2  使類可序列化
    16.1.3  編寫Selldize函數(shù)
    16.1.4  從歸檔中載入——內(nèi)嵌對象和指針
    16.1.5  使集合序列化
    16.1.6  Serialize函數(shù)和應(yīng)用程序框架
    16.2  SDI應(yīng)用程序
    16.2.1  Windows應(yīng)用程序?qū)ο?br />    16.2.2  文檔模板類
    16.2.3  文檔模板資源
    16.2.4  SDI文檔的多視圖
    16.2.5  創(chuàng)建空文檔——CWinApp::OnFileNew函數(shù)
    16.2.6  文檔類的OnNewDocument函數(shù)
    16.2.7  連接Fi1eOpen與序列化代碼——OnFileOpen函數(shù)
    16.2.8  文檔類的DeleteContents函數(shù)
    16.2.9  將FileSave和FileSave As與序列化代碼相連接
    16.2.10  文檔的“臟”標(biāo)志
    16.3  EXl6A———序列化SDI示例程序
    16.3.1  CSudent
    16.3.2  CEx16aApp
    16.3.3  CFrameWnd
    16.3.4  CStudentDoc
    16.3.5  CShdentView
    16.3.6  測試EXl6A應(yīng)用程序
    16.4  從Explorer啟動及拖放
    16.4.1  程序注冊
    16.4.2  在文檔上雙擊鼠標(biāo)
    16.4.3  允許拖放
    16.4.4  程序啟動參數(shù)
    16.4.5  試驗用Explorer啟動程序及拖放功能
  第十七章  讀和寫文檔———MDI應(yīng)用程序
    17.1  MDI應(yīng)用程序
    17.1.1  一個典型的具有MFC庫風(fēng)格的MDI應(yīng)用程序
    17.1.2  MDI應(yīng)用程序?qū)ο?br />    17.1.3  MDI文檔模板類
    17.1.4  MDI框架窗口和MDI子窗口
    17.1.5  主框架和文檔模板資源
    17. 1.6  創(chuàng)建空文檔——CWinApp::OnFileNew函數(shù)
    17.1.7  為現(xiàn)有文檔創(chuàng)建新的視圖
    17. 1.8  載入和存儲文檔
    17. 1.9  多文檔模板
    17. 1.10  Explorer啟動及拖放
    17.2  EXl7A示例程序
    17. 2.1  CEx17aApp
    17.2.2  CMainFrame
    17. 2.3  CChiLdFrame
    17.2.4  測試EX17A應(yīng)用程序
  露十八章  打印和打印預(yù)覽
    18.1  Windows的打印
    18.1.1  標(biāo)準(zhǔn)打印對話框
    18.1.2  交互選擇打印頁碼
    18.1.3  顯示頁和打印頁
    18.2  打印預(yù)覽
    18.3  有關(guān)打印機的程序設(shè)計
    18.3.1  打印機設(shè)備環(huán)境和CViev::0nDraw函數(shù)
    18.3.2  CView::0nPrint函數(shù)
    18.3.3  準(zhǔn)備設(shè)備環(huán)境——CView::OnPrepareDC函數(shù)
    18。3.4  打印任務(wù)的開始和結(jié)束
    18.4  EX18A示例程序——一個所見即所得的打印程序
    18.5  讀取打印機矩形框
    18.6  再看模板集合類——CArray類
    18.7  EXl8B示例程序——多頁打印程序
  第十九章  切分窗口和多視圖
    19.1  切分窗口
    19.2  多視圖選擇
    19.3  動態(tài)和靜態(tài)切分窗口
    19.4  EXl9A示例程序——具有單個視圖類的SDI動態(tài)切分
    19.4.1  與切分有關(guān)的資源
    19.4.2  CMainFrame
    19.4.3  測試EXl9A應(yīng)用程序
    19.5  EXl9B示例程序——雙視圖類別I靜態(tài)切分
    19.5.1  CHexView
    19.5.2  CMainFrame
    19.5.3  測試賬19B應(yīng)用程序
    19.6  EXl9C示例程序——切換沒有切分的視圖類
    19.6.1  資源要求
    19.6.2  CMainFrame
    19.6.3  測試EXl9C應(yīng)用程序
    19.7  EXl9D示例程序——多視圖類MDI應(yīng)用程序
    19.7.1  資源要求
    19.7.2  CEx19dApp
    19.7.3  CMainFrame
    19.7.4  測試EX19D應(yīng)用程序
  第二十章  上下文相關(guān)幫助
    20.1  Windows的WinHelp程序
    20.1.1  復(fù)文本格式(RTF)
    20.1.2  編寫簡單的幫助文件
    20.1.3  改進(jìn)的Table of Contents
    20.2  應(yīng)用程序框架與WinHelp
    20.2.1  調(diào)用WidHelp
    20.2.2  使用搜索字符串
    20.2.3  從應(yīng)用程序的菜單調(diào)用WinHelp
    20.2.4  幫助上下文別名
    20.2.5  確定幫助上下文
    20.2.6  F1幫助
    20.2.7  Shift—F1幫助
    20.2.8  消息框幫助——AfxMessageBox函數(shù)
    20.2.9  一般的幫助
    20.3  幫助示例——不需要任何編程
    20.4  MAKEHELP處理
    20.5  幫助命令處理
    20.5.1  F1處理過程
    20.5.2  Shift—F1處理過程
    20.6  幫助命令處理示例程序——KK2OB
    20.6.1  頭文件要求
    20.6.2  CStringView
    20.6.3  CHexView
    20.6.4  資源要求
    20.6.5  幫助文件要求
    20.6.6  測試EX20B應(yīng)用程序
  第二十一章  動態(tài)連接庫
    21.1  基本DLL理論
    21.1.1  導(dǎo)入如何與導(dǎo)出相匹配
    21.1.2  隱式連接和顯式連接
    21.1.3  符號連接和序號連接
    21.1.4  DLL入口點——DllMain
    21.1.5  實例句柄——裝載資源
    21.1.6  客戶程序如何找到DLL
    21.1.7  調(diào)試DLL
    21.2  MFC DLL——擴展的和正規(guī)的
    21.2.1  共享的MPC DLL和Windows DLL
    21.2.2  MFC擴展DLL——導(dǎo)出類
    21.2.3  MFC擴展DLL資源搜索的順序
    21.2.4  EX21A示例程序——MFC擴展DLL
    21.2.5  EX21B示例程序——DLL測試客戶程序
    21.2.6  MFC正規(guī)DLL——CWinApp派生類
    21.2.7  使用AFX_MANAGE_STATE宏
    21.2.8  MPC正規(guī)DLL資源搜索順序
    21.2.9  EX21C示例程序——MFC正規(guī)DLL
    21.2.10  修改EX21B示例程序——加入代碼以測試
    21.3  自定義控件DLL
    21.3.1  什么是自定義控件
    21.3.2  自定義控件的窗口類
    21.3.3  MFC庫和WndProc函數(shù)
    21.3.4  自定義控件通知消息
    21.3.5  發(fā)送給控件的用戶定義消息
    21.3.6  EX21D示例程序——自定義控件
    21.3.7  再修改EX21B示例程序——加入代碼以測試
  第二十二章  不帶文檔或視圖類的MFC程序
    22.1  EX22A示例程序——一個基于對話框的應(yīng)用程序
    22.1.1  應(yīng)用程序類InitInstance函數(shù)
    22.1.2  對話框類和程序圖標(biāo)
    22.2  EX22B示例——一個別I應(yīng)用程序
    22.2.1  應(yīng)用程序類InitInstance函數(shù)
    22.2.2  CMainFrame類
    22.3  EX22C示例程序——一個MDI應(yīng)用程序
    22.3.1  應(yīng)用類程序InitInstance函數(shù)
    22.3.2  CMainFrame類
    22.3.3  CChildFrame類
    22.3.4  資源要求
    22. 4  定制(Custom)AppWizard
  第四部分  ActiveX:組件對象模型、自動
  第二十三章  組件對象模型
    23.1  ActiveX技術(shù)背景
    23.2  組件對象模型(COM)
    23.2.1  COM所解決的問題
    23.2.2  COM的本質(zhì)
    23.2.3  什么是COM接口
    23.2.4  IUnknown接口和QueryInterface成員函數(shù)
    23.2.5  引用計數(shù):AddRef和Release函數(shù)
    23.2.6  類廠(c1assfactory)
    23.2.7  CCmdTarget類
    23.2.8  EX23A示例程序——一個模擬的COM
    23.3  MFC庫中實際的COM
    23.3.1  COM的CoGetClassObject函數(shù)
    23.3.2  COM和Windows注冊表
    23.3.3  運行時對象注冊
    23.3.4  COM客戶程序如何調(diào)用進(jìn)程內(nèi)組件
    23.3.5  COM客戶程序如何調(diào)用進(jìn)程外組件
    23.3.6  MFC接口宏
    23.3.7  MFC的CO1dbjectFactory類
    23.3.8  AppWizard/C1assWizard對COM進(jìn)程內(nèi)組件的支持
    23.3.9  MFC COM客戶程序
    23.3.10  EX23B示例程序——MFC COM進(jìn)程內(nèi)組件
    23.3.11  EX23C示例程序——MFC COM客戶
    23.4  包容、集合和繼承
  第二十四章  自動化
    24.1  C++與Visual Basic for Applications(VBA)之間的連接
    24.2  自動化客戶和自動化組件
    24.3  Microsoft Excel———一種比Visual Basic還好的VisualBasic
    24.4  屬性(property)、方法(method)和集合(collection)
    24.5  自動化所解決的問題
    24.6  IDispatch接口
    24.7  自動化程序設(shè)計的選擇
    24.8  MFC IDispatch的實現(xiàn)
    24.9  一個MFC自動化組件
    24.10  一個MFC自動化客戶程序
    24.11  使用編譯器#import指令的自動化客戶程序
    24.12  VARIANT類型
    24.13  C01eVariant類
    24.14  Invoke的參數(shù)和返回值的類型轉(zhuǎn)換
    24.15  自動化示例
    24.15.1  EX24A自動化組件EXE示例——不帶任何用戶界面
    24.15.2  EK24B自動化組件DLL示例程序
    24.15.3  EX24C SDI自動化組件EXE示例——帶用戶界面
    24.15.4  EX24D自動化客戶示例程序
    24.15.5  EX24E自動化客戶示例程序
    24.16  VBA早綁定
    24.16.1  注冊類型庫
    24.16.2  組件如何注冊自己的類型庫
    24.16.3  ODL文件
    24.16.4  Excel如何使用類型庫
    24.16.5  為什么使用早綁定
    24.16.6  客戶—組件的快速連接
  第二十五章  統(tǒng)一數(shù)據(jù)傳輸——剪貼板傳輸以及oI及拖放
    25.1  IDataObject接口
    25.2  IDataObject如何增強標(biāo)準(zhǔn)剪貼板的支持
    25.3  FORMATETC和STGMEDIUM結(jié)構(gòu)
    25.3.1  FORMATETC
    25.3.2  STGMEDIUM
    25.3.3  IDataObject接口成員函數(shù)
    25.4  MFC統(tǒng)一數(shù)據(jù)傳輸支持
    25.4.1  C01eDahlSource類
    25.4.2  C0leabObject類
    25.4.3  MFC數(shù)據(jù)對象剪貼板傳輸
    25.5  MFC CRectTracker類
    25.5.1  CRectTracker類成員函數(shù)
    25.5.2  CRectTracker類矩形坐標(biāo)轉(zhuǎn)換
    25.6  EX25A示例程序——數(shù)據(jù)對象剪貼板
    25.6.1  CMainFrame類
    25.6.2  CEx25aDoc類
    25.6.3  CEx25aView類
    25.7  MFC拖放
    25.7.1  傳輸?shù)脑捶?br />    25.7.2  傳輸?shù)哪繕?biāo)方
    25.7.3  拖放的順序
    25.8  EX25B示例程序——OLE拖放
    25.8.1  CEx25bDoc類
    25.8.2  CEx25View類
    25.9  Windows應(yīng)用程序和拖放——Dobjview
  第二十六章  結(jié)構(gòu)化存儲
    26.1  復(fù)合文件
    26.2  存儲(Storage)和IStorage接口
    26.2.1  獲取IStorage指針
    26.2.2  釋放STATSTG內(nèi)存
    26.2.3  對存儲對象的元素進(jìn)行枚舉
    26.2.4  進(jìn)程間共享存儲
    26.3  流(Stream)和IStream接口
    26.3.1  IStream接口成員函數(shù)
    26.3.2  IStream編程
    26.4  ILockBytes接口
    26.5  EX26A示例程序——結(jié)構(gòu)化存儲
    26.5.1  菜單
    26.5.2  CEx26View類
    26.5.3  輔助線程
    26.6  結(jié)構(gòu)化存儲和持久COM對象
    26.6.1  IPersistStorage接口
    26.6.2  IPersisdStream接口
    26.6.3  IPersistStream編程
    26.7  EX26B示例程序——一個持久DLL組件
    26.8  EX26C示例程序——一個持久存儲客戶程序
    26.9  復(fù)合文件碎片的處理
    26.10  復(fù)合文件的其他優(yōu)點
  第二十七章  OLE嵌入組件和包容器
    27.1  嵌入和實地激活(可視編輯)
    27.2  最小服務(wù)器和完備服務(wù)器(組件)——鏈接
    27.3  可視編輯前景暗淡的一面
    27.4  Windows圖元文件和內(nèi)線對象
    27.5  組件程序的MFC 0LE結(jié)構(gòu)
    27.6  EX27A示例程序——MFC實地激活最小服務(wù)器
    27.6.1  MDI嵌入組件
    27.6.2  實地組件調(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  通報連接
    27.8.3  剪貼板圖元文件
    27.9  接口簡要說明
    27.9.1  IOleObject接口
    27.9.2  IViewObject2接口
    27.9.3  I01eClieHtSite接口
    27.9.4  IAdviseSink接口
    27.10  0LE輔助函數(shù)
    27.11  0LE嵌入包容器應(yīng)用程序
    27.11.1  MFC對LEE包容器的支持
    27.11.2  一些包容器限制
    27.11.3  包容器特性
    27.12  EX27B示例程序——嵌入包容器
    27.12.1  CEx27bView類
    27.12.2  CEx27bDoc類
    27.13  EX27C示例程序——0LE嵌入組件
    27.13.1  CEx27cView類
    27.13.2  CEx27cDDc類
  第五部分  數(shù)據(jù)庫管理
  第二十八章  Microsoft 0DBC數(shù)據(jù)庫管理
    28.1  數(shù)據(jù)庫管理的優(yōu)勢
    28.2  結(jié)構(gòu)化查詢語言
    28.3  0DBC標(biāo)準(zhǔn)
    28.3.1  0DBC結(jié)構(gòu)
    28.3.2  ODBC SDK編程
    28.4  MFC ODBC類——CRecodset和CDah加以
    28.4.1  記錄集中關(guān)于行的計數(shù)
    28.4.2  處理0DBC異常
    28.5  學(xué)生注冊數(shù)據(jù)庫
    28.6  EX28A記錄集示例程序
    28.7  EX28A示例程序中的元素
    28.7.1  記錄集類與應(yīng)用程序之間的連接
    28.7.2  CEx28aView類的0nIntialUpdate成員函數(shù)
    28.7.3  CEX28aView類的OnDraw成員函數(shù)
    28.8  篩選器和排序字符串
    28.9  連接兩個數(shù)據(jù)庫表
    28.10  MFC CRecordView類
    28.11  EX28B記錄查看示例程序
    28.12  多記錄集
    28.12.1  EX28C多記錄集示例程序
    28.12.2  參數(shù)化查詢
    28.13  ODBC多線程
    28.14  大批行數(shù)據(jù)獲取(bulk fetch)
    28.15  使用不帶綁定的記錄集
  第二十九章  Microsoft Data Acces Objects數(shù)據(jù)庫管理
    29.1  DA0、COM和Microsoft數(shù)據(jù)庫引擎
    29.2  DA0和VBA
    29.3  DAO和MFC
    29.4  利用DA0可以打開什么樣的數(shù)據(jù)庫
    29.5  按ODBC模式使用DAO———快照和動態(tài)集
    29.6  DAO表類型記錄集
    29.7  DAOQueryDef和TableDef
    29.8  DAO多線程情況
    29.9  在滾動窗口中顯示數(shù)據(jù)庫的行
    29.9.1  滾動顯示方法
    29.9.2  一個行—視圖類
    29.9.3  基類和派生類的分工處理
    29.9.4  CRowView的純虛成員函數(shù)
    29.9.5  其他的CRowView函數(shù)
    29.10  動態(tài)記錄集的編程
    29.11  EX29A示例程序
    29.11.1  CEx29aApp
    29.11.2  CMainFrame和CChildFrame
    29.11.3  CEx29aDoc
    29.11.4  CEx29aView
    29.11.5  CTableSelect
    29.11.6  CIsamSelect
    29.12  EX29A資源文件
    29.13  運行EX29A程序
  第六部分  Internet程序設(shè)計
  第三十章  TCP/IP、Winsock和WinInet
    30.1  既針對COM也可以不需要COM
    30.2  Internet基礎(chǔ)
    30.2.1  網(wǎng)絡(luò)協(xié)議——層
    30. 2.2  Internet協(xié)議
    30. 2.3  用戶報文協(xié)議
    30.2.4  IP地址格式——網(wǎng)絡(luò)字節(jié)順序
    30.2.5  傳輸控制協(xié)議
    30.2.6  域名系統(tǒng)(Domain Name System)
    30.2.7  HTTP基礎(chǔ)
    30.2.8  FTP基礎(chǔ)
    30.2.9  Internet和Intranet
    30.3  建立自己的價值$99的Intranet
    30.3.1  NT文件系統(tǒng)和文件分配表
    30.3.2  網(wǎng)絡(luò)硬件
    30.3.3  對Windows進(jìn)行網(wǎng)絡(luò)配置
    30.3.4  Intranet的主機名——HOSTS文件
    30.3.5  測試Intranet—Ping程序
    30.3.6  只有一臺計算機的Intranet—TCP/IP環(huán)形地址
    30.4  Winsock
    30.4.1  同步和異步Winsock編程
    30.4.2  MFC Winsock類
    30.4.3  Blocking Socket類
    30.4.4  一個簡化了的HTTP服務(wù)器程序
    30.4.5  一個簡化了的HTTP客戶端程序
    30.5  用CHttpBlockingSocket創(chuàng)建一個Web服務(wù)器程序
    30.5.1  EX30A服務(wù)器限制
    30.5.2  EX30A服務(wù)器結(jié)構(gòu)
    30.5.3  使用Win32TransmitFile函數(shù)
    30.5.4  編譯和測試EX30A
    30.5.5  使用Telnet
    31.4.1  第一步——獲取定單
    31.4.2  第二步——處理確認(rèn)窗體
    31.4.3  編譯并測試ex3la.dl1
    31.4.4  調(diào)試EX31A DLL
    31.5  ISAPI數(shù)據(jù)庫訪問
    31.6  使用HTTP Cookie來連接事務(wù)
    31.6.1  Cookie如何工作
    31.6.2  ISAPI服務(wù)器擴展如何處理Cookie
    31.6.3  使用Cookie的一些問題
    31.7  WWW鑒定
    31.7.1  基本鑒定
    31.7.2  Windows NT問訊/應(yīng)答鑒定
    31.7.3  安全套接字層(SSL)
    31.8  ISAPI過濾器
    31.8.1  編寫ISAPI過濾器DLL
    31.8.2  MFC ISAPI過濾器類
    31.9  ISAPI過濾器示例——exlb.dH、e61c.exe
    31.9.1  選擇通知
    31.9.2  把事務(wù)數(shù)據(jù)發(fā)送到顯示程序
    31.9.3  顯示程序
    31.9.4  編譯并測試EX3lB ISAPI過濾器
  第三十二章  ActiveX文檔服務(wù)器和Internet
    32.1  Activex文檔理論
    32.1.1  ActiveX文檔服務(wù)器和OLE嵌入服務(wù)器
    32.1.2  從IE3中運行Activex文檔服務(wù)器
    32.1.3  Actiex文檔服務(wù)器和Achvex控件
    32.1.4  Activex文檔服務(wù)器和包容器的0M接口
    32.1.5  MFC對Activex文檔服務(wù)器的支持
    32.2  Activex文檔服務(wù)器示例程序D(32A
    32.2.1  EX32A第一階段——簡單的服務(wù)器
    32.2.2  調(diào)試Activex文檔服務(wù)器
    32.2.3  EX32A第二階段——加入WinInet調(diào)用
    32.3  ActiveX文檔服務(wù)器示例程序EX32B
    32.3.1  在程序控制下產(chǎn)生POST請求
    32.3.2  EX32B視圖類
    32.3.3  編譯并測試EX32B
    32.3.4  ActiveX文檔服務(wù)器和VBScript
    32.4  進(jìn)一步使用ActiveX文檔服務(wù)器
  附錄A  Microsoft基本類(MDC)庫中的消息映射函數(shù)
  附錄B  MFC庫運行時類識型和動態(tài)對象創(chuàng)建

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號