本書是一本與眾不同的面向初學者的Visual C++讀物,不需要讀者有太多的計算機基礎知識。本書講解通俗易懂,循序漸進,避免了云山霧罩、晦澀難懂。本書語言輕松活潑,用類比、對比、比喻等寫作手法,并配合圖解教學,對難點之處又給出了必要提示;書中的每個知識點都對應相應的編程實例,便于讀者一邊學習一邊動手實踐,既可以提高讀者的動手能力,也可以激發學習興趣。本書配1張DVD光盤,內容為本書配套教學視頻及源代碼。另外,光盤中還贈送了Visual C++項目開發的源代碼及教學視頻。
本書介紹了Visual C++的函數調用形式、面向對象編程、MFC工作原理、開發軟件流程及一些實用開發技巧。全書共15章,分為4篇。第1篇介紹了Visual C++開發環境、C++語法基礎及MFC運行機制;第2篇介紹利用Visual Studio開發工具進行圖形界面的開發,涉及Windows控件、菜單、工具欄和狀態欄、圖形圖像;第3篇介紹了Visual C++應用程序開發的基礎,涉及數據文件的讀寫和動態鏈接庫;第4篇對前面知識進行總結和擴展,涉及多線程、網絡編程、數據庫編程及STL等關鍵技術,最后用一個電子書管理系統帶領讀者掌握項目開發的過程和技巧。
本書最適合沒有基礎的Visual C++新手閱讀;有一定基礎的讀者,也可通過本書進一步理解Visual C++的各個重要概念及知識點;對于大、中專院校的學生和培訓班的學員,本書也不失為一本好教材。
“入門很簡單叢書”已出版圖書推薦閱讀:
《C語言入門很簡單》
《Java入門很簡單》
《Linux入門很簡單》
《iPhone開發入門很簡單》
《Android編程入門很簡單》
《MySQL入門很簡單》
《Oracle入門很簡單》
“入門很簡單叢書”后續出版:
《C++入門很簡單》
《C#入門很簡單》
《PHP入門很簡單》
《SQL Server入門很簡單》
《Java Web開發入門很簡單》
《HTML 5入門很簡單》
《Excel VBA入門很簡單》
……
18小時高清多媒體教學視頻 淺顯易懂,零門檻學習Visual C++開發,真的很簡單 娓娓道來,親切自然,老鳥帶領菜鳥,快速跨入Visual C++的大門 以學懂、學透、學會用為目標,帶你快速步入Visual C++開發的大門! 以通俗的言語從基礎講解,徹底解決學習過程中將會遇到的各種疑難問題! 以實踐性教學為導向,講解了62個典型實例和1個綜合項目案例開發! 以貼近生活、幽默風趣為宗旨,講解時多用生活中的好玩事例加以類比! 提供教學PPT 超值大容量DVD光盤,你值得擁有! 7.4小時本書配套教學視頻及源代碼 13個Visual C++開發模塊源代碼及7.6小時教學視頻 3個Visual C++項目案例源代碼及3小時教學視頻
Visual C++是Microsoft公司開發的基于C/C++的可視化的集成開發工具。因其開發的應用程序執行效率高而深受開發人員的喜愛,尤其是用Visual C++開發Windows應用程序更是程序員的首選。Microsoft公司提供了Microsoft基本類庫(Microsoft Foundation Class Library,MFC),為用戶提供了大量的標準類,可以縮短軟件的開發周期。這也是Visual C++流行多年的一個重要原因。
當前,Visual C++仍然煥發著迷人的光彩。很多大中專院校要開設相關課程,很多想從事開發的人員要學習它的使用,很多軟件企業還在利用它開發各種各樣的軟件系統……使得這個老牌開發工具在20年后依然有很強的生命力。相應地,市場上也出版了不少相關圖書。但翻遍這些圖書,要想找一本易學易用、適合沒有任何基礎的新手閱讀的書并不容易。基于這個原因,筆者根據自己多年使用Visual C++的經驗和心得體會寫了這本書,希望能夠引領讀者更簡捷、更有效地進入Visual C++的殿堂。
本書以通俗易懂、生活化的例子介紹解釋每個知識點的用法,書中的每個例子能起到拋磚引玉的功效,語言盡可能輕松活潑,多用類比、對比、比喻等寫作手法,配合大量圖解教學,并對難點給出了必要提示。另外,本書還錄制了配套的多媒體教學視頻,以輔助讀者學習。相信這樣的一本書可以掃清讀者學習過程中的障礙,讓讀者少走彎路,并激發學習Visual C++的興趣,從而較快地掌握Visual C++編程。
本書特色
1.提供配套的多媒體教學視頻
本書專門錄制了配套的多媒體教學視頻,以幫助讀者更直觀、高效地學習,達到事半功倍的效果。
2.講解通俗易懂,詼諧幽默,并給出了大量生活化的例子
本書避免用艱澀難懂、枯燥乏味的術語云山霧罩地分析問題,代之以輕松活潑、幽默直白的講解。書中的知識點盡量先給出現實生活中的例子,然后與之對比或者類比,讓讀者理解。相信這種講解方式可以取得意想不到的效果。
3.圖解教學,簡單直觀
本書中的每個知識點幾乎都給出了相關的圖示或者圖解,非常直觀,一目了然。無論對知識點的介紹還是學習技術原理,相信“一圖勝千言”。
4.代碼精講,注釋豐富
本書中的每段代碼都給出了詳細的解釋,進行了豐富的代碼注釋,便于讀者理解。而且大段代碼還給出了流程圖幫助讀者理解復雜的程序,如第15章的電子書管理系統。
5.提供練習題,鞏固提高
本書提供了必要的練習題目,以幫助讀者鞏固和提高所學的知識。
6.提供教學PPT,輔助教學
作者專門制作了教學PPT,以便老師的教學和學生的學習。教學PPT的下載方式參見本書封底的提示。
本書內容安排
第1篇 Visual C++開發環境及語言基礎(第1~4章)
第1章介紹Visual Studio開發環境及常用應用程序框架;
第2章回顧C++的入門知識;
第3章針對C++面向對象的編程基礎展開討論;
第4章介紹MFC的運行機制。
第2篇 Visual Studio圖形編程(第5~8章)
第5章結合實例詳細講解Windows標準控件的使用方法;
第6章和第7章介紹在MFC應用程序中如何進行菜單、工具欄和狀態欄的編程;
第8章描述有關圖形圖像編程的實例。
第3篇 Visual C++程序開發基礎(第9章和第10章)
第9章給出3種進行數據文件讀寫方式;
第10章討論如何創建和調用動態鏈接庫。
第4篇 Visual C++程序開發進階(第11~15章)
第11章介紹多線程的開發應用;
第12章給出網絡編程的基礎知識;
第13章介紹Visual C++的數據庫編程技術;
第14章以模板為引子,討論了標準模板庫的概念及其3個主要成分;
第15章詳細介紹一個小型的項目開發案例,帶領讀者感受實際的項目開發過程。
配書光盤內容
* 本書配套多媒體教學視頻;
* 本書涉及的源代碼;
* 附贈的Visual C++模塊與項目開發源代碼及教學視頻。
適合閱讀本書的讀者
* C++語言入門人員;
* 沒有任何基礎的Visual C++初學者;
* 用MFC開發界面的技術人員;
* 網絡及數據庫編程入門人員;
* Visual C++編程愛好者;
* 大中專院校的學生和老師;
* 培訓班的學員。
筆者的經歷和學習感悟
筆者不是計算機科班出身的開發人員,大二時開始接觸Visual C++,當時只能進行簡單的輸入輸出。但幸運的是,在全國大學生數學建模競賽上,有幸結識了數位優秀的計算機專業編程能手,從此與Visual C++結下了不解之緣。但是在學習過程中,因為非專業出身,還是歷盡艱辛,經常調試到半夜,或因為一個輸出結果不對而茶飯不思。翻遍了市場上和圖書館的所有Visual C++書,感覺都不太適合我入門,經常碰到深入但不淺出的技術,我還要去論壇多問幾遍。在這個過程中,我做了大量的筆記,用自己對現實生活的理解,去消化這些技術,才發現,原來技術也可以來源于生活。當進入碩士研究生階段后,我開始使用MFC,并以MFC為項目開發平臺,又熟悉了OpenGL、OpenCV、OSG等多種第三方庫,在導師的帶領下,隨著項目的增多,又熟悉了多線程、網絡、數據庫編程的知識。
在幾年的親身實踐中,筆者的Visual C++開發技術突飛猛進。這讓我終于明白,Visual C++并非傳言的那么難懂與高深。當然,筆者也有以下學習的感悟和讀者分享。
(1)建立自信心。無論是C++還是Visual C++實際上都不是傳言的那么高深莫測,只要你努力,多花時間研究、實踐,一定會掌握它們。
(2)學習Visual C++之前一定要先掌握C++語言基礎。不要急于開發Windows界面之類的東西,最好先用C++開發一些字符界面,熟悉C++的基本用法。好的C++基礎能使你更好地邁入Visual C++開發的第一步。
(3)一定要理解Windows的消息和MFC的運行機制,這是Visual C++開發的思想靈魂。本書第4章就通過一些示意圖和生活實例帶你了解Visual C++中的相關知識。
(4)常用的消息名稱、參數最好能自己動手寫出來,而不是用時才查MSDN,這樣會加深理解,并提高你的編程效率。
(5)多實踐,多動手練習。只有在大量的編程實踐和練習中,你才能更深入地理解C++語言和Visual C++的本質。本書提供了大量實例供讀者演練,建議先動手編寫這些程序,而不要直接去從配書光盤中復制這些實例的源代碼。如果動手寫完后調試不出來,再與光盤上的源代碼進行對比,這樣學習效果更好。
(6)學習一門技術,一定要學會刨根問底,知其然還要知其所以然。如果不求甚解,可能到頭來會被越來越多的新知識點把自己搞暈。
(7)初學者千萬不要心浮氣躁,一定要循序漸進。所謂“千里之行,始于足下”,打好基礎,才能厚積薄發,所以開始不妨慢一些,等徹底理解了再進行下一步的學習,等積累到一定的時間后,會發現你已經具備了快速前進的資本了。
本書作者
本書由侯曉琴主筆編寫。其他參與編寫的人員有陳世瓊、陳欣、陳智敏、董加強、范禮、郭秋滟、郝紅英、蔣春蕾、黎華、劉建準、劉霄、劉亞軍、劉仲義、柳剛、羅永峰、馬奎林、馬味、歐陽昉、蒲軍、齊鳳蓮、王海濤、魏來科、伍生全。
致謝
從2012年9月開始到現在,有太多的人給予了我莫大的支持與幫助。在此我都要衷心地感謝他們。
在此,首先要感謝攻讀碩士期間的導師齊敏!是她給了大量練習Visual C++的機會,并指導我參與多個項目的開發。這使我這個非計算機科班出身的Visual C++愛好者有了鍛煉的平臺,沒有齊敏導師的栽培,我不會這么快脫離一無所知的境地。
此外,還要感謝我的家人!雖然有疾病困擾著我尊敬的父親,但他還是希望我能堅持寫下去,并理解我不能陪在身邊照顧他。還要感謝陳冠軍,當她知道我打算用這份稿費支付出國留學的機票費時,積極協助,以便幫助我早日圓了夢想。最后要感謝我的兩位好朋友王喻和劉海琛,每次在我面臨自己人生道路的十字路口時,他們給予了我心貼心的支持與安慰,讓我有了戰勝困難的決心和勇氣。最后感謝各位讀者閱讀本書!沒有你們的支持,我就缺少了寫作完本書的動力。
如果您在閱讀本書的過程中有任何疑問,請發E-mail到bookservice2008@163.com以獲得幫助。
作者
第1篇 開發環境及語言基礎
第1章 開發環境及常用應用程序框架( 教學視頻:21分鐘)
1.1 安裝并測試開發環境
1.1.1 安裝開發環境
1.1.2 安裝開發環境的幫助文件(MSDN)
1.1.3 測試開發環境實例:新建一個“HelloWorld”控制臺程序
1.2 介紹VisualC++的發展史
1.2.1 C發展為C++
1.2.2 Visual C++6.0的發展
1.2.3 了解VisualC++新版本的特點
1.2.4 簡述MFC類庫(Microsoft FoundationClasses)
1.3 介紹開發環境
1.3.1 簡述C/C++編譯器
1.3.2 了解VisualC++界面、菜單、工具欄
1.3.3 了解項目和項目工作區
第1篇 開發環境及語言基礎
第1章 開發環境及常用應用程序框架( 教學視頻:21分鐘)
1.1 安裝并測試開發環境
1.1.1 安裝開發環境
1.1.2 安裝開發環境的幫助文件(MSDN)
1.1.3 測試開發環境實例:新建一個“HelloWorld”控制臺程序
1.2 介紹VisualC++的發展史
1.2.1 C發展為C++
1.2.2 Visual C++6.0的發展
1.2.3 了解VisualC++新版本的特點
1.2.4 簡述MFC類庫(Microsoft FoundationClasses)
1.3 介紹開發環境
1.3.1 簡述C/C++編譯器
1.3.2 了解VisualC++界面、菜單、工具欄
1.3.3 了解項目和項目工作區
1.4 調試程序
1.4.1 查找源程序中的語法錯誤
1.4.2 運用調試器
1.4.3 跟蹤調試程序
1.5 介紹VisualC++常用應用程序框架
1.5.1 簡述Win32應用程序(Win32Application)
1.5.2 簡述Win32控制臺程序(Win32 ConsoleApplication)
1.5.3 簡述MFC應用程序(MFCApplication)
1.5.4 創建MFC動態鏈接庫(MFCDLL)
1.6 簡單介紹開發環境的快捷方式
1.7 本章總結
1.8 課后練習
第2章 C++入門基礎( 教學視頻:62分鐘)
2.1 C++基礎知識
2.1.1 學習C++的必要性
2.1.2 學習C++有何優勢
2.1.3 應具備什么素質學習C++
2.1.4 學完C++后會提高、增加哪些優秀品質
2.2 數據類型
2.2.1 基礎數據類型—常量和變量
2.2.2 小議簡單類型
2.2.3 對比分析共用體(union)和結構體(struct)
2.2.4 在實例中簡單應用指針類型
2.2.5 實現面向對象編程的必要條件—類
2.2.6 簡單應用string類
2.3 實例介紹能減少代碼行數的數據類型—數組
2.3.1 應用讀寫數據—一維數組
2.3.2 應用圖像處理—二維數組
2.3.3 應用處理字符串—字符型數組
2.4 用實例介紹運算符應用
2.4.1 介紹各種運算符優先級
2.4.2 應用“=”—賦值運算符
2.4.3 應用“+、-、*、/、%、++、--”—算術運算符
2.4.4 應用“&&、||、!”—邏輯運算符
2.4.5 應用“<、<=、>、>=、==、!=”—關系運算符
2.5 C++的流程控制語句
2.5.1 實現程序的選擇結構—if語句和switch語句
2.5.2 實現程序的循環結構—for語句、while語句和do…while語句
2.5.3 實例:一個工科生的每星期中選穿T恤顏色
2.6 函數
2.6.1 什么是函數
2.6.2 創建一個函數
2.6.3 函數的參數和返回值
2.7 實例詳解函數的調用
2.7.1 函數的嵌套調用
2.7.2 函數的遞歸調用
2.8 本章總結
2.9 課后練習
第3章 C++面向對象編程基礎( 教學視頻:34分鐘)
3.1 什么是面向對象編程
3.2 面向對象編程的基本內容
3.2.1 程序運行期的基本實體—對象
3.2.2 實現面向對象編程的必要條件—類
3.2.3 實現程序的模塊化—封裝
3.2.4 實現系統的可重用及可擴充性—繼承
3.2.5 同一消息為不同對象接受時產生完全不同的行為—多態
3.2.6 對象之間溝通的途徑—消息傳遞
3.3 討論類的結構及編寫規則
3.3.1 介紹構造函數
3.3.2 了解默認參數的構造函數
3.3.3 介紹析構函數
3.3.4 實例:介紹重載構造函數和拷貝構造函數
3.3.5 介紹虛函數功用
3.3.6 介紹虛基類
3.4 詳解派生類
3.4.1 派生類從何而來
3.4.2 派生類是單一繼承而來
3.4.3 派生類是多重繼承而來
3.4.4 派生類如何訪問基類成員
3.4.5 實例:如何寫一個派生類
3.4.6 實例詳解派生類的構造和析構函數的執行順序
3.5 實例介紹友元
3.5.1 應用友元函數
3.5.2 應用友元類
3.6 介紹重載
3.6.1 什么是重載
3.6.2 分析重載與重寫的不同
3.6.3 實例:函數的重載
3.6.4 實例:運算符的重載
3.7 實例:具體實現封裝、繼承
3.7.1 創建一個父類
3.7.2 編寫父類內函數
3.7.3 創建一個子類—實現繼承功能
3.7.4 封裝類和函數
3.8 本章總結
3.9 課后練習
第4章 MFC運行機制( 教學視頻:19分鐘)
4.1 什么是MFC
4.1.1 MFC基礎知識
4.1.2 介紹新建單文檔MFC應用程序的4個類
4.2 MFC程序運行順序
4.3 消息
4.3.1 消息的定義
4.3.2 消息中有什么?
4.3.3 消息的分類
4.4 消息隊列及消息處理
4.4.1 對比介紹隊列消息和非隊列消息
4.4.2 消息的發送方式—發送、寄送和廣播
4.4.3 描述接收消息的函數
4.4.4 詳解具體實例—消息的處理
4.5 實現窗口實時更新的必要條件—消息循環
4.5.1 非對話框程序的消息循環機制
4.5.2 對話框程序的消息循環機制
4.6 本章總結
4.7 課后練習
第2篇 VisualStudio圖形編程篇
第5章 結合實例詳解Windows標準控件( 教學視頻:37分鐘)
5.1 簡單介紹Windows標準控件
5.2 學習按鈕控件
5.2.1 創建一個按鈕
5.2.2 編輯按鈕的屬性與消息類型
5.2.3 響應按鈕的消息
5.2.4 調試以示效果圖
5.3 學習靜態控件
5.3.1 創建一個靜態文本框
5.3.2 編輯靜態框的屬性與消息類型
5.3.3 響應控件的消息
5.3.4 調試以示效果圖
5.4 學習編輯框控件
5.4.1 創建一個編輯框
5.4.2 編輯控件的屬性與消息類型
5.4.3 響應控件的消息
5.4.4 調試以示效果圖
5.5 學習組合框控件
5.5.1 創建一個組合框
5.5.2 編輯控件的屬性與消息類型
5.5.3 響應控件的消息
5.5.4 調試以示效果圖
5.6 學習進度條、滑塊控件
5.6.1 創建進度條
5.6.2 使用進度條
5.6.3 創建滑塊控件
5.6.4 使用滑塊控件
5.6.5 進度條、滑塊控件編程實例
5.7 簡單應用ActiveX控件
5.7.1 應用注冊表中已有的ActiveX控件
5.7.2 應用新下載的ActiveX控件
5.8 本章總結
5.9 課后練習
第6章 菜單(教學視頻:17分鐘)
6.1 建立菜單
6.1.1 認識菜單的響應順序
6.1.2 新建菜單
6.1.3 添加菜單項
6.1.4 加入菜單項的消息響應
6.2 關聯菜單項的各種動作
6.2.1 標記菜單項
6.2.2 設置缺省菜單項
6.2.3 創建圖形標記菜單
6.2.4 屏蔽子菜單的菜單選項
6.2.5 取消整個菜單
6.3 給菜單項設置快捷鍵
6.4 調用對話框
6.4.1 調用系統對話框
6.4.2 調用自建對話框
6.5 實例—動態創建菜單
6.6 本章總結
6.7 課后練習
第7章 編輯工具欄和狀態欄( 教學視頻:26分鐘)
7.1 編輯工具欄
7.1.1 認識工具欄
7.1.2 增加和刪除工具欄按鈕
7.1.3 編輯工具欄按鈕圖標
7.1.4 響應工具欄按鈕
7.2 設置工具欄的其他功能案例
7.2.1 給工具欄設標題
7.2.2 為工具欄按鈕添加下拉箭頭
7.2.3 為工具欄添加背景圖片
7.2.4 給工具欄按鈕設置熱點圖像
7.2.5 添加按鈕提示信息
7.2.6 給工具欄關聯控件
7.3 編輯狀態欄
7.3.1 創建狀態欄
7.3.2 在狀態欄中添加進度條
7.3.3 在狀態欄中添加時間
7.4 本章總結
7.5 課后練習
第8章 圖形圖像( 教學視頻:31分鐘)
8.1 圖形設備接口和設備環境
8.1.1 概述圖形設備接口
8.1.2 介紹設備環境
8.1.3 對比分析MFC設備環境類
8.1.4 GDI坐標系的映射模式
8.2 繪圖工具—畫筆和畫刷
8.2.1 介紹畫筆及應用
8.2.2 詳解運用畫筆實例
8.2.3 介紹畫刷及其應用
8.2.4 詳解運用畫刷實例
8.3 文本與字體
8.3.1 繪制文本
8.3.2 介紹文本字符屬性信息的TEXTMETRIC結構
8.3.3 概述字體的屬性
8.3.4 運用字體的例子
8.4 位圖、圖標和光標
8.4.1 MFC處理位圖實例
8.4.2 MFC處理圖標實例
8.4.3 MFC處理光標實例
8.5 本章總結
8.6 課后練習
第3篇 VisualC++程序開發基礎篇
第9章 數據文件讀寫( 教學視頻:53分鐘)
9.1 運用CFile類實現數據文件讀寫
9.1.1 認識CFile類
9.1.2 讀寫文件
9.1.3 文件的打開/保存對話框
9.1.4 復制、刪除和重命名文件
9.1.5 移動文件指針
9.1.6 查找文件內容
9.2 運用CArchive類實現數據文件讀寫
9.2.1 認識CArchive類
9.2.2 介紹緩沖區數據
9.2.3 基本數據讀寫
9.3 運用流對象實現數據文件讀寫
9.3.1 介紹文件輸入/出流
9.3.2 打開/關閉文件