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

Microsoft Visual C++ .NET技術(shù)內(nèi)幕

Microsoft Visual C++ .NET技術(shù)內(nèi)幕

定 價(jià):¥106.00

作 者: (美)George Shepherd,(美)David Kruglinski著;潘愛(ài)民譯
出版社: 清華大學(xué)出版社
叢編項(xiàng): 微軟 NET程序員系列
標(biāo) 簽: VC++.NET

ISBN: 9787302089315 出版時(shí)間: 2004-07-01 包裝: 膠版紙
開(kāi)本: 23cm+光盤(pán)1片 頁(yè)數(shù): 920 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  本書(shū)是經(jīng)典的''''VisualC++技術(shù)內(nèi)幕''''的最新版。VisualC++一方面是一個(gè)C++實(shí)現(xiàn),它提供了一個(gè)功能強(qiáng)大的集成開(kāi)發(fā)環(huán)境;另一方面,它提供了一些C++類(lèi)庫(kù),其中最具影響力的當(dāng)然是MFC。隨著VisualC++的發(fā)展,MFC已經(jīng)不是VisualC++中唯一的類(lèi)庫(kù)了,其他還有ATL、STL等。此外,VisualC++還融合了大量的開(kāi)發(fā)工具,特別是與Internet相關(guān)的開(kāi)發(fā)支持。最后,本書(shū)也介紹了VisualC++對(duì).NET的支持。總體而言,本書(shū)涵蓋了當(dāng)前最新的VisualC++的主流技術(shù),既有對(duì)老技術(shù)的繼承和更新,也有對(duì)新技術(shù)的精辟闡述。所以,閱讀本書(shū)可以全面拓寬讀者的知識(shí)面。從這層意義上講,本書(shū)相當(dāng)于VisualC++的百科全書(shū),它濃縮了VisualC++的精華。本書(shū)面向中級(jí)VisualC++程序設(shè)計(jì)人員,并可以作為高年級(jí)計(jì)算機(jī)專(zhuān)業(yè)學(xué)生及軟件學(xué)院學(xué)生的程序設(shè)計(jì)教程。自2000年6月微軟宣布自己的.NET戰(zhàn)略以來(lái),在不到兩年的時(shí)間里,.NET已經(jīng)從戰(zhàn)略變成現(xiàn)實(shí)。.NET帶來(lái)了全新的、快速而敏捷的企業(yè)計(jì)算能力,也給軟件開(kāi)發(fā)商和軟件開(kāi)發(fā)人員提供了支持未來(lái)計(jì)算的高效Web服務(wù)開(kāi)發(fā)工具。作為微軟.NET戰(zhàn)略的重要組成部分:VisualStudio.NET(中文版)已經(jīng)于2002年3月22日正式在中國(guó)推出。VisualStudio.NET是一個(gè)功能強(qiáng)大、高效并且可擴(kuò)展的編程環(huán)境。它充分展現(xiàn)了應(yīng)用程序開(kāi)發(fā)的潛能,并提供了生成應(yīng)用程序所需的工具和技術(shù)。這些應(yīng)用程序?qū)⒔o當(dāng)今的企業(yè)、機(jī)構(gòu)提供強(qiáng)大的支持,并推動(dòng)下一代基于XMLWeb服務(wù)軟件的發(fā)展。有了VisualStudio.NET,那些對(duì)全世界數(shù)百萬(wàn)的專(zhuān)業(yè)和業(yè)余程序員來(lái)說(shuō)曾一度極端復(fù)雜、費(fèi)時(shí)費(fèi)力,甚至讓人望而生畏的編程任務(wù)現(xiàn)在已不再神秘。更重要的是,VisualStudio.NET使開(kāi)發(fā)人員能運(yùn)用既有的技能和知識(shí)來(lái)迎接新的編程挑戰(zhàn)。在10年前,VisualBasic1.0成為數(shù)以百萬(wàn)計(jì)的開(kāi)發(fā)人員的革命性的應(yīng)用程序開(kāi)發(fā)語(yǔ)言?,F(xiàn)在,VisualStudio.NET為未來(lái)的10年做好了準(zhǔn)備。微軟出版社為了配合VisualStudio.NET的推廣以及.NET技術(shù)的普及,邀請(qǐng)VisualStudio.NET項(xiàng)目開(kāi)發(fā)組的核心開(kāi)發(fā)人員和計(jì)算機(jī)圖書(shū)專(zhuān)業(yè)作家精心編寫(xiě)了英文版《微軟.NET程序員系列》叢書(shū);該叢書(shū)自面市以來(lái),在美國(guó)圖書(shū)銷(xiāo)量排行榜上一直高居前列,頗受好評(píng),成為程序開(kāi)發(fā)人員和網(wǎng)絡(luò)開(kāi)發(fā)人員了解.NET技術(shù)的權(quán)威工具書(shū)。尤其是《Microsoft.NETFramework程序設(shè)計(jì)》一書(shū),長(zhǎng)期占據(jù)美國(guó)及歐洲此類(lèi)書(shū)籍的排行榜冠軍位置,程序開(kāi)發(fā)人員不可不讀此書(shū)。清華大學(xué)出版社為了滿足中國(guó)廣大程序開(kāi)發(fā)人員、網(wǎng)絡(luò)開(kāi)發(fā)人員學(xué)習(xí)最新技術(shù)的渴望,在微軟出版社的配合下,從《微軟.NET程序員系列》這套叢書(shū)中精選了40本50余本翻譯成中文,以滿足國(guó)內(nèi)廣大讀者的需要。這套叢書(shū)陣容龐大且在不斷擴(kuò)充之中,幾乎涵蓋了.NET技術(shù)及其應(yīng)用的各個(gè)方面;也正因?yàn)槿绱?,翻譯和編輯加工的工作量也大得驚人。但為了保持國(guó)外優(yōu)秀技術(shù)圖書(shū)的魅力,同時(shí)使讀者領(lǐng)會(huì)新技術(shù)的真諦,本叢書(shū)的翻譯和編輯都是經(jīng)過(guò)嚴(yán)格篩選的、具有很高的翻譯水平或豐富編輯經(jīng)驗(yàn)的技術(shù)人員;另外,我們還聘請(qǐng)微軟公司VisualStudio.NET產(chǎn)品組的技術(shù)專(zhuān)家審讀每一本書(shū),確保在技術(shù)上準(zhǔn)確無(wú)誤。相信這套叢書(shū)定會(huì)幫助程序開(kāi)發(fā)人員、網(wǎng)絡(luò)開(kāi)發(fā)人員以及那些具有一定編程基礎(chǔ)的中、高級(jí)讀者,快速、全面地掌握.NET技術(shù),協(xié)助他們?yōu)榧夹g(shù)生涯的下一個(gè)10年做好準(zhǔn)備,為培養(yǎng)新一代軟件人才,并推動(dòng)中國(guó)軟件產(chǎn)業(yè)的快速發(fā)展起到積極的作用!譯序終于可以松一口氣了,翻譯一本上千頁(yè)的圖書(shū)實(shí)在是一個(gè)不小的工程。想起五年之前我第一次翻譯計(jì)算機(jī)圖書(shū)(本書(shū)的第四版)的時(shí)候,期望借這本書(shū)將自己的編程知識(shí)總結(jié)和回顧一下。時(shí)隔五年之后再翻譯第六版,算?墻サ謀喑嘆橛腫邢傅馗聰傲艘槐?,栽柇覡秤懶,有写夃地方又唤迄O說(shuō)背趺鱒isualC++和MFC時(shí)的那種感覺(jué),因?yàn)槟菚r(shí)摸索得來(lái)的經(jīng)驗(yàn)與本書(shū)中的許多內(nèi)容不謀而合,所以,每每碰到這種地方,總是感覺(jué)特別親切,作為C++程序員的那種掌控一切的豪情油然而生,也真切地希望每一個(gè)VisualC++程序員都能夠掌握這些技術(shù),并享受這種因知識(shí)和技術(shù)而帶來(lái)的人生體驗(yàn)和樂(lè)趣。當(dāng)然,除了懷舊之外,本書(shū)中新增的內(nèi)容又讓我手心發(fā)癢,恨不得回到程序員的角色之中,利用這些新的技術(shù)(特別是.NET和Internet部分)做一個(gè)實(shí)實(shí)在在的項(xiàng)目。一本講解技術(shù)的書(shū)能夠?qū)⒆g者和讀者的情緒帶動(dòng)起來(lái),并且讓他(們)產(chǎn)生親近技術(shù)的欲望,這恐怕正是本書(shū)的魅力所在吧。這幾年來(lái),關(guān)于VisualC++的書(shū)籍多如牛毛,但這本書(shū)一直占據(jù)著最重要的地位,我有幸翻譯了本書(shū)的兩個(gè)重要版本,所以借第六版中文版出版之際,談?wù)勎覍?duì)本書(shū)的一些體會(huì),算是譯序吧。一、本書(shū)與VisualC++的發(fā)展歷程了解本書(shū)歷史的讀者都知道,本書(shū)的開(kāi)創(chuàng)者DavidKruglinski在完成了第四版之后因?yàn)槭鹿噬硗觯院蟮陌姹臼莿e人續(xù)寫(xiě)的。其中,第六版是由GeorgeShepherd(MFCInternals的作者)續(xù)寫(xiě)的,以George對(duì)于MFC和VisualC++的理解深度,以及他的寫(xiě)作經(jīng)驗(yàn)和教學(xué)經(jīng)驗(yàn),新版本只會(huì)增色而不會(huì)遜色。相信讀者在讀過(guò)這本書(shū)之后能夠體會(huì)到這一點(diǎn)。在我手上,除了英文第六版之外,還有本書(shū)的第二版(中文版)、第四版(中文版和英文版)。書(shū)很沉,很有分量,拿在手里沉甸甸的,當(dāng)然更重的是內(nèi)容。關(guān)于本書(shū)具體的內(nèi)容請(qǐng)讀者參看本書(shū)的目錄或者引言部分。這里我想說(shuō)明我對(duì)本書(shū)技術(shù)傾向的看法。VisualC++開(kāi)發(fā)環(huán)境包含哪些內(nèi)容呢?這是被很多人誤解的一個(gè)問(wèn)題。有人把MFC和VisualC++等同起來(lái),也有人把VisualC++和C++混淆起來(lái),實(shí)際上,它們都有明確的分界線,在軟件開(kāi)發(fā)過(guò)程中,它們有各自的含義和用途。VisualC++一方面是一個(gè)C++實(shí)現(xiàn),它提供了一個(gè)功能強(qiáng)大的集成開(kāi)發(fā)環(huán)境;另一方面,它提供了一些C++類(lèi)庫(kù),其中最具影響力的當(dāng)然是MFC。隨著VisualC++的發(fā)展,MFC已經(jīng)不是VisualC++中唯一的類(lèi)庫(kù)了,其他還有ATL、STL等。此外,VisualC++還融合了大量的開(kāi)發(fā)工具,特別是與Internet相關(guān)的開(kāi)發(fā)支持。本書(shū)幾乎涵蓋了所有這些內(nèi)容,所以,閱讀本書(shū)可以拓寬知識(shí)面。從這層意義上講,本書(shū)相當(dāng)于VisualC++的百科全書(shū),它濃縮了VisualC++的精華。MicrosoftVisualC++的版本更新基本上反映了這10年來(lái)Windows平臺(tái)上軟件技術(shù)的發(fā)展歷程。在VisualC++5.0版本之前,一切變化都在伴隨著MFC的成熟與壯大,在此期間VisualC++主要用于開(kāi)發(fā)桌面應(yīng)用程序。到5.0版本之后,MFC已經(jīng)不再是發(fā)展的重點(diǎn),整體的發(fā)展呈多元化趨勢(shì),先是COM技術(shù)的普及,然后是Internet和Web開(kāi)發(fā)技術(shù)的不斷深入,最新版本中又引入了.NET框架的支持。本書(shū)的發(fā)展歷程也反映了VisualC++的技術(shù)路線。在本書(shū)第四版(對(duì)應(yīng)于VisualC++5.0)出版的時(shí)候,桌面應(yīng)用技術(shù)已經(jīng)非常成熟,MFC結(jié)構(gòu)完全定型,同時(shí)COM技術(shù)在Internet應(yīng)用中大行其道,由此產(chǎn)生了一批Active技術(shù),包括ActiveX控件、ASP、ADO、ActiveDocument等。在第四版中我們可以看到關(guān)于這些技術(shù)的講解。(第五版又引入了ATL相關(guān)的一些內(nèi)容。)現(xiàn)在呢,最大的變化,也是最激動(dòng)人心的變化應(yīng)該是.NET架構(gòu)的引入,當(dāng)然也隨之帶來(lái)了一大批新的技術(shù)。從長(zhǎng)遠(yuǎn)的發(fā)展來(lái)看,.NET必將取代現(xiàn)有的大量應(yīng)用技術(shù),但不是所有,另一方面,新的技術(shù)和老的技術(shù)將會(huì)共存相當(dāng)長(zhǎng)的時(shí)間。本書(shū)第六版基本上反映了現(xiàn)在的技術(shù)發(fā)展?fàn)顩r,MFC仍然存在,但是一些新興的用戶界面元素也被更新到MFC中。并且,本書(shū)也全面地討論了COM和相關(guān)的開(kāi)發(fā)支持,包括MFC和ATL對(duì)于COM的支持,這是目前仍然非常實(shí)用的兩項(xiàng)技術(shù)。本書(shū)還討論了針對(duì)Internet的程序設(shè)計(jì)技術(shù),包括MFC對(duì)于Winsock和WinInet的支持,以及DHTML和ATLServer等。最后,本書(shū)也介紹了VisualC++對(duì)于.NET的支持,其中包括托管的C++以及如何用托管的C++來(lái)開(kāi)發(fā)WindowsForms、ASP.NET和ADO.NET應(yīng)用程序。本書(shū)所有這些內(nèi)容涵蓋了當(dāng)前的主流技術(shù),既有對(duì)老技術(shù)的繼承和更新,又有對(duì)新技術(shù)的精辟闡述,所以,通過(guò)這本書(shū)你可以全面地學(xué)習(xí)到這些實(shí)用開(kāi)發(fā)技術(shù)。二、本書(shū)特色和新增內(nèi)容雖然這是一本再版的書(shū),并且有差不多三分之二的內(nèi)容與以前的版本(這里主要指第四版)相同,但是,它仍然有自己的特色以及新增的豐富內(nèi)容。本書(shū)的敘述風(fēng)格基本上沒(méi)有變化,仍然按照以前的模式,既有原理性的說(shuō)明,也有指導(dǎo)性的介紹,還有很好的例子來(lái)幫助理解一些技術(shù)細(xì)節(jié)。并且,本書(shū)在講解的時(shí)候也不啰嗦,與以前的版本相比,本書(shū)的內(nèi)容增加了不少,但是篇幅基本上沒(méi)有明顯的增加。作者對(duì)于前面部分的傳統(tǒng)內(nèi)容有所精簡(jiǎn),以便為后面的內(nèi)容騰出空間。本書(shū)新增的內(nèi)容可以分幾個(gè)方面來(lái)看:1.本書(shū)的前三部分內(nèi)容主要針對(duì)桌面應(yīng)用程序的開(kāi)發(fā),這既是MFC的傳統(tǒng)優(yōu)勢(shì),也是本書(shū)的傳統(tǒng)優(yōu)勢(shì)。我們應(yīng)該可以感受得到,這幾年桌面應(yīng)用技術(shù)還是有了一些變化的,特別是隨著Windows2000/XP的推?觶瘓」躆FC的基本框架保持不變,但是在許多細(xì)微之處還是有了許多新增的界面元素,例如,除了SDI和MDI之外,Windows2000又引入了一種新的界面風(fēng)格:多頂級(jí)窗口界面(MTI)。而且InternetExplorer的新版本更是引入了許多新的UI元素,包括一些擴(kuò)展的控件,以及Rebar等。VisualC++.NET為這些新的特性提供了支持,本書(shū)也介紹了相應(yīng)的編程技術(shù)。2.本書(shū)第四部分介紹了COM、自動(dòng)化、ActiveX和OLE。COM是一項(xiàng)底層的組件技術(shù),這部分介紹了COM的原理,以及MFC和ATL提供的最基本的支持。要想在不到300頁(yè)的篇幅中全面地介紹所有這些技術(shù)是不可能的,但是本書(shū)這一部分中,不僅成功地?cái)⑹隽诉@些基本知識(shí),同時(shí)還介紹了幾項(xiàng)關(guān)鍵應(yīng)用技術(shù),包括自動(dòng)化、統(tǒng)一數(shù)據(jù)傳輸、用ATL來(lái)開(kāi)發(fā)ActiveX控件,以及用OLEDB模板來(lái)開(kāi)發(fā)OLEDB使用者和OLEDB提供者。值得一提的是,除了傳統(tǒng)的C++編程之外,VisualC++.NET還引入了一種新的編程模式,被稱(chēng)為屬性化的編程,用于支持COM組件的開(kāi)發(fā),它的基本思想是,允許C++類(lèi)直接引用COM類(lèi)和COM接口的一些屬性,由編譯器來(lái)解釋這些屬性并產(chǎn)生必要的代碼,從而減輕了程序員在開(kāi)發(fā)COM組件過(guò)程中一些不必要的負(fù)擔(dān)。3.Internet開(kāi)發(fā)是一個(gè)不可錯(cuò)過(guò)的部分。本書(shū)第五部分在介紹MFC對(duì)Winsock和WinInet支持的基礎(chǔ)上,又介紹了動(dòng)態(tài)HTML和ATLServer。請(qǐng)讀者不要將ATLServer與COM聯(lián)系起來(lái),實(shí)際上,ATLServer主要是針對(duì)IIS的一個(gè)開(kāi)發(fā)工具,它被用來(lái)支持對(duì)于IIS服務(wù)器的擴(kuò)展。4.最后一部分介紹Microsoft.NET程序設(shè)計(jì)。這是本書(shū)完全新增的內(nèi)容,雖然.NET的標(biāo)準(zhǔn)語(yǔ)言應(yīng)該是C#,但是VisualC++.NET也提供了全面的支持,它是通過(guò)擴(kuò)展標(biāo)準(zhǔn)C++而實(shí)現(xiàn)的,被稱(chēng)為托管的C++。被托管的代碼將運(yùn)行在.NET的公共語(yǔ)言運(yùn)行時(shí)庫(kù)之上,這是對(duì)組件技術(shù)的新發(fā)展,它使得應(yīng)用程序運(yùn)行在一個(gè)更加完善的管理環(huán)境之中,底層大量的設(shè)施可以被直接使用,并且軟件的發(fā)布和協(xié)作將更加理想。對(duì)于開(kāi)發(fā)人員呢,負(fù)擔(dān)減輕了,他們可以更加關(guān)注于自己的應(yīng)用,而無(wú)需為一些瑣碎的細(xì)節(jié)操心。這一部分首先介紹了.NET中最為核心的公共語(yǔ)言運(yùn)行時(shí)庫(kù),然后介紹了托管C++擴(kuò)展,以及它的編程示例。最后用三章篇幅分別介紹了如何用托管C++來(lái)開(kāi)發(fā)WindowsForms、ASP.NET和ADO.NET應(yīng)用程序。三、如何使用本書(shū)面對(duì)一本涉及面如此廣闊的計(jì)算機(jī)程序設(shè)計(jì)圖書(shū),我們?cè)撊绾蝸?lái)使用呢?要想掌握書(shū)中每一項(xiàng)技術(shù),不僅需要大量的時(shí)間,還需要扎實(shí)的基本功,但是,掌握這些技術(shù)對(duì)于把握現(xiàn)代軟件設(shè)計(jì)環(huán)境又非常有幫助。按照這本書(shū)的內(nèi)容結(jié)構(gòu),讀者當(dāng)然可以有所取舍,但是最好的做法是,首先按順序閱讀一遍,如果有可能的話,對(duì)于其中一些關(guān)鍵例子最好配合在機(jī)器上進(jìn)行實(shí)戰(zhàn)練習(xí)。然后,對(duì)于感興趣的話題可以仔細(xì)鉆研,或者把這本書(shū)當(dāng)作參考書(shū),以后隨時(shí)翻閱。這本書(shū)講解的深度屬于中等程度,讀者最好有一些C++和Windows應(yīng)用開(kāi)發(fā)方面的基礎(chǔ)。對(duì)于書(shū)中講述的每一項(xiàng)技術(shù),本書(shū)也只是起到基本的引導(dǎo)作用,如果讀者希望進(jìn)一步深入鉆研的話,需要閱讀系統(tǒng)提供的源代碼或者查閱MSDNLibrary中的詳細(xì)講解。但是,通過(guò)這本書(shū),你可以快速地領(lǐng)會(huì)每一項(xiàng)技術(shù)。因?yàn)檫@本書(shū)既有原理性的講解,也有示例說(shuō)明,甚至還有一步一步的實(shí)戰(zhàn)過(guò)程。所以,本書(shū)也適合于被用作教材,可以針對(duì)研究生程序設(shè)計(jì)課程或者高年級(jí)本科生課程。我在本書(shū)剛剛出版之際,用本書(shū)作為北京大學(xué)軟件學(xué)院研究生課程''''程序開(kāi)發(fā)環(huán)境分析與實(shí)踐''''的教材,取得了不錯(cuò)的效果。曾經(jīng)聽(tīng)人提到過(guò),說(shuō)這本書(shū)只是教會(huì)你怎么用向?qū)Чぞ邅?lái)生成一個(gè)應(yīng)用程序,離開(kāi)了向?qū)Чぞ吣氵€是什么也不會(huì)。這種觀點(diǎn)并不正確,我說(shuō)過(guò)這本書(shū)是原理和實(shí)戰(zhàn)的結(jié)合,向?qū)翘岣唛_(kāi)發(fā)效率的好幫手,但是如果你明白了原理,難道還會(huì)離不開(kāi)向?qū)??難道會(huì)看不懂代碼嗎?我很贊成使用VisualC++提供的向?qū)В且欢ㄒ肋@些向?qū)湍阕隽四男┦虑?,這很重要,否則當(dāng)向?qū)Р还ぷ鞯臅r(shí)候,你就失控了。最后,我想說(shuō)明一點(diǎn),在翻譯本書(shū)時(shí),本書(shū)中的屏幕拷貝圖以及VisualC++.NET集成環(huán)境中的一些稱(chēng)謂(比如各種向?qū)У慕蟹ǎ┪叶急A袅擞⑽陌姹荆鴽](méi)有將它們轉(zhuǎn)譯過(guò)來(lái)。國(guó)內(nèi)的大多數(shù)程序員都會(huì)使用中文版的VisualStudio.NET,VisualStudio.NET中文版幾乎徹底地進(jìn)行了漢化,所以,讀者在閱讀本書(shū)的時(shí)候也許會(huì)感到些微的不便。但是,本書(shū)在適當(dāng)?shù)牡胤阶髁耍苦关的说闽崿相信諒T┲杏⑽牟鉅觳換嵊跋炷愕腦畝梁屠斫?。吭诒緯?shū)的翻譯過(guò)程中,我參照了第四版(中文版)的內(nèi)容,發(fā)現(xiàn)了第四版中有不少錯(cuò)誤,所幸的是,我這次還有機(jī)會(huì)把這些錯(cuò)誤一一改正過(guò)來(lái)。同時(shí)也順帶著把原書(shū)中的一些錯(cuò)誤也改正了。當(dāng)然,翻譯過(guò)程中必定會(huì)帶來(lái)一些語(yǔ)言表達(dá)上的偏差,期望這些偏差不會(huì)影響您的閱讀。潘愛(ài)民2003年2月14日于北大燕園

作者簡(jiǎn)介

  潘愛(ài)民中國(guó)大陸少有的資深技術(shù)作家、譯者。潘愛(ài)民,浙江海寧人,現(xiàn)任職于北京大學(xué)計(jì)算機(jī)科學(xué)技術(shù)研究所,研究方向?yàn)樾畔踩蛙浖_(kāi)發(fā)?!拔沂且幻胀ǖ某绦騿T,在軟件開(kāi)發(fā)隊(duì)伍中算一名老兵了,以上所介紹的經(jīng)歷是我十幾年的路,走的路很長(zhǎng),但是沒(méi)有值得一提的成績(jī)。也許我的介紹中有一些偏頗之處,請(qǐng)大家不必挑刺,因?yàn)檫@只是我的一點(diǎn)感受,真實(shí)的感受,它所反映的僅僅是一個(gè)側(cè)面。”>>更多作品

圖書(shū)目錄

第Ⅰ部分  Windows、Visual C++ .NET和應(yīng)用 程序框架基礎(chǔ)
第1章  Windows和Visual C++ .NET    
1.1  Windows編程模型    
1.1.1  消息處理    
1.1.2  Windows的圖形設(shè)備接口(GDI)    
1.1.3  基于資源的程序設(shè)計(jì)    
1.1.4  內(nèi)存管理    
1.1.5  動(dòng)態(tài)連接庫(kù)(DLL)    
1.1.6  Win32應(yīng)用程序編程接口    
1.2  Visual C++ .NET的組成    
1.2.1  Visual C++ .NET和創(chuàng)建過(guò)程    
1.2.2  資源視圖窗口和資源編輯器    
1.2.3  C/C++編譯器    
1.2.4  源代碼編輯器    
1.2.5  資源編譯器    
1.2.6  連接器    
1.2.7  調(diào)試器    
1.2.8  MFC Application Wizard    
1.2.9  Class View    
1.2.10  方案管理器    
1.2.11  對(duì)象瀏覽器    
1.2.12  UML工具    
1.2.13  聯(lián)機(jī)幫助    
1.2.14  Windows診斷工具    
1.2.15  MFC庫(kù)版本7    
1.2.16  ATL庫(kù)版本7.0    
1.2.17  .NET支持    
第2章  Microsoft基本類(lèi)庫(kù)應(yīng)用程序框架    
2.1  為什么要使用應(yīng)用程序框架?    
2.1.1  學(xué)習(xí)曲線    
2.2  什么是應(yīng)用程序框架?    
2.2.1  應(yīng)用程序框架和類(lèi)庫(kù)    
2.2.2  應(yīng)用程序框架示例    
2.3  MFC庫(kù)消息映射    
2.4  文檔和視圖    
第Ⅱ部分  MFC基礎(chǔ)
第3章  從MFC Application Wizard開(kāi)始學(xué)習(xí)    
3.1  什么是視圖    
3.2  MFC庫(kù)應(yīng)用程序的類(lèi)型    
3.3  MFC庫(kù)支持的用戶界面    
3.4  Ex03a:“不做任何事情”的應(yīng)用程序    
3.5  CEx03aView視圖類(lèi)    
3.6  在視圖窗口內(nèi)繪圖:Windows GDI    
3.6.1  OnDraw成員函數(shù)    
3.6.2  Windows設(shè)備環(huán)境    
3.6.3  往Ex03a程序中添加繪制代碼    
3.7  資源編輯器簡(jiǎn)介    
3.7.1  Ex03a.rc的內(nèi)容    
3.7.2  運(yùn)行對(duì)話框資源編輯器    
3.8  Win32 Debug目標(biāo)和Win32 Release目標(biāo)    
3.9  對(duì)預(yù)編譯頭文件的理解    
3.10  兩種方法運(yùn)行程序    
第4章  Visual C++ .NET向?qū)?nbsp;   
4.1  向?qū)У念?lèi)型    
4.2  向?qū)侨绾喂ぷ鞯?nbsp;   
4.3  創(chuàng)建一個(gè)向?qū)?nbsp;   
4.4  創(chuàng)建一個(gè)“用托管C++來(lái)開(kāi)發(fā)Web應(yīng)用”的向?qū)?nbsp;   
第5章  Windows消息映射    
5.1  獲取用戶輸入——消息映射函數(shù)    
5.1.1  消息映射    
5.1.2  保存視圖的狀態(tài):類(lèi)的數(shù)據(jù)成員    
5.1.3  初始化視圖類(lèi)數(shù)據(jù)成員    
5.1.4  使矩形區(qū)域無(wú)效的理論    
5.1.5  Windows的客戶區(qū)域    
5.1.6  判斷一個(gè)點(diǎn)是否在矩形內(nèi)    
5.1.7  判斷一個(gè)點(diǎn)是否在橢圓內(nèi)    
5.1.8  Ex05a示例程序    
5.1.9  對(duì)Ex05a使用Class View    
5.2  使用Windows映射模式    
5.2.1  MM_TEXT映射模式    
5.2.2  “固定比例”映射模式    
5.2.3  “可變比例”映射模式    
5.2.4  坐標(biāo)轉(zhuǎn)換    
5.2.5  Ex05b示例程序——轉(zhuǎn)換到MM_HIMETRIC映射模式    
5.3  創(chuàng)建一個(gè)滾動(dòng)視圖窗口    
5.3.1  窗口比您所見(jiàn)到的要大    
5.3.2  滾動(dòng)條    
5.3.3  滾動(dòng)方式的選擇    
5.3.4  OnInitialUpdate函數(shù)    
5.3.5  接收鍵盤(pán)輸入    
5.3.6  Ex05c示例程序:滾動(dòng)    
5.4  使用其他Windows消息    
5.4.1  WM_CREATE消息    
5.4.2  WM_CLOSE消息    
5.4.3  WM_QUERYENDSESSION消息    
5.4.4  WM_DESTROY消息    
5.4.5  WM_NCDESTROY消息
第6章  經(jīng)典的GDI函數(shù)、字體和位圖    
6.1  設(shè)備環(huán)境類(lèi)    
6.1.1  顯示設(shè)備環(huán)境類(lèi)CClientDC和CWindowDC    
6.1.2  構(gòu)造和析構(gòu)CDC對(duì)象    
6.1.3  設(shè)備環(huán)境的狀態(tài)    
6.1.4  CPaintDC類(lèi)    
6.2  GDI對(duì)象    
6.2.1  GDI對(duì)象的構(gòu)造與析構(gòu)    
6.2.2  跟蹤GDI對(duì)象    
6.2.3  庫(kù)存的GDI對(duì)象    
6.2.4  GDI選擇的有效期    
6.3  字體    
6.3.1  字體是GDI對(duì)象    
6.3.2  選擇字體    
6.3.3  打印字體    
6.3.4  顯示字體    
6.3.5  顯示器的邏輯英寸和物理英寸    
6.3.6  計(jì)算字符高度    
6.4  Ex06a示例程序    
6.4.1  Ex06a程序的組成元素    
6.5  Ex06b示例程序    
6.5.1  Ex06b程序的組成元素    
6.6  Ex06c示例程序——再次使用CScrollView    
6.6.1  Ex06c程序的組成元素    
6.6.2  CScrollView的SetScaleToFitSize模式    
6.6.3  在滾動(dòng)視圖中使用邏輯twips映射模式    
6.7  位圖    
6.7.1  GDI位圖和與設(shè)備無(wú)關(guān)的位圖    
6.7.2  彩色位圖和單色位圖    
6.8  DIB和CDib類(lèi)    
6.8.1  關(guān)于調(diào)色板編程的術(shù)語(yǔ)    
6.8.2  DIB、像素和顏色表    
6.8.3  BMP文件中DIB的結(jié)構(gòu)    
6.8.4  DIB訪問(wèn)函數(shù)    
6.8.5  CDib類(lèi)    
6.8.6  DIB顯示性能    
6.8.7  Ex06d示例程序    
6.9  進(jìn)一步使用DIB    
6.9.1  LoadImage函數(shù)    
6.9.2  DrawDibDraw函數(shù)    
6.10  在按鈕上放置位圖    
6.10.1  Ex06e示例程序    
6.10.2  進(jìn)一步使用位圖按鈕    
第7章  對(duì)話框    
7.1  模式和無(wú)模式對(duì)話框    
7.2  資源和控件    
7.3  模式對(duì)話框的編程    
7.4  包羅萬(wàn)象的對(duì)話框——Ex07a示例程序    
7.4.1  創(chuàng)建對(duì)話框資源    
7.4.2  創(chuàng)建對(duì)話框類(lèi)    
7.4.3  將對(duì)話框與視圖相連接    
7.4.4  深入理解Ex07a應(yīng)用程序    
7.5  Ex07a應(yīng)用程序的改進(jìn)    
7.5.1  控制OnOK退出過(guò)程    
7.5.2  OnCancel處理    
7.5.3  和滾動(dòng)條控件掛上鉤    
7.6  控件的標(biāo)識(shí):CWnd指針和控件ID    
7.7  設(shè)置對(duì)話框的背景色和其中控件的顏色    
7.8  在運(yùn)行時(shí)加入對(duì)話框控件    
7.9  利用其他的控件特性    
7.10  Windows通用對(duì)話框    
7.10.1  直接使用CFileDialog類(lèi)    
7.10.2  從通用對(duì)話框類(lèi)進(jìn)行派生    
7.10.3  嵌套對(duì)話框    
7.10.4  Ex07b示例程序:CFileDialog    
7.10.5  CFileDialog的其他可定制特性    
7.11  無(wú)模式對(duì)話框的編程    
7.11.1  創(chuàng)建無(wú)模式對(duì)話框    
7.11.2  用戶定義的消息    
7.11.3  對(duì)話框的所有關(guān)系(Ownership)    
7.11.4  Ex07c示例程序:無(wú)模式對(duì)話框    
第8章  通用控件    
8.1  標(biāo)準(zhǔn)通用控件    
8.1.1  進(jìn)度指示器控件(Progress Control)    
8.1.2  滑塊控件(Slider Control)    
8.1.3  微調(diào)控件(Spin Control)    
8.1.4  列表控件    
8.1.5  樹(shù)狀控件    
8.1.6  WM_NOTIFY消息    
8.2  Ex08a示例程序:標(biāo)準(zhǔn)通用控件    
8.3  高級(jí)通用控件    
8.3.1  日期時(shí)間選擇器    
8.3.2  月歷控件    
8.3.3  IP地址控件    
8.3.4  擴(kuò)展的組合框控件    
8.4  Ex08b示例程序:高級(jí)通用控件    
第9章  使用ActiveX控件    
9.1  ActiveX控件和普通的Windows控件    
9.1.1  普通的Windows控件:一個(gè)參考框架    
9.1.2  ActiveX控件與普通控件的相同點(diǎn)    
9.1.3  ActiveX控件與普通控件的不同點(diǎn):屬性和方法    
9.2  安裝ActiveX控件    
9.3  日 歷 控 件    
9.4  ActiveX控件包容器編程    
9.4.1  屬性訪問(wèn)    
9.4.2  Visual Studio .NET為ActiveX控件產(chǎn)生的C++包裝類(lèi)    
9.4.3  MFC Application Wizard對(duì)ActiveX控件的支持    
9.4.4  Add Class Wizard和包容器對(duì)話框    
9.4.5  把ActiveX控件鎖定在內(nèi)存里    
9.5  Ex09a示例程序:ActiveX控件對(duì)話框包容器    
9.6  ActiveX控件在HTML文件中的使用    
9.7  在運(yùn)行時(shí)創(chuàng)建ActiveX控件    
9.8  Ex09b示例程序:Web瀏覽器ActiveX控件    
9.9  圖 形 屬 性    
9.10  可綁定的屬性:變化通知    
第10章  Win32核心內(nèi)存管理    
10.1  進(jìn)程和內(nèi)存空間    
10.1.1  Windows 95/98進(jìn)程地址空間    
10.1.2  Windows NT/2000/XP的進(jìn)程地址空間    
10.2  虛擬內(nèi)存如何工作    
10.3  VirtualAlloc函數(shù)——占用和保留內(nèi)存    
10.4  Windows堆和GlobalAlloc函數(shù)族    
10.5  小內(nèi)存堆,C++的new和delete操作符,_heapmin    
10.6  內(nèi)存映射文件    
10.7  訪 問(wèn) 資 源    
10.8  管理動(dòng)態(tài)內(nèi)存的一些提示    
10.9  常量數(shù)據(jù)的優(yōu)化存儲(chǔ)
    
第11章  Windows消息處理和多線程編程    
11.1  Windows消息處理    
11.1.1  單線程程序處理消息的過(guò)程    
11.1.2  交出控制    
11.1.3  計(jì)時(shí)器    
11.1.4  Ex11a示例程序    
11.2  空狀態(tài)處理    
11.3  多線程編程    
11.3.1  編寫(xiě)輔助線程函數(shù)和啟動(dòng)線程    
11.3.2  主線程如何與輔助線程通話    
11.3.3  輔助線程如何與主線程通話    
11.3.4  Ex11b示例程序    
11.3.5  用事件使線程同步    
11.3.6  Ex11c示例程序    
11.3.7  線程阻塞    
11.3.8  臨界區(qū)    
11.3.9  互斥體(mutex)和信號(hào)(semaphore)    
11.3.10  用戶界面線程(UI線程)    
第Ⅲ部分  MFC的文檔-視圖結(jié)構(gòu)
第12章  菜單、鍵盤(pán)加速鍵、復(fù)文本編輯控件和屬性表    
12.1  主框架窗口和文檔類(lèi)    
12.2  Windows菜單    
12.3  鍵盤(pán)加速鍵    
12.4  命 令 處 理    
12.4.1  派生類(lèi)中的命令消息控制    
12.4.2  更新命令用戶界面消息控制函數(shù)    
12.4.4  對(duì)話框發(fā)送的命令    
12.5  應(yīng)用程序框架的內(nèi)置菜單命令    
12.5.1  菜單命令的允許/禁用    
12.6  MFC文本編輯選擇    
12.6.1  CEditView類(lèi)    
12.6.2  CRichEditView類(lèi)    
12.6.3  CRichEditCtrl類(lèi)    
12.7  Ex12a示例程序    
12.8  屬  性  表    
12.8.1  創(chuàng)建屬性表    
12.8.2 屬性表數(shù)據(jù)交換    
12.9  改進(jìn)Ex12a示例程序    
12.9.1  Apply按鈕的處理過(guò)程    
12.10  CMenu類(lèi)    
12.11  創(chuàng)建浮動(dòng)的快捷菜單    
12.12  擴(kuò)展的命令處理    
第13章  工具欄和狀態(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  Ex13a示例程序:使用工具欄    
13.6  狀  態(tài)  欄    
13.6.1  狀態(tài)欄的定義    
13.6.2  信息行    
13.6.3  狀態(tài)指示器    
13.6.4  對(duì)狀態(tài)欄的控制    
13.7  Ex13b示例程序:使用狀態(tài)欄    
13.8  Rebar    
13.8.1  解剖一個(gè)rebar    
13.9  Ex13c示例程序:使用rebar    
第14章  可重用的框架窗口基類(lèi)    
14.1  為什么可重用基類(lèi)難以設(shè)計(jì)    
14.2  CPersistentFrame類(lèi)    
14.3  CFrameWnd::ActivateFrame成員函數(shù)    
14.4  PreCreateWindow成員函數(shù)    
14.5  Windows注冊(cè)表    
14.6  使用CString類(lèi)    
14.7  最大化窗口的位置    
14.8  控制欄狀態(tài)和注冊(cè)表    
14.9  靜態(tài)數(shù)據(jù)成員    
14.10  默認(rèn)窗口矩形    
14.11  Ex14a示例程序:使用持續(xù)框架窗口類(lèi)    
14.12  MDI應(yīng)用程序中的持續(xù)框架
第15章  文檔與視圖的分離    
15.1  文檔-視圖之間的相互作用函數(shù)    
15.1.1  CView∷GetDocument函數(shù)    
15.1.2  CDocument∷UpdateAllViews函數(shù)    
15.1.3  CView∷OnUpdate函數(shù)    
15.1.4  CView∷OnInitialUpdate函數(shù)    
15.1.5  CDocument∷OnNewDocument函數(shù)    
15.2  最簡(jiǎn)單的文檔-視圖應(yīng)用程序    
15.3  CFormView類(lèi)    
15.4  CObject 類(lèi)    
15.5  診斷信息轉(zhuǎn)儲(chǔ)    
15.5.1  TRACE宏    
15.5.2  afxDump對(duì)象    
15.5.3  信息轉(zhuǎn)儲(chǔ)環(huán)境及CObject類(lèi)    
15.5.4  未被刪除對(duì)象的自動(dòng)信息轉(zhuǎn)儲(chǔ)    
15.6  Ex15a示例程序:簡(jiǎn)單的文檔-視圖交互    
15.7  更加高級(jí)的文檔-視圖交互    
15.8  CDocument∷DeleteContents函數(shù)    
15.9  CObList集合類(lèi)    
15.9.1  對(duì)先入先出列表使用CObList類(lèi)    
15.9.2  在CObList中進(jìn)行迭代——POSITION變量    
15.9.3  CTypedPtrList模板集合類(lèi)    
15.9.4  信息轉(zhuǎn)儲(chǔ)環(huán)境及集合類(lèi)    
15.10  Ex15b示例程序:一個(gè)多視圖SDI應(yīng)用程序    
15.10.1  資源要求    
15.10.2  代碼要求    
15.10.3  保護(hù)類(lèi)型的虛函數(shù)    
15.10.4  測(cè)試Ex15b應(yīng)用程序    
15.11  留給讀者的兩個(gè)練習(xí)    
第16章  讀和寫(xiě)文檔    
16.1  什么是序列化    
16.1.1  磁盤(pán)文件和歸檔 (Archives)    
16.1.2  使一個(gè)類(lèi)可序列化    
16.1.3  編寫(xiě)Serialize函數(shù)    
16.1.4  從歸檔中載入:內(nèi)嵌對(duì)象和指針    
16.1.5  使集合序列化    
16.1.6  Serialize函數(shù)和應(yīng)用程序框架    
16.2  SDI應(yīng)用程序    
16.2.1  Windows應(yīng)用程序?qū)ο?nbsp;   
16.2.2  文檔模板類(lèi)    
16.2.3  文檔模板資源    
16.2.4  SDI文檔的多視圖    
16.2.5  創(chuàng)建空文檔:CWinApp∷OnFileNew函數(shù)    
16.2.6  文檔類(lèi)的OnNewDocument函數(shù)    
16.2.7  連接File Open與序列化代碼:OnFileOpen函數(shù)    
16.2.8  文檔類(lèi)的DeleteContents函數(shù)    
16.2.9  將File Save和File Save As與序列化代碼相連接    
16.2.10  文檔的“臟”標(biāo)志    
16.3  Ex16a示例程序:支持序列化的SDI程序    
16.3.1  CStudent    
16.3.2  CEx16aApp    
16.3.3  CMainFrame    
16.3.4  CEx16aDoc類(lèi)    
16.3.5  CEx16aView類(lèi)    
16.3.6  測(cè)試Ex16a應(yīng)用程序    
16.4  從Windows資源管理器啟動(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)用Windows資源管理器啟動(dòng)程序及拖放    
16.5  MDI支持    
16.5.1  一個(gè)典型的具有MFC風(fēng)格的MDI應(yīng)用程序    
16.5.2  MDI應(yīng)用程序?qū)ο?nbsp;   
16.5.3  MDI文檔模板類(lèi)    
16.5.4  MDI框架窗口和MDI子窗口    
16.5.5  主框架和文檔模板資源    
16.5.6  創(chuàng)建空文檔    
16.5.7  為已有的文檔創(chuàng)建新的視圖    
16.5.8  載入和存儲(chǔ)文檔    
16.5.9  多文檔模板    
16.5.10  從Windows資源管理器啟動(dòng)及拖放    
16.6  Ex16b示例程序:MDI應(yīng)用程序    
16.6.1  CEx16bApp    
16.6.2  CMainFrame    
16.6.3  CChildFrame    
16.6.4  測(cè)試Ex16b應(yīng)用程序    
16.7  MTI支持    
16.8  Ex16c示例程序:MTI應(yīng)用程序    
16.8.1  測(cè)試Ex16c應(yīng)用程序    
第17章  打印和打印預(yù)覽    
17.1  基于Windows的打印    
17.1.1  標(biāo)準(zhǔn)打印對(duì)話框    
17.1.2  交互選擇打印頁(yè)碼    
17.1.3  顯示頁(yè)和打印頁(yè)    
17.2  打 印 預(yù) 覽    
17.3  打印機(jī)的程序設(shè)計(jì)    
17.3.1  打印機(jī)設(shè)備環(huán)境和CView::OnDraw函數(shù)    
17.3.2  CView::OnPrint函數(shù)    
17.3.3  準(zhǔn)備設(shè)備環(huán)境:CView::OnPrepareDC函數(shù)    
17.3.4  打印任務(wù)的開(kāi)始和結(jié)束    
17.4  Ex17a示例程序:一個(gè)所見(jiàn)即所得的打印程序    
17.4.1  讀取打印機(jī)矩形框    
17.5  再看模板集合類(lèi):CArray類(lèi)    
17.6  Ex17b示例程序:多頁(yè)打印程序
    
第18章  切分窗口和多視圖    
18.1  切 分 窗 口    
18.2  關(guān)于視圖的選擇    
18.3  動(dòng)態(tài)和靜態(tài)切分窗口    
18.4  Ex18a示例程序:具有單個(gè)視圖類(lèi)的SDI動(dòng)態(tài)切分    
18.4.1  與切分有關(guān)的資源    
18.4.2  CMainFrame
18.4.3  測(cè)試Ex18a應(yīng)用程序    
18.5  Ex18b示例程序:雙視圖類(lèi)SDI靜態(tài)切分    
18.5.1  CHexView    
18.5.2  CMainFrame    
18.5.3  測(cè)試Ex18b應(yīng)用程序    
18.6  Ex18c示例程序:切換視圖類(lèi)但不用切分窗口    
18.6.1  資源要求    
18.6.2  CMainFrame    
18.6.3  測(cè)試Ex18c應(yīng)用程序    
18.7  Ex18d示例程序:多視圖類(lèi)MDI應(yīng)用程序    
18.7.1  資源要求    
18.7.2  CEx18dApp    
18.7.3  CMainFrame    
18.7.4  測(cè)試Ex18d應(yīng)用程序    
第19章  上下文相關(guān)幫助    
19.1  WinHelp和HTML Help    
19.2  Windows的WinHelp程序    
19.2.1  復(fù)文本格式(RTF)    
19.2.2  編寫(xiě)簡(jiǎn)單的幫助文件    
19.2.3  改進(jìn)的目錄    
19.3  應(yīng)用程序框架與WinHelp    
19.3.1  調(diào)用WinHelp    
19.3.2  使用搜索字符串    
19.3.3  從應(yīng)用程序的菜單來(lái)調(diào)用WinHelp    
19.3.4  幫助上下文別名    
19.3.5  確定幫助上下文    
19.3.6  F1幫助    
19.3.7  Shift+F1 幫助    
19.3.8  消息框幫助:AfxMessageBox函數(shù)    
19.3.9  一般的幫助    
19.4  幫助示例:不需要任何編程    
19.5  幫助命令處理    
19.5.1  F1處理過(guò)程    
19.5.2  Shift+F1處理過(guò)程    
19.6  Ex19b示例程序:幫助命令處理    
19.6.1  頭文件要求    
19.6.2  CStringView    
19.6.3  CHexView    
19.6.4  資源要求    
19.6.5  幫助文件要求    
19.6.6  測(cè)試Ex19b應(yīng)用程序    
19.7  MFC和HTML Help    
19.8  Ex19c示例程序:HTML Help    
第20章  動(dòng)態(tài)鏈接庫(kù)    
20.1  基本DLL理論    
20.1.1  導(dǎo)入如何與導(dǎo)出相匹配    
20.1.2  隱式鏈接和顯式鏈接    
20.1.3  符號(hào)鏈接和序號(hào)鏈接    
20.1.4  DLL入口點(diǎn):DllMain    
20.1.5  實(shí)例句柄:裝載資源    
20.1.6  客戶程序如何找到DLL    
20.1.7  調(diào)試DLL    
20.2  MFC DLL:擴(kuò)展的和常規(guī)的    
20.2.1  MFC擴(kuò)展DLL:導(dǎo)出類(lèi)    
20.2.2  MFC擴(kuò)展DLL的資源搜索序列    
20.2.3  Ex20a示例程序:MFC擴(kuò)展DLL    
20.2.4  Ex20b示例程序:DLL測(cè)試客戶程序    
20.2.5  MFC常規(guī)DLL:AFX_EXTENSION_MODULE結(jié)構(gòu)    
20.2.6  使用AFX_MANAGE_STATE宏    
20.2.7  MFC常規(guī)DLL的資源搜索序列    
20.2.8  Ex20c示例程序:MFC常規(guī)DLL    
20.2.9  修改Ex20b示例程序:加入代碼以測(cè)試Ex20c.dll    
20.3  自定義控件DLL    
20.3.1  什么是自定義控件    
20.3.2  自定義控件的窗口類(lèi)    
20.3.3  MFC庫(kù)和WndProc函數(shù)    
20.3.4  自定義控件的通知消息    
20.3.5  發(fā)送給控件的用戶定義消息    
20.3.6  Ex20d示例程序:自定義控件    
20.3.7  再修改Ex20b示例程序:加入代碼以測(cè)試Ex20d.dll    
第21章  不帶文檔或視圖類(lèi)的MFC程序    
21.1  Ex21a示例程序:一個(gè)基于對(duì)話框的應(yīng)用程序    
21.1.1  應(yīng)用程序類(lèi)的InitInstance函數(shù)    
21.1.2  對(duì)話框類(lèi)和程序圖標(biāo)    
21.2 Ex21b示例程序:一個(gè)SDI應(yīng)用程序    
21.3  Ex21c示例程序:一個(gè)MDI應(yīng)用程序    
第四部分 COM、自動(dòng)化、ActiveX和OLE    
第22章 組件對(duì)象模型    
22.1 ActiveX技術(shù)    
22.2 什么是COM    
22.3 Ex22a示例程序:一個(gè)模擬的COM    
22.4 MFC庫(kù)中實(shí)際的COM    
22.5 Ex22b示例程序:MFC COM進(jìn)程內(nèi)組件    
22.6 Ex22c示例程序:MFC COM客戶    
22.7 包容、聚合和繼承    
第23章 自動(dòng)化    
23.1 為VBA創(chuàng)建C++組件    
23.2 自動(dòng)化客戶和自動(dòng)化組件    
23.3自動(dòng)化接口    
23.4 自動(dòng)化程序設(shè)計(jì)的選擇    
23.5 一個(gè)MFC自動(dòng)化組件    
23.6 一個(gè)MFC自動(dòng)化客戶程序
23.7 使用了編譯器的#import指令的自動(dòng)化客戶程序    
23.8 VARIANT類(lèi)型    
23.9 COleVariant類(lèi)    
23.10自動(dòng)化示例    
23.11 VBA早綁定    
第24章 統(tǒng)一數(shù)據(jù)傳輸:剪貼板傳輸以及OLE拖放    
24.1 IDataObject接口    
24.2 FORMATETC和STGMEDIUM結(jié)構(gòu)    
24.3 MFC對(duì)UDT的支持    
24.4 MFC CRectTracker類(lèi)    
24.5 Ex24a示例程序:數(shù)據(jù)對(duì)象剪貼板    
24.6 MFC的拖放    
24.7 Ex24b示例程序:OLE拖放    
第25章 活動(dòng)模板庫(kù)介紹    
25.1再談COM    
25.2 編寫(xiě)COM代碼    
25.3 COM基礎(chǔ)設(shè)施    
25.4 ATL簡(jiǎn)介    
25.5 客戶端ATL程序設(shè)計(jì)    
25.6 服務(wù)器端ATL程序設(shè)計(jì)    
25.7 屬性化程序設(shè)計(jì)    
第26章 ATL和ActiveX控件    
26.1 什么是ActiveX控件    
26.2 用ATL編寫(xiě)ActiveX控件    
26.3 創(chuàng)建一個(gè)屬性化的控件    
第27章 OLE DB模板    
27.1 為什么使用OLE DB    
27.2 OLE DB的基本結(jié)構(gòu)    
27.3 OLE DB模板的基本結(jié)構(gòu)
27.4 創(chuàng)建一個(gè)OLE DB使用者    
27.5 創(chuàng)建一個(gè)OLE DB提供者    
27.6 屬性化的OLE DB程序設(shè)計(jì)    
第五部分 Internet程序設(shè)計(jì)    
第28章 Internet基礎(chǔ)    
28.1 Internet入門(mén)    
28.2 建立一個(gè)Intranet    
28.3 Winsock程序設(shè)計(jì)    
28.4 用CHttpBlockingSocket建立一個(gè)Web服務(wù)器    
28.5 用CHttpBlockingSocket建立一個(gè)Web客戶    
28.6 WinInet    
28.7 用MFC WinInet類(lèi)建立一個(gè)Web客戶    
28.8 異步Moniker文件    
第29章 動(dòng)態(tài)HTML簡(jiǎn)介    
29.1 DHTML對(duì)象模型    
29.2 Visual C++ .NET和DHTML    
29.3 Ex29a示例程序:MFC和DHTML    
29.3 Ex29b示例程序:DHTML和MFC    
29.4 Ex29c示例程序:ATL和DHTML    
29.5 進(jìn)一步的信息    
第30章 ATL Server    
30.1 IIS    
30.2 ISAPI服務(wù)器擴(kuò)展    
30.3 ATL Server簡(jiǎn)介    
30.4 Ex30a示例程序:一個(gè)ATL Server Web站點(diǎn)    
第六部分 .NET和遠(yuǎn)景    
第31章 Microsoft .NET    
31.1 Windows組件技術(shù)    
31.2 公共語(yǔ)言運(yùn)行時(shí)庫(kù)    
第32章 托管C++    
32.1 公共語(yǔ)言運(yùn)行時(shí)庫(kù)與C++開(kāi)發(fā)人員    
32.2 為什么使用C++    
32.3 托管的C++擴(kuò)展    
32.4 Visual C++ .NET和托管擴(kuò)展    
32.5 Ex32a示例程序:一個(gè)托管C++ DLL程序集
32.6程序集的用法    
32.7 Ex32b示例程序:一個(gè)托管的客戶可執(zhí)行程序    
32.8 加入托管擴(kuò)展支持    
第33章 用托管C++進(jìn)行Windows Forms編程    
33.1 Windows Forms    
33.2 Windows Forms的不足    
第34章 用托管C++進(jìn)行ASP.NET編程    
34.1 Internet作為開(kāi)發(fā)平臺(tái)    
34.2 ASP.NET的演變    
34.3 IIS的作用    
34.4 ASP.NET的編譯模型    
34.5 Page類(lèi)
34.6 HTTP傳遞路徑    
34.7 Web服務(wù)    
第35章 用托管C++進(jìn)行ADO.NET編程    
35.1 托管的提供者    
35.2 使用托管提供者    
35.3 ADO.NET數(shù)據(jù)集    
附錄A MFC庫(kù)中的消息映射函數(shù)    
附錄B MFC庫(kù)運(yùn)行時(shí)類(lèi)識(shí)別和動(dòng)態(tài)對(duì)象創(chuàng)建    
B.1 運(yùn)行時(shí)獲取對(duì)象的類(lèi)名    
B.2 MFC CRuntimeClass結(jié)構(gòu)和RUNTIME_CLASS宏    
B.3 動(dòng)態(tài)創(chuàng)建    
B.4 示例程序    

本目錄推薦

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