- Visual C++程序設計學習筆記
- 劉春輝 徐健飛編著
- 169字
- 2019-03-01 23:37:11
第1章 Visual C++ 概述
本章為本書第一章,主要內容更側重于有關Visual C++ 6.0的基礎知識,對于初學者來說這是非常重要和必要的。Visual C++ 6.0是Microsoft公司推出的一款功能強大的Windows程序設計工具,其中包含著豐富的內容,我們將從Visual C++ 6.0的歷史和最基本的安裝操作講起,由淺入深,讓讀者逐步了解和掌握Visual C++ 6.0。
本章內容包括:
★Visual C++ 6.0簡介
★Visual C++的安裝
★Visual C++集成開發環境
★菜單欄和工具欄的應用

1.1 Visual C++ 6.0簡介
Visual C++是一個功能強大的可視化軟件開發工具。自1993年Microsoft公司推出Visual C++1.0后,隨著其新版本的不斷問世,Visual C++已經成為專業程序員進行軟件開發的首選工具。要使用Visual C++編程,首先要了解它的集成開發環境。Visual C++集成開發環境中的程序開發工具很多,要真正掌握它們必須結合具體的編程內容。本章只簡單介紹Visual C++集成開發環境的特點、安裝要求、界面風格和簡單工具的使用。通過本章的學習,讀者能夠對Visual C++有一個感性的認識。
盡管Microsoft公司已經推出了Visual C++ .NET,但Visual C++ .NET的應用存在較大的局限性??紤]到教材的特點和實際應用情況,本書仍然以Visual C++ 6.0作為教學平臺。Visual C++ 6.0不僅是一個C++編譯器,而且是一個基于Windows操作系統的可視化集成開發環境。Visual C++ 6.0由許多組件組成,包括編輯器、編譯器、調試器以及程序向導AppWizard等開發工具。這些組件通過一個名為Developer Studio的組件集成為統一的開發環境。
1.1.1 Visual C++的特點
Visual C++的源程序要求用C++語言編寫,它支持面向對象設計方法,并可以使用功能強大的微軟基礎類庫MFC(Microsoft Foundation Classes),充分體現了Microsoft公司的技術精華。由于Microsoft公司在操作系統市場上的壟斷地位,用Visual C++開發出來的軟件穩定性好,可移植性強,而且軟件與硬件相互獨立。
利用Visual C++可以編制各種類型的Windows應用程序,從最簡單的單文檔和對話框程序到復雜的多文檔和組合界面程序。并且Visual C++作為Visual Studio可視化組件家族中最重要的一個成員,與其他可視化工具如Visual Basic、Visual J++及Visual C#緊密地集成在一起,可進行不同類型的程序開發工作,適用于特殊、復雜和綜合軟件項目的開發以及系統軟件的設計。
Visual C++ 6.0源代碼編輯器提供了自動語句完成功能,編輯輸入源程序時,能自動顯示當前對象的成員變量和成員函數,并指明函數的參數類型。Visual C++ 6.0的編譯器增加了新的編譯參數,改進了對ANSI C++標準的支持,并采用Microsoft的代碼優化技術,使生成的目標代碼更短小,應用程序運行的速度更快。Visual C++ 6.0程序調試器功能更強大,提供了診斷映射機制、無須重編譯的調試、遠程調試和實時調試等功能。
Visual C++ 6.0的聯機幫助系統MSDN Library(Microsoft Developer Network Library)采用了當今流行的HTML格式。它既能與集成開發環境有機結合在一起,使得用戶在編程時隨機查詢需要的內容,又能脫離集成開發環境而獨立地運行。并且用戶還可以通過網絡獲取實時的幫助信息和實例。
Visual C++ 6.0通過Visual Studio為用戶提供了一些其他的實用工具,如Spy++查看器、ActiveX Control Test Container控件測試容器及Register Control控件注冊程序,擴展了Visual C++的功能。
除了Visual C++,其他一些知名公司也推出了自己的C++集成開發環境,如Borland的C++ Builder和IBM的VisualAge C++。迄今為止,Visual C++可以說是一個功能最強大和適用范圍最廣泛的軟件開發工具。當然,由于Windows編程的困難和MFC類庫功能的龐大,加上應用程序向導生成的程序框架結構的復雜性,使得學習Visual C++比學習其他開發工具更困難。用Visual C++編寫Windows應用程序最具有挑戰性,然而當熟練掌握Visual C++后,就會感受到作為Visual C++程序員的無比優越性。
1.1.2 Visual C++的安裝
計算機硬件技術發展很快,現在一般的機器配置就能支持Visual C++的運行。以Visual C++ 6.0為例,要求CPU為Pentium以上系列,內存為64MB,所需硬盤空間約為500MB,操作系統為Windows 95/98/2000或Windows NT。
安裝Visual C++ 6.0時,首先將光盤放入光驅中,如果計算機啟用了自動安裝Autorun特性,則幾秒后安裝程序自動運行,否則需要運行光盤根目錄下的Setup.exe程序。安裝向導程序啟動后將自動完成Visual C++的安裝,用戶只需要根據對話框的提示輸入具體的內容。如輸入產品序列號和用戶信息,選擇安裝選項(Custom、Products、Server Applications)、安裝路徑和需要安裝的組件等。
所選的具體安裝選項和組件取決于Visual Studio的版本,如果產品是Visual Studio 6.0企業版,則安裝向導程序會列出Visual Studio 6.0中所有的組件,其中包括主要的開發環境和工具。除了選擇Visual C++ 6.0,建議選擇Visual SourceSafe 6.0、ActiveX、Data Access、Enterprise Tools、Graphics、Tools等組件和工具。
安裝完畢后,Visual Studio安裝程序會提示用戶重啟計算機。如果要安裝MSDN,選擇Install MSDN,插入Visual Studio 6.0的MSDN光盤繼續進行安裝。MSDN是每一個Visual C++程序員必不可少的聯機幫助文件,用戶最好隨系統一起安裝它。
1.1.3 集成開發環境窗口
從Windows“開始 — 程序”菜單中選擇Microsoft Visual C++ 6.0的菜單項,就啟動了Visual C++集成開發環境,出現了集成開發環境的主窗口Developer Studio。Visual C++通過Developer Studio窗口將所有組件集成在開發環境中,用戶可以利用Developer Studio編寫一個應用程序。下面通過一個例子說明Developer Studio的特點。
(1)啟動Visual C++ 6.0,打開File菜單,執行New菜單命令,出現New對話框,如圖1-1所示。在Projects頁面中選擇MFC AppWizard(exe)選項,在Project name編輯框中輸入項目名稱,例如Mysdi,在Location編輯框中輸入保存項目的路徑。單擊OK按鈕,進入MFC AppWizard操作向導的第1步。

圖1-1 創建一個應用程序
(2)在MFC AppWizard對話框中設置應用程序的類型,本例要創建一個單文檔應用程序,因此要選擇Single document項,單擊Finish按鈕,出現New Project Information對話框,單擊OK按鈕,將生成應用程序框架文件,并在項目工作區窗口打開生成的應用程序的項目。
如圖1-2所示是開發應用程序時一般的Developer Studio窗口示意圖。Developer Studio窗口由標題欄、菜單欄、工具欄、工作區窗口、源代碼編輯窗口、輸出窗口和狀態條組成。當利用Developer Studio打開一個項目或建立一個新的項目以及進行具體操作時,其中對應的窗口將給出相應的顯示信息。

圖1-2 Developer Studio窗口
Developer Studio主窗口分為幾個部分。窗口最頂端為標題欄,注明當前項目的名稱和當前編輯文檔的名稱,如“Mysdi-Microsoft Visual C++-[MysdiView.cpp]”。名稱的后面有時會顯示一個“*”,表示當前文檔在修改后還沒有保存。
標題欄下面是菜單欄和工具欄,菜單欄中的菜單項包括了Visual C++的全部操作命令,工具欄以位圖形式顯示常用操作命令。一些不常用的工具欄一般情況下不出現在主窗口中,只有在使用它們時才會自動彈出。Developer Studio中的菜單欄和工具欄均為??渴降模梢杂檬髽送蟿铀鼈兊狡聊坏娜魏挝恢?,其大小也可以手工調整。
工具欄下面的右邊是編輯窗口,用于顯示當前編輯的C++程序源文件和資源文件。編輯窗口是含有最大化、最小化、關閉按鈕和系統菜單的普通框架窗口。當打開一個源文件或資源文件時,就會自動打開其對應的編輯窗口。在Developer Studio中可以同時打開多個編輯窗口,編輯窗口以平鋪式或層疊式顯示。
工具欄下面的左邊是工作區(Workspace)窗口,其中包括ClassView、ResourceView和FileView三個頁面,分別用于列出當前應用程序中所有的類、資源和源文件,其詳細使用說明將在1.2.2小節中介紹。
編輯窗口和工作區窗口下面是輸出(Output)窗口,當編譯、鏈接程序時,輸出窗口會顯示編譯和鏈接信息。如果進入程序調試狀態,主窗口中還將出現一些調試窗口。
主窗口的最底端是狀態欄,顯示內容包括當前操作或所選擇命令的一般性提示信息、當前光標所在位置信息,以及當前的編輯狀態信息等。
集成開發環境中顯示兩種類型的窗口:浮動窗口和??看翱凇8哟翱谑菐н吙虻淖哟翱?,它可以顯示源代碼或圖形。浮動窗口能以平鋪方式或層疊方式顯示在集成開發環境中,圖1-2中的編輯窗口就是一個浮動窗口。
除了浮動窗口,集成開發環境中的所有其他窗口都是??看翱?,包括工具欄和菜單欄。開發環境中有兩個主要的??看翱冢碬orkspace工作區窗口和Output輸出窗口。另外還有一個Debugger調試器窗口,在調試時自動打開。
??看翱诳梢怨潭ㄔ诩砷_發環境的頂端、底端或側面,也可以浮動在屏幕的任何位置。??看翱诓徽撌歉又倪€是固定著的,總是出現在浮動窗口的前面。這就保證了當焦點從一個窗口移到另一個窗口時??看翱诳偸强梢姷摹?/p>
一個??看翱诘墓潭ê透有问绞强梢韵嗷マD換的。當拖動一個固定窗口任何邊緣未使用部分至屏幕中間位置,該固定窗口就轉換成了浮動窗口。反之,當拖動一個浮動窗口的標題欄至開發環境主窗口的任何邊緣上,該浮動窗口就轉換成固定窗口。單擊窗口上的關閉按鈕將關閉窗口,要想重新打開窗口,可在主菜單中選擇相應的菜單項。
1.1.4 MSDN幫助系統
除了有關Visual C++ 6.0集成開發環境具體操作說明的聯機幫助文件,Microsoft Visual Studio還提供了MSDN Library組件。MSDN幫助系統是一個HTML格式的幫助文件,它所包含的內容非常豐富,包含了有關Visual Studio的編程原理、方法和應用實例等內容,并且使用MSDN時可以通過訪問微軟網站www.microsoft.com獲取有關MSDN的最新信息。
用戶通過選擇Help菜單下的Contents命令或Search工具欄按鈕就可以進入MSDN幫助系統。也可單擊F1鍵快速獲取相關內容的幫助,如在源文件編輯器中用光標把一個需要查詢的單詞全選上,或單擊一條出錯提示信息,然后按下F1鍵出現MSDN的“索引”頁面。
MSDN Library是Microsoft Visual Studio的一個組件,它可脫離于Visual C++集成開發環境而獨立運行。如圖1-3所示即為MSDN運行時的一般界面。

圖1-3 MSDN幫助系統
1.2 項目和項目工作區
從前一小節的例子中我們可以看到,編寫一個應用程序首先要創建一個項目(project),在創建項目的同時創建了項目工作區。項目工作區記錄了一個項目的集成開發環境的設置,如Developer Studio關閉前各窗口最后的狀態。
1.2.1 項目
從軟件工程的角度來看,每個程序的開發工作都是一個項目工程,涉及計算機及相關專業的知識及其應用。編程時還要使用生成、編輯、編譯、鏈接、調試等一系列工具,并且可執行文件不是僅由一個源程序文件生成,而是由一些相互關聯的源文件和資源文件共同生成的。
在Visual C++集成開發環境中,把實現應用程序設計功能的一組相互關聯的C++源文件、資源文件以及支撐這些文件的類的集合稱為一個項目。Visual C++集成開發環境以項目作為程序開發的基本單位,項目用于管理組成應用程序的所有元素,并生成應用程序。項目用項目文件DSP(developer studio project fi le)來描述,文件名后綴為dsp。項目文件保存了項目中所用到的源代碼文件和資源文件的信息,如文件名和路徑。同時,項目文件還保存了項目的編譯設置等信息,如調試(debug)或發布(release)。
一個項目至少包含一個項目文件。另外,根據項目類型的不同,一個項目還包含不同的源文件、資源文件和其他文件。
1.2.2 項目工作區
Visual C++集成開發環境以項目工作區的方式來組織應用程序的項目,項目工作區用工作區文件DSW(developer studio workspace fi le)來描述,文件名后綴為dsw。工作區文件保存了應用程序集成開發環境的項目設置信息,它將一個DSP項目文件與具體的Developer Studio結合在一起,在Visual C++集成開發環境中一般以開發工作區文件DSW的方式來打開指定的項目。
創建項目后,用戶可通過項目工作區Workspace窗口來查看項目中的組成元素。從前面的圖1-2可以看到,Workspace窗口一般由ClassView、ResourceView和FileView三個頁面組成。如果創建數據庫項目(database project), Workspace窗口將出現DataView頁面。這些頁面將一個項目按照一定的邏輯關系分為幾個部分,以樹形結構形式顯示項目所創建的類、資源和文件。用戶可以很方便地使用三個頁面標簽在不同的視圖之間進行切換,通過它們查看項目中所有的類、資源和文件。
1.2.3 項目設置
一般可使用默認的項目設置生成應用程序的執行代碼,當然也可以改變當前項目的設置。Visual C++集成開發環境提供了相關的命令來設置項目,如Project菜單的Settings命令、Build菜單中的Confi gurations命令和Tools菜單中的Customize、Options命令等。
執行Project — Settings菜單命令打開Project Settings項目設置對話框,如圖1-4所示。在Debug頁面可設置程序執行時的命令行參數,在C/C++頁面可優化編譯器設置和添加預處理器宏,在Link頁面可設置鏈接器選項。

圖1-4 設置編譯器選項
1.3 編輯器
程序代碼由操作碼和數據組成,除了一般數據,一個Windows應用程序大量使用被稱為資源的數據。Visual C++作為可視化的程序開發工具,提供了功能強大的源代碼編輯器和各種類型的資源編輯器。
1.3.1 源代碼編輯器
Visual C++的源代碼編輯器是一個很出色的文本編輯器,可用于編輯很多類型的文件,如C/C++頭文件、C++源文件、文本文件和HTML文件等。當打開或建立上述類型的文件時,該編輯器自動打開。Visual C++源代碼編輯器除了具有一般的編輯功能,如復制、查找和替換等,還具有方便編程的特色功能。
1.3.2 資源編輯器
Windows資源用于創建程序的框架界面,包括菜單(menu)、工具欄(toolbar)、對話框(dialog)、圖標(icon)、光標(cursor)、位圖(bitmap)、快捷鍵(accelerator)、串表(string table)等,資源編輯器是對上述資源進行編輯的工具。使用資源編輯器可以創建新的資源或編輯已有的資源。當新建或打開一個資源時,系統將自動打開相應的資源編輯器。當新建一個資源時,資源管理器自動給資源分配一個資源標識號ID。
常用的資源編輯器有圖像編輯器、工具欄編輯器、快捷鍵編輯器、串表編輯器、版本信息編輯器等,其他資源編輯器將在后續章節進行介紹。
1. 圖像編輯器
圖像編輯器由繪圖區、繪圖工具箱和調色板組成。當圖像編輯器打開之后,Developer Studio窗口將出現Image主菜單。同時,還激活了Graphics工具欄和Colors工具欄,這兩個工具的操作方法與Windows的畫圖工具類似。圖像編輯器主要用于繪制位圖、圖標、光標和工具條。在Workspace項目工作區中的ResourceView頁面雙擊這些資源時就會打開對應的圖像編輯器,如圖1-5所示。

圖1-5 圖像編輯器
2. 工具欄編輯器
工具欄一般是常用菜單命令的快速執行方式,Windows應用程序用一個形象的位圖來作為工具欄按鈕的外觀。工具欄編輯器實際上也是一個圖像編輯器,它主要用于創建新的工具欄按鈕,在項目工作區的ResourceView頁面打開Toolbar文件夾,雙擊其中的工具欄資源,出現如圖1-6所示的工具欄編輯器,單擊最后的空白項可添加一個新的按鈕,利用Graphics和Colors工具畫出按鈕的圖形。鼠標按下并拖動某個工具欄按鈕,可將該按鈕刪除。

圖1-6 工具欄編輯器
3. 快捷鍵編輯器
在項目工作區ResourceView頁面打開Accelerator文件夾,雙擊其中的快捷鍵資源,出現如圖1-7所示的快捷鍵編輯器。雙擊圖1-7中的快捷鍵列表項,可打開Accel Properties快捷鍵屬性對話框來編輯快捷鍵。要添加快捷鍵,先雙擊編輯器快捷鍵列表底部的空白行,在隨后出現的快捷鍵屬性對話框中,選擇需要添加快捷鍵的菜單項標識ID,然后設置快捷鍵和組合鍵。

圖1-7 快捷鍵編輯器
4. 串表編輯器
運行一個Windows應用程序后,當鼠標指向菜單項和工具欄按鈕時,在底部狀態欄將顯示所指項的有關提示消息,串表就是這樣一種資源字符串。利用字符串編輯器可進行串表的編輯、添加和刪除等操作。在項目工作區ResourceView頁面打開String Table文件夾,雙擊串表資源,出現如圖1-8所示的串表編輯器。串表編輯器的使用方法與快捷鍵編輯器的使用方法類似。

圖1-8 串表編輯器
5. 版本信息編輯器
在Windows中,版本信息(versioninfo)也是作為資源處理。版本信息主要包括版本號、產品的操作系統、語言和公司名稱等內容,版本信息編輯器用于上述信息的編輯。每個應用程序有一個版本信息資源,其標識ID為VS_VERSION_INFO。雙擊版本信息資源中某一項可以編輯相應的版本信息,如圖1-9所示。

圖1-9 版本信息編輯器
1.4 菜單欄和工具欄
菜單欄和工具欄是Visual C++集成開發環境的重要組成部分,工具欄一般與菜單項有對應關系。Visual C++集成開發環境包括100多個不同的菜單項和幾乎同樣數目的工具欄按鈕,而且它們中的大多數還會引導出復雜的對話框和具有大量選項的屬性頁。因此,本節只對主要的菜單欄和工具欄進行簡要介紹,更加復雜的菜單欄和工具欄的應用將在后面章節進行詳細討論。
1.4.1 菜單欄
Visual C++集成開發環境中的菜單欄由File、Edit、View、Insert、Project、Build(Debug)、Tools、Window和Help等9個主菜單組成,每個主菜單又由多個菜單項和子菜單項組成。子菜單項提供的功能幾乎可以完成所有的Developer Studio功能。除了主菜單,在Visual C++集成開發環境中的窗口的不同地方右擊還可以彈出相應的快捷菜單。可參考圖1-2 Developer Studio窗口中的菜單欄選項。
1.4.1.1 File菜單
File菜單主要包括一些與文件有關的操作命令,如新建、打開、關閉、保存和顯示最近的項目、文件、工作區等,各命令的功能分述如下。
1. New命令(Ctrl+N)
New命令用于創建新的文件、工程、工作區或其他文檔。當選擇此命令后,屏幕會出現圖1-1所示的New對話框。其中包含了4個選項卡:Files、Projects、Workspaces和Other Documents。在File選項卡中,可以選擇創建各種文件,當選擇Add to project復選框時,則新創建的文件將加入到當前工程中。
注意:
在File文本框中輸入文件名之前,OK按鈕將顯示為灰色,即處于禁用狀態。在Files選項卡中可以創建的文件類型見表1-1。
表1-1 在FiIes選項卡中可創建的文件類型

使用New命令還可以創建工程、工作區和其他文檔,其用法將通過以后的例子逐漸介紹。
2. Open命令(Ctrl+O)
Open命令的功能是打開已有的文件??梢源蜷_的文件類型有C++文件、Web文件、資源文件、文本文件、項目文件和工作區文件等。
3. Close命令(Ctrl+C)
Close命令的功能是關閉在代碼編輯窗口中當前顯示的文件。
4. Open Workspace命令
Open Workspace命令的功能是打開工作區文件。
5. Save Workspace命令
Save Workspace命令的功能是保存當前打開的工作區。
6. Close Workspace命令
Close Workspace命令的功能是關閉當前打開的工作區。
7. Save命令(Ctrl+S)
Save命令的功能是保存代碼編輯窗口中當前顯示的文件。如果代碼編輯窗口中沒有顯示任何文件,則此命令為禁用狀態。
8. Save As命令
選擇File — Save As命令時,將會彈出“保存為”對話框,在文件名欄中輸入新文件名,單擊“保存”按鈕,代碼編輯窗口中的文件將被保存為另一個文件。當代碼編輯窗口中沒有顯示任何文件時,此命令將為禁用狀態。
9. Save All命令
Save All命令的功能是保存所有窗口中的文件信息。如果某一窗口中的文件從來沒有保存過,則系統會提示為此文件輸入一個有效的文件名。
10. Page Setup命令
當選擇此命令時,將彈出Page Setup對話框,通過此對話框可以對頁面的格式進行各種設置,如設置頁面的頁眉(Header)、頁腳(Footer)、左頁邊距(Left)、右頁邊距(Right)、上頁邊距(Top)、下頁邊距(Bottom)。
11. Print命令
Print命令的功能是打印當前代碼編輯窗口中的文件或選定的內容。當選擇此命令時,將彈出Print對話框,如果代碼編輯窗口中沒有被選中的塊,Selection選項為禁用狀態,打印范圍(Print range)默認為All。Setup按鈕用于設置打印機的屬性,與標準的Windows程序中設置打印機屬性方法相同。
12. Recent Files命令
Recent Files命令用于打開級聯菜單,在下級的菜單中顯示最近打開的文件,直接單擊文件名稱,則系統直接加載該文件。在默認情況下,級聯菜單最多可以顯示4個文件,顯示文件的個數可以通過Tools菜單下的Options命令進行設置。
13. Recent Workspaces命令
Recent Workspaces命令用于打開級聯菜單,在下級的菜單中顯示最近打開的工作區,直接單擊工作區名稱,則系統直接加載該工作區。在默認情況下,級聯菜單最多可以顯示4個工作區名稱,顯示工作區的個數可以通過Tools菜單下的Options命令進行設置。
14. Exit命令
Exit命令的功能是退出編程環境。當選擇此命令時,如果某個文件進行了改動但沒有保存,則系統會提示是否保存該文件。
1.4.1.2 Edit菜單
Edit菜單主要包括一些與文件編輯有關的操作命令,如復制、粘貼、剪切、查找、替換、設置、刪除和查看斷點等,各個命令的功能分述如下:
1. Find命令
Find命令用于查找指定字符串。選擇Edit — Find命令,彈出Find對話框(如圖1-10所示)。

圖1-10 Find對話框
2. Find in Files命令
Find in Files命令用于在多個文件中查找指定的字符串。選擇Edit — Find in Files命令,將彈出Find In Files對話框,如圖1-11所示。

圖1-11 Find In Files對話框
3. Replace命令
Replace命令用于在文件中將指定字符串替換為另一字符串。選擇Edit — Replace命令,將彈出Replace對話框。Replace對話框基本類似于Find對話框,只是增加了Replace with文本框,用于輸入進行替換的字符串。
4. Go To命令
Go To命令用于將光標移到當前活動窗口的指定位置,包括地址、書簽、行號、對象的定義位置和引用位置等。選擇Edit — Go To命令,將彈出Go To對話框,如圖1-12所示。左邊的值列表選擇以何種方式移動光標,中間的文本框用于選定或輸入相應的值。

圖1-12 Go To對話框
5. Bookmarks命令
Bookmarks命令用于在文件中定義書簽。選擇Edit — Bookmarks命令,其對話框中的Name文本框用于輸入書簽名。
6. Advanced命令
在Advanced命令中包括了下面的一些子命令。
Incremental Search:增值查詢,選中后,對任意位置出現的變量和對象均提供較詳細的說明。
Format Selection:格式化選定區域的內容。
Tabify Selection:用Tab符號替換選定區域內的空格。
Untabify Selection:用空格替換選定區域內的Tab符號。
Make Selection Uppercase:使選定區域內的所有字符大寫。
Make Selection Lowercase:使選定區域內的所有字符小寫。
View Whitespace:顯示或隱藏活動窗口內的空格和Tab符號。
7. Breakpoints命令(Alt+F9)
Breakpoints命令用于設置、查看或取消斷點。當選擇此命令時,將彈出Breakpoints對話框,如圖1-13所示。

圖1-13 Breakpoints對話框
斷點用于告訴調試器應該在何時何地中斷程序的執行過程,以便檢查程序代碼、變量和寄存器值,在必要時可以修改、繼續執行或中斷執行。在對話框中有3個選項卡:Location、Data和Messages,它們分別用于設置位置斷點、數據斷點和消息斷點,對斷點的類型作如下說明。
(1)位置斷點。通常在源代碼的指定行、函數的開始或指定的內存地址處設置,程序執行到指定位置時,位置斷點將中斷程序的執行。
(2)數據斷點。在某變量或表達式上設置,當變量或表達式的值改變時,數據斷點將中斷程序的執行。
(3)消息斷點。在窗口函數WndProc上設置,當接收到指定的消息時,消息斷點將中斷程序的執行。
(4)條件斷點。是一種位置斷點,僅當指定的條件為真時才判斷程序的執行。要設置條件斷點,必須先設置位置斷點,然后再設置中斷程序執行的條件。
8. List Members命令(Ctrl+Alt+T)
當輸入程序源代碼時,如果在變量名后面鍵入->,則系統會自動顯示所有有效的成員名稱。鍵入待輸入的成員的前幾個字母即可從列表中選中該成員,按Tab鍵即可完成輸入。
9. Type Info命令(Ctrl+T)
它的作用是當在代碼編輯窗口中將鼠標指向某一個標識符時,則系統將顯示所指變量、函數或方法等的語法規定。
10. Parameter Info命令(Shift+Ctrl+Space)
當輸入代碼時,若在輸入函數名之后鍵入左括號,則系統會顯示此函數的完整原型,并用黑體字顯示第一個參數,輸入第一個參數后,第二個參數將變為黑體字。
11. Complete Word命令(Ctrl+Space)
此命令的作用是自動完成當前語句其余部分的輸入。
1.4.1.3 View菜單
View菜單中的菜單命令項主要用于改變窗口的顯示方式和激活指定的窗口,如激活ClassWizard類向導、Workspace工作區窗口、Output輸出窗口和Debug Windows調試窗口。
1. ClassWizard命令(Ctrl+W)
ClassWizard命令是Visual C++中最常用的工具,它的功能是創建新的類、處理映射消息,創建和刪除消息、處理函數、資源命令函數和添加類的成員變量。關于ClassWizard的具體使用方法將在第二章詳細介紹。
2. Resource Symbols命令
此命令的功能是打開資源符號瀏覽器,對資源符號進行瀏覽和編輯。當選擇此項時,將彈出Resource Symbols對話框,如圖1-14所示。

圖1-14 Resource Symbols對話框
3. Resource Includes命令
此命令的功能是修改資源符號文件名和預處理器指令。當選擇此命令時,將彈出Resource Includes對話框,如圖1-15所示。在Symbol header file文本框中顯示工程的資源頭文件;在Read-only symbol directives列表框中顯示的是資源頭文件的內容。

圖1-15 Resource Includes對話框
4. Full Screen命令
此命令的功能是以全屏方式顯示當前的活動窗口,所有的菜單、工具條和其他窗口全部被隱藏。全屏顯示后,單擊Toggle Full Screen按鈕或直接按Esc鍵可以切換回原來的顯示方式。
5. Workspace命令(Alt+0)
此命令的功能是顯示工程工作區窗口。當工程工作區顯示并且是當前活動窗口時,按Shift+Esc鍵則可以將工作區窗口隱藏。
6. Output命令(Alt+2)
此命令的功能是顯示輸出窗口,它可以顯示程序建立過程中的有關信息或錯誤信息,并顯示調試運行時的輸出結果。
7. Debug Windows命令
當選中此命令時,將彈出子菜單,其中的命令用于顯示調試信息窗口,在調試時才可用。各個子命令的功能如表1-2所示。
表1-2 Debug Windows子菜單說明

1.4.1.4 Insert菜單
Insert菜單主要包括一些諸如插入新建的類、窗體資源或者復制資源,以及新建ATL對象等操作的命令。
1. New Class命令
此命令用于打開New Class對話框,以便創建新的類,并將其加入到當前工程中。
2. New Form命令
此命令用于創建新的窗體,并將其加入到當前工程中。選中此命令時,彈出New Form對話框,如圖1-16所示。

圖1-16 New Form對話框
3. Resource命令(Ctrl+R)
此命令的功能是創建新的資源或將資源插入到資源文件中,如圖1-17所示。

圖1-17 Insert Resource對話框
4. Resource Copy命令
此命令的功能是復制已存在的資源,選中此命令將彈出Insert Resource Copy對話框,如圖1-18所示。

圖1-18 Insert Resource Copy對話框
5. New ATL Object命令
此命令的功能是啟動ATL Object Wizard,以便添加新的ATL對象到當前工程中。
1.4.1.5 Project菜單
Project主菜單主要包括一些與項目管理有關的操作命令,如向項目添加文件、設置當前項目、改變編譯器和鏈接器選項等。各命令的功能說明如下。
1. Set Active Project命令
如果當前工程工作區中同時打開多個工程,則通過此命令的下級菜單可以指定當前活動的工程。
2. Add To Project命令
此命令的功能是添加文件、文件夾或數據源到工程中。
3. Dependecies菜單項
此命令的功能是允許一個工程屬于其他工程,工程必須重新編譯和鏈接。
4. Settings命令(Alt+F7)
此命令的功能是對工程進行設置,當選中此命令時,將彈出Project Settings對話框,此功能前面已經介紹過。
1.4.1.6 Build菜單
Build主菜單主要包括一些與建立可執行程序有關的操作命令,如編譯、鏈接和調試程序等,各命令的功能說明如下。
1. Compile命令(Ctrl+F7)
此命令的功能是編譯代碼編輯窗口中當前具有輸入焦點的源文件,以便檢查源文件中是否有語法錯誤。如果檢查出存在語法錯誤,則在輸出窗口中顯示錯誤信息??梢韵蚯盎蛳蚝鬄g覽輸出窗口中的錯誤信息。
2. Build命令(F7)
此命令的功能是對當前工程中所有最近修改過的文件進行編譯和鏈接,生成可執行文件。
3. Rebuild All命令
此命令的功能是對當前工程中所有的文件進行編譯和鏈接,生成可執行文件,它與Build命令的區別是后者只編譯和鏈接最近修改過的文件。
4. Batch Build命令
單擊此命令會出現如圖1-19所示的對話框。默認情況下,工程會有Release和Debug兩個版本,如果選擇Release版本,單擊Build按鈕生成的是工程的Release版本,反過來選擇Debug版本也是一樣。

圖1-19 Batch Build對話框
5. Clean命令
Clean選項用來清除工程Release或Debug版本中的所有中間文件和輸出文件,工程所在目錄只有源文件。
6. Start Debug命令
當選擇此命令時,將會彈出子菜單,子菜單中含有用于啟動調試器運行的命令。
7. Debugger Remote Connection命令
對遠程調試連接設置進行編輯。
8. Execute命令(Ctrl+F5)
此命令的功能是運行應用程序。
9. Set Active Confi guration命令
此命令的功能是選擇活動工程的配置。
10. Confi gurations命令
此命令的功能是添加或刪除工程的配置。
11. Profi le命令
此命令的功能是啟動剖視器(Profi le)來檢查程序的運行能力。
1.4.1.7 Debug菜單
當啟動調試器后,Debug菜單將取代Build菜單出現在主菜單欄中。它的主要命令均與在調試過程中經常用到的命令相關,對于各命令功能的說明見表1-3。
表1-3 Debug命令功能說明

1.4.1.8 Tools菜單
Tools主菜單中的菜單命令項主要用于啟動Visual Studio實用工具、定制Visual C++集成開發環境界面。
1. Source Browser命令(Alt+F12)
此命令的功能是瀏覽工程的各種對象的各方面內容,如圖1-20所示。在Identifi er文本框中,輸入要查看的對象名稱,如變量名、函數名等,在Select query列表中列出了瀏覽的方式,說明如下:

圖1-20 Browse對話框
(1)Defi nitions and References查看對象的定義或索引。
(2)File Outline查看對象的說明和定義所在的文件及位置。
(3)Base Classes and Members查看某個類的基類及其成員函數。
(4)Call Graph查看某個函數中所有調用的函數。
(5)Callers Graph查看某個函數在工程中被調用的情況。
2. Close Source Browser File命令
此命令用于關閉打開的瀏覽信息數據庫。
3. Visual Component Manager命令
當選中此命令時,將激活可視化部件管理器。它是存儲、組織及共享可重用部件的工具。
4. Register Control命令
將OLE控件注冊到操作系統中。
5. Error Lookup命令
檢查大多數Win32 API函數返回的標準錯誤代碼信息。
6. ActiveX Control Test Container命令
為測試ActiveX控件提供一個簡單的環境。
7. OLE/COM Object Viewer命令
提供了安裝在系統中所有的OLE及ActiveX的信息。
8. Spy++命令
激活Spy++,用于給出系統的進程、線程、窗口和窗口消息的圖形表示。
9. MFC Tracer命令
執行或調試程序時,用于激活各種級別的調試消息,并且MFC將調試消息發送到輸出窗口。
10. Customize命令
此命令的功能是設置開發環境的界面,如菜單、工具條等。
11. Options命令
此命令主要用于對Visual C++的環境進行設置,當選擇此命令時,將彈出Options對話框,在此對話框中可以進行調試器設置、窗口設置、目錄設置、工作區設置和格式設置等各項工作。
12. Macro菜單項
創建和編輯宏文件。
13. Record Quick Macro命令
開始進行宏的錄制。
14. Play Quick Macro命令
執行錄制的宏。
1.4.1.9 Window菜單
Window主菜單主要包括一些與窗口顯示有關的操作命令,對各個命令的功能說明見表1-4。
表1-4 Window菜單各個命令的功能說明

1.4.1.10 Help菜單
Help主菜單主要包括了有關Visual C++幫助的操作命令。
1.4.2 工具欄
Visual C++集成開發環境的工具欄以??看翱诘男问匠霈F,工具欄的位置可以移動,也可以根據需要對工具欄進行顯示或隱藏的切換。執行Tools菜單的Customize菜單命令,打開Customize對話框,然后選擇Toolbars選項卡,如圖1-21所示。

圖1-21 在Customize對話框中設置工具欄
要恢復工具欄或菜單欄到系統原來的默認狀態,在Customize對話框中單擊Reset All或Reset All Menus按鈕即可。Visual C++集成開發環境的工具欄有很多個,如Standard、Build MiniBar、Resource、Debug和Edit等。下面主要介紹Standard、Build MiniBar和WizardBar工具欄,其他工具欄的使用在本書后面章節再作介紹,Standard工具欄如圖1-22所示。

圖1-22 Standard工具欄
表1-5給出了Standard工具欄各個按鈕的功能描述。
表1-5 Standard工具欄按鈕功能描述

2. Build MiniBar工具欄
Build MiniBar工具欄中主要包括了項目的選擇、編譯、鏈接和調試等操作命令,每個按鈕的功能主要與Build和Debug主菜單中某個菜單項對應。如圖1-23所示給出了Build MiniBar工具欄的一般形式。

圖1--23 Builild MiiniiBarr工具欄
表1-6給出了Build MiniBar工具欄各個按鈕的功能描述。
表1-6 BuiId MiniBar工具欄按鈕的功能描述

3. WizardBar工具欄
在默認設置情況下,Visual C++集成開發環境中將顯示WizardBar工具欄,它一般位于Standard工具欄下面。WizardBar是對Visual C++中特色功能的快捷操作,它提供了對某個類的某個成員的快速訪問,能顯示、跟蹤和操作當前成員。如圖1-24所示給出了WizardBar工具欄的一般形式。

圖1-24 WizardBar工具欄
WizardBar具有上下文跟蹤功能,它能動態跟蹤源代碼的當前位置,并顯示當前項目中的相關信息。當用戶在源代碼編輯窗口中進行編輯時,WizardBar將顯示當前光標處的類或成員函數。當光標指向函數定義以外的區域時,WizardBar的Members列表框變灰。當用戶編輯對話框時,WizardBar將跟蹤光標所選擇的對話框或對話框控件。
1.5 本章小結
本章開始主要介紹了Visual C++的特點和安裝,尤其著力介紹了集成開發環境窗口;接著介紹了讀者容易忽視的項目工作區和資源編輯器等,最后詳細講述了菜單欄和工具欄的功能和使用方法。
- 多媒體CAI課件設計與制作導論(第二版)
- Learn TypeScript 3 by Building Web Applications
- Mastering Adobe Captivate 2017(Fourth Edition)
- Arduino開發實戰指南:LabVIEW卷
- Learning Elixir
- 新手學Visual C# 2008程序設計
- 物聯網系統開發:從0到1構建IoT平臺(第2版)
- Bulma必知必會
- Python漫游數學王國:高等數學、線性代數、數理統計及運籌學
- Java 11 Cookbook
- Mastering Ext JS
- TypeScript項目開發實戰
- Mastering Xamarin.Forms(Second Edition)
- SQL Server實用教程(SQL Server 2008版)
- 軟件工程與UML案例解析(第三版)