版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1,Visual C++使用方法簡介,2,Visual C++菜單欄,Visual C++6.0的菜單分成9大類:[File]文件 [Edit]編輯 [View]視圖 [Insert]插入 [Project]工程 [Build]組建 [Tools]工具 [Window]窗口 [Help]幫助在程序運行時, Visual C++ 6.0的菜單欄可以動態(tài)改變,還有[Layout]
2、和[Debug]。如在調(diào)試狀態(tài)下, [Build]變成了[Debug]。,3,[File]文件菜單,[File]菜單共有14選項,分成6組:1、[New]新建一個一般文件,工程,工作區(qū),其他文檔。[Open]打開、[Close]關(guān)閉2、Workspace工作區(qū)操作,打開、保存和關(guān)閉工作區(qū)。3、有三個菜單項,用于文件保存。4、有二個菜單項,用于文件打印。5、用于打開以前打開過的文件或工作區(qū)。6、一個菜單項Exit,用于退出V
3、isual C++ 6.0。,4,[Edit]編輯菜單,[Edit]菜單分成7組:1、撤銷編輯結(jié)果,或重復(fù)前次編輯過程。2、提供常見的編輯功能。3、字符串查找和替換。4、Go to和Bookmark編輯行定位和書簽定位。5、Advanced(高級),一些其他編輯手段。6、Breakpoints,與調(diào)試有關(guān),主要用于設(shè)置斷點。7、成員列表、函數(shù)參數(shù)信息、類型信息,及自動完成功能。,5,[View]視圖菜單,[View]菜單共
4、有9個選項,分成6組(初始時沒有1和7):1、ClassWizard(或Ctrl+W),激活MFC ClassWizard 類向?qū)Чぞ?,用來管理類、消息映射等?、Resource Symbols 對工程所定義的所有資源標(biāo)號,進行瀏覽和管理。3、 Resource Includes 用于設(shè)定資源ID的包含頭文件 。4、Full Screen 全屏顯示,按Esc退出全屏顯示。5、Workspace 顯示工作區(qū)窗口。6、Outp
5、ut 顯示輸出窗口。7、Debug Windows 在調(diào)試狀態(tài)下控制一些調(diào)試窗口。8、Refresh 刷新當(dāng)前顯示窗口。9、Properties 查看和修改當(dāng)前窗口所顯示的對象的屬性。,6,[Insert]插入菜單,[Insert]菜單共有6個選項:1、New Class 添加新類(MFC 、Generic、Form三種不同類型的類)。2、New Form 添加Form Class。3、Resource添加資源。4、Res
6、ource Copy添加資源復(fù)制件。5、File As Text 插入選定的文本文件。6、New ATL Object添加ATL對象。,7,[Project]工程菜單,[Project]菜單共有6個選項:1、Set Active Project 在多個工程中選定當(dāng)前活動工程。2、Add to Project 向當(dāng)前工程添加文件、文件夾、數(shù)據(jù)連接、Visual C組件,以及ActiveX控件。3、source Control源
7、代碼控制具。4、 Dependencies設(shè)置工程間的依賴關(guān)系。5、 Settings 設(shè)置工程屬性(調(diào)試版本、發(fā)布版本和共同部分)。6、Export Makefile 導(dǎo)出應(yīng)用程序的Make(*.mak)文件。,8,[Build]構(gòu)建菜單,[Build]菜單共有13個選項:1、Compile 編譯當(dāng)前文件。2、Build 創(chuàng)建工程的可執(zhí)行文件,但不運行。3、Rebuild All重新編譯所有文件,并連接生成可執(zhí)行文件。4
8、、Batch Build成批編譯、連接工程的不同設(shè)置。5、Clean把編譯、連接生成的中間文件和最終可執(zhí)行文件刪除。6、Start Debug->Go 開始調(diào)試,到斷點處暫停。7、Start Debug->Step Into單步調(diào)試,遇函數(shù)進入函數(shù)體。8、Start Debug ->Run to Cursor開始調(diào)試,到光標(biāo)處停止。9、Debugger Remote Connection用于遠程連接調(diào)試。1
9、0、Execute運行可執(zhí)行目標(biāo)文件。11、Set Active Configuration選擇Build配置方式(Debug、Release)。12、Configuration增加或刪除工程配置方式。13、Profile工程構(gòu)建過程的描述文件。,9,[Tools]工具菜單,[Tools]菜單中是Visual C++附帶的各種工具。其中常用的工具有ActiveX Control Test Container(測試一個Activ
10、eX控件的容器)、Spy++(用于程序運行時以圖形化方式查看系統(tǒng)進程、線程、窗口、窗口信息等),以及MFC Tracer(用于程序跟蹤)等。還有一些常用的設(shè)置:Customize,Options。,10,[Windows]窗口菜單,[Windows]菜單主要工能如下:1、New Window新建一個窗口,內(nèi)容與當(dāng)前窗口同。2、Split 分割當(dāng)前窗口成四個,內(nèi)容全相同。3、Docking View控制當(dāng)前窗口是否成為浮動視
11、圖。4、Cascade編輯窗口層疊放置。5、Tile Horizontally編輯窗口橫向平鋪顯示。6、Tile Vertically編輯窗口縱向平鋪顯示。7、Windows對已經(jīng)打開的窗口進行集中管理。,11,[Help]窗口菜單,[Help]菜單中的4個選項Contents、Search、Index和Technical Support 都會彈出幫助窗口,叫做MSDN Library Visual Studio6.0。MSD
12、N庫提供的幫助工能很豐富,可以以目錄、索引和搜索三種方式提供幫助。瀏覽方式多樣,甚至可以連接到Web網(wǎng)站查找信息。另有兩個選項:Keyboard Map選項打開快捷鍵列表;Tip of the Day選項打開Tip of the Day對話框,介紹Visual C++6.0的使用知識和技巧。,12,工具欄,工具欄由多個操作按鈕組成,這些操作一般都與某個菜單項對應(yīng)。主要工具欄如下:1、Standard提供最基本的功能:文件操作、編
13、輯、查找等。2、Build工程的編譯、連接、修改活動配置、運行調(diào)試程序。3、Build MiniBar由部分按鈕組成的工具欄。4、Resource添加各種類型的資源。5、Edit剪切、復(fù)制和粘貼等功能。6、Debug用于調(diào)試狀態(tài)的若干操作7、Browse源程序瀏覽操作8、Database跟數(shù)據(jù)庫有關(guān)的操作。,13,Visual C++組件一覽,Developer Studio開發(fā)環(huán)境編輯器編譯器鏈接器Wizard實
14、用程序調(diào)試器其他實用工具,14,Developer Studio開發(fā)環(huán)境,圖1,15,了解Developer Studio,Workspace(工作空間)窗口Output(輸出)窗口編輯窗口調(diào)試窗口,16,工作空間窗口,ClassView:列出項目中的類和成員函數(shù)。雙擊列表中的類或函數(shù),即可在Visual C++文本編輯器中打開該類的源文件。ResourceView:列出項目的資源數(shù)據(jù),雙擊列表中的數(shù)據(jù)項會打開合適的編輯器并
15、加載資源。FileView:列出項目的源文件,頭文件。,Workspace窗口顯示了項目各個方面的信息。在窗口底端選擇相應(yīng)的選項卡來按不同視圖顯示項目的列表。,17,工作空間和項目,工作空間(workspace):工作空間是一個包含用戶的所有相關(guān)項目和配置的實體。項目(project):項目定義為一個配置和一組文件,用以生成最終的程序或二進制文件。一個工作空間可以包含多個項目,這些項目既可以是同一類型的項目,也可以是由不同類型的項目
16、(如Visual C++和Visual J++項目)。,18,編輯窗口,編輯窗口為開發(fā)者提供了編輯文件和資源的手段。通過編輯窗口,開發(fā)者可以編輯和修改源程序和各種類型的資源。,19,資源,資源包括菜單、對話框、圖標(biāo)、字體、快捷鍵等。開發(fā)者可以通過編輯資源來定義WINDOWS程序的界面部分。資源的定義是以文本的形式存放在資源定義文件中,并由編譯器編譯為二進制代碼。在VC++中,提供了一個資源編輯器,使開發(fā)者能在圖形方式下對各種資源進行
17、編輯。,20,資源編輯器,圖2,21,輸出窗口,編譯信息:在編譯時輸出,主要是編譯時的錯誤和警告。調(diào)試信息:在對程序進行調(diào)試時輸出,主要是程序當(dāng)前的運行狀況。查找結(jié)果:在用戶從多個文件中查找某個字符串時產(chǎn)生,顯示查找結(jié)果的位置。,輸出窗口輸出一些用戶操作后的反饋信息,它由一些頁面組成,每個頁面輸出一種信息,輸出的信息種類主要有:,22,調(diào)試窗口,變量查看窗口(WATCH)過程調(diào)用查看窗口(CALL STACK)內(nèi)存查看窗口(ME
18、MORY)寄存器查看窗口(REGISTER),調(diào)試窗口包括一組窗口,在調(diào)試程序時分別顯示各種信息,這些窗口主要包括:,23,用VC++環(huán)境下運行一個新程序的上機操作步驟,1.打開VC++窗口,單擊菜單[File]->[New]2.在彈出窗口上選擇標(biāo)簽Project,選中Win32 Console Application項,并在Project name框輸入工程名;在Location框輸入保存源程序的路徑名;單擊OK。3.在彈
19、出窗口選擇An Empty Project,單擊[Finish]按鈕;在下一窗口單擊OK。4.再在VC++菜單條中單擊[File]->[New]。,24,5.在彈出窗口選擇標(biāo)簽File,選C++ Source File,并在File框輸入文件名。(此時,Add to project框應(yīng)該是剛輸入的工程名,Location框應(yīng)是剛輸入的路徑名).6.在編輯窗口輸入源程序,單擊[File]->[Save],存盤.7.再在
20、VC++菜單條中單擊[Build]->[Compile];無編輯錯,單擊[Build] -> [Build];無連接錯,單擊[Build]->[Execute]執(zhí)行程序;運行結(jié)束,按任意鍵退回VC++窗口。8.如果再鍵入另一個新程序,單擊[File]->[Close Workspace];然后再重復(fù)上述步驟。編譯一個已打開的程序也可簡單地單擊[Build All]的標(biāo)志符。執(zhí)行編譯好的程序,單擊執(zhí)行標(biāo)
21、志!。,25,如要打開已存在的C++ .CPP源程序,可按以下步驟打開:1.打開VC++窗口,單擊[File]->[Open];2.在彈出對話框找文件所在文件夾,選中文件,單擊打開按鈕,把文件調(diào)入VC++編輯窗。3.在VC++菜單條中單擊[Build]->[Compile],單擊是按鈕。4.無編輯錯,單擊[Build]->[Build];無連接錯,單擊[Build]->[Execute]執(zhí)行程序;運行結(jié)
22、束,按任意鍵退回VC++窗口。編譯一個已打開的程序也可簡單地單擊[Build All]的標(biāo)志符。執(zhí)行編譯好的程序,單擊!,26,用VC++開發(fā)程序的過程,用App Wizard新建一個工程編輯代碼編譯代碼調(diào)試和執(zhí)行程序,27,App Wizard,App Wizard(應(yīng)用程序生成器)是Visual C++自帶的一個工具,通過它,可以方便地生成各種類型的程序的框架。選擇菜單中的File---->New…,即可以使用App
23、 Wizard來新建程序。可以新建的內(nèi)容包括File、Project、Workspaces、Other Documents四個頁面,每個頁面下有各種類型的工程或文件。選定類型之后,即進入Wizard(向?qū)В層脩暨x擇一些可選項,完成之后,程序的框架即生成。,28,用App Wizard新建一個工程,在File菜單上,點New,選擇Projects標(biāo)簽。從列表中選擇項目類型。點Create New Workspace(新建工作區(qū)
24、)或Add to Current Workspace(加入到當(dāng)前工作區(qū)中)。要使新工程為子工程,可以選擇Dependency of 檢查框,并從列表中選擇一個工程。在Project Name框中,輸入新工程名,確保該名字必須與工作區(qū)中的別的工程名字不重名 。在Location框中,指定工程存放的目錄:可以直接輸入路徑名,也可以按旁邊的Browse按鈕,瀏覽選擇一個路徑 。點Platform框中的相應(yīng)檢查框,指定工程的開發(fā)平臺 。
25、輸入完以上內(nèi)容并按OK按鈕后,根據(jù)所選的工程類型,會出現(xiàn)相應(yīng)的Wizard(向?qū)В?。通過一系列的對話框輸入,快速生成工程的框架。,29,新建一個C++程序,在File菜單上,點節(jié)New,選擇File標(biāo)簽。從列表中選擇C/C++源程序。在編輯窗鍵入源程序 。文件保存,源程序文件的名必需為.C或.CPP點節(jié)編譯命令 。若程序有錯,重新編輯源程序,改正錯誤后,重新編譯。編譯沒有錯誤后,點節(jié)執(zhí)行命令,程序開始執(zhí)行。,30,繼續(xù)新建
26、一個C++程序,在File菜單上,點節(jié)Close關(guān)閉編輯窗,點節(jié)Close Workspace關(guān)閉工作空間。然后重復(fù)新建一個C/C++程序的全部工作。,修正一個已有的C++程序,1、在File菜單上,點節(jié)Open,打開一個已有的C++程序。2、在編輯窗修改源程序 。3、點節(jié)編譯命令 。4、若程序有錯,重新編輯源程序,改正錯誤后,重新編譯。5、編譯沒有錯誤后,點節(jié)執(zhí)行命令,程序開始執(zhí)行。,31,開始實踐--第一個VC程序,新建一
27、個新工程,在項目類型中選“Win32 Console Application”。在Project Name框中輸入test1,將Create New Workspace選擇框選中。按OK按鈕。在出現(xiàn)的Wizard對話框中選擇A Simple Application,然后按Finish按鈕。在接下來出現(xiàn)的對話框中按OK。,32,編譯運行程序,選擇菜單中的Build---->Build test1.exe在輸出窗口會出現(xiàn) “
28、test1.exe - 0 error(s), 0 warning(s)”,說明編譯通過。選擇菜單中的Build---->Execute test1.exe 。出現(xiàn)運行結(jié)果。,33,程序運行結(jié)果,圖3,34,編輯代碼,在工作空間窗口中選 ClassView頁面。雙擊Global下的main方法,右邊的編輯窗口顯示了main方法所在源文件的內(nèi)容。在編輯窗口中的return 0 的前面插入一行“printf("thi
29、s is my firstprogram!\n");”。在#include “stdafx.h” 那行之后插入一行#include "stdio.h"保存文件,35,重新編譯并運行,選擇菜單中的Build---->Build test1.exe如果在輸出窗口出現(xiàn) test1.exe - 0 error(s), 0 warning(s) 說明編譯通過;如果顯示有錯誤,則需要修改源文件直
30、到編譯通過。選擇菜單中的Build---->Execute test1.exe 。出現(xiàn)運行結(jié)果。,36,修改過的程序運行結(jié)果,圖4,37,調(diào)試程序,編譯錯誤是因為程序代碼不符合C++語法、單詞拼寫錯誤、函數(shù)調(diào)用參數(shù)使用不當(dāng)?shù)?,通過編譯和檢查程序能比較方便地改正。若運行結(jié)果與預(yù)期結(jié)果不同,則需要用調(diào)試程序來找到程序中錯誤的地方,并排除所有的錯誤。選擇菜單中的Build--->Start Debug,啟用調(diào)試器。調(diào)試器
31、有四個子菜單:[Go] [Step Into] [Run to cursor] [Attach to process],38,-->Go 從當(dāng)前語句開始執(zhí)行,直到遇到斷點,或程序執(zhí)行結(jié)束。用Go啟動調(diào)試器,從頭開始執(zhí)行程序。-->Step Into 單步執(zhí)行每一程序行,遇到函數(shù)調(diào)用進入函數(shù)體內(nèi)單步執(zhí)行。-->Run to cursor 運行程序至當(dāng)前光標(biāo)位置。-->Attach to p
32、rocess 將調(diào)試器與當(dāng)前運行的某個進程聯(lián)系起來,可跟蹤進入進程內(nèi)部,調(diào)試運行中的進程。,39,調(diào)試命令菜單項 快捷鍵 作用Go F5 運行程序至斷點,或程序結(jié)束Restart Ctrl+Shift+F5 重新載入程序,并啟動執(zhí)行Stop Deb. Shift+F5 關(guān)閉調(diào)試會話Break
33、 從當(dāng)前位置退出,終止程序執(zhí)行Step Into F11 單步執(zhí)行,并進入調(diào)用函數(shù)Step Over F10 單步執(zhí)行,但不進入函數(shù)Step Out Shift+F11 跳出當(dāng)前函數(shù),回到調(diào)用處Run to Cursor Ctrl+F10 運行止當(dāng)前光標(biāo)處Exceptions 設(shè)置異常,
34、可以選擇遇到異常處停止, 或遇到未處理的異常處停止Threads 線程調(diào)試,可以掛起、恢復(fù)、切換線程Step Into Specific Function 直接進入函數(shù),用于調(diào)試多層嵌套的函數(shù),4
35、0,在View菜單下還提供一個Debug Windows菜單的幾個子菜單,用于隱藏或顯示與調(diào)試工作相關(guān)的一些窗口。菜單項 快捷鍵 作用Watch Alt+3 顯示窗口,用于觀察和設(shè)置變量值Variables Alt+4 觀察與當(dāng)前函數(shù)相關(guān)的變量Registers Alt+5 觀察微處理器的寄存器Memory Alt+6 觀察未使用的
36、內(nèi)存塊Call Stack Alt+7 顯示調(diào)用棧,觀察調(diào)用的函數(shù)Disassembly Alt+8 打開窗口顯示匯編程序代碼斷點是程序調(diào)試過程中暫時停止執(zhí)行的地方。在斷點處,可以觀察、設(shè)置變量的值,檢查程序是否按所期望的邏輯執(zhí)行。,41,插入斷點 在源程序窗口內(nèi)任一程序行上按鼠標(biāo)右鍵,從右鍵快捷菜單中選擇[Insert/Remove Breakpoint]菜單項,就可以將當(dāng)前語句行作為一個斷點。在該語句行左邊,有一個紅色
37、實心圓指示該行是一個斷點。刪除斷點 在有斷點的語句行上按右鍵彈出快捷菜單,選擇[Remove Breakpoint]菜單項,就可刪除該斷點。禁止斷點 在斷點處的右鍵快捷菜單上選擇[Disable Breakpoint]菜單項,暫時禁止該斷點,該斷點可能以后再用。該位置將變?yōu)橛每招膱A標(biāo)記?;謴?fù)斷點 在禁止斷點處,用右鍵快捷菜單選擇[Enable Breakpoint]菜單項,恢復(fù)起用曾被禁止的斷點。,42,開發(fā)窗口程序,新建一個新工
38、程,在項目類型中選“Win32 Application”。在Project Name框中輸入test2,將Create New Workspace選擇框選中。按OK按鈕。在出現(xiàn)的Wizard對話框中選擇A Typical Hello world Application,然后按Finish按鈕。在接下來出現(xiàn)的New Project Information對話框中按OK。編譯代碼、運行代碼。,43,窗口程序運行結(jié)果,圖5,44,獲
39、取幫助,為什么要獲取幫助不可能也沒有必要去記住所有的知識幫助文檔可以使程序員事半功倍獲取幫助的途徑MSDN聯(lián)機幫助參考書INTERNET,45,MSDN聯(lián)機文檔,,圖6,46,使用MSDN,Contents(目錄)選項卡當(dāng)你頭腦中有一個大概的主題,而你又想要看一看這個主題有哪些文檔時,目錄表是非常有用的。Index(索引)選項卡Index(索引)選項卡顯示了整套MSDN文件的全面索引,只要打入關(guān)鍵字,就可以立刻找到你要
40、找的東西。Search(搜索)選項卡MSDN幫助文件集包含一個搜索引擎,它能進行全文本搜索來確定哪些主題文件包含了指定的詞或短語。Favorites(收藏)選項卡它維護著一個標(biāo)記選擇過的文章的書簽列表,使你能迅速找到你曾經(jīng)看過的內(nèi)容。,47,基于MFC 的GUI編程,48,1.Windows編程-1,事件驅(qū)動和消息機制是Windows編程的基礎(chǔ)。Windows是消息驅(qū)動(或事件驅(qū)動)的操作系統(tǒng)。消息驅(qū)動意味著操作系統(tǒng)的每個部
41、分與其它部分,以及應(yīng)用程序之間通過Windows消息進行通信。例如當(dāng)我們移動鼠標(biāo)或按下鍵盤上某個鍵,Windows就會捕捉到這個消息,并存儲到消息隊列中等待處理(通常是轉(zhuǎn)發(fā)給相應(yīng)的操作系統(tǒng)某個處理程序或者應(yīng)用程序)。,49,1.Windows編程-1,以前的軟件開發(fā)者采用SDK(Windows Software Development Kit 軟件開發(fā)工具包)進行Windows編程。SDK的核心內(nèi)容是API(應(yīng)用程序編程接口)、事件驅(qū)
42、動和消息循環(huán)。API是一個程序包,其內(nèi)有一組函數(shù),供程序員用它創(chuàng)建其他程序。Windows正是利用API實現(xiàn)圖形用戶界面(GUI)。,50,1.Windows編程-2,選擇為開發(fā)Windows應(yīng)用而設(shè)計的精美的應(yīng)用程序框架(Application framework)。 Application framework是一個完整的程序模型,具備標(biāo)準(zhǔn)應(yīng)用軟件所需的一切基本功能,如文件存取、打印預(yù)覽。Application framewor
43、k提供了標(biāo)準(zhǔn)的程序模型,我們只需要按個人需要添加一些材料:在派生類中改寫虛擬函數(shù),或在派生類中加上新的程序函數(shù)。微軟的MFC是一種十分成功的Application framework。,51,1.Windows編程-2,MFC(Microsoft Foundation Classes 微軟基礎(chǔ)類)是一個建立在Windows API基礎(chǔ)上的C++類庫,目的是使Windows程序設(shè)計過程更有效率。我們可以把MFC看作一個零組件“超級市場”。
44、這些零組件(類)功能以及彼此間的關(guān)系都已經(jīng)定義好,我們可以從中選擇自己需要的零件構(gòu)造出一個應(yīng)用程序。靜態(tài)情況下MFC是一組類,在程序執(zhí)行期間就生成一組有活動力的對象組。MFC程序沒有main函數(shù)這樣的入口,它的執(zhí)行由application object(一個派生自MFC CWinApp的全局對象)引發(fā),引發(fā)后我們選用的MFC類就依次實例化開始運行了。,52,2. MFC AppWizard,AppWizard(Application
45、 Wizard)俗稱“應(yīng)用程序創(chuàng)建向?qū)А薄J褂肕FC AppWizard可以創(chuàng)建基于MFC類庫的Windows應(yīng)用程序(可執(zhí)行文件.exe或者動態(tài)連接庫.dll)。 MFC AppWizard提供一系列對話框,用戶可以從中選擇滿足需要的選項。定義完應(yīng)用程序和項目選項后,MFC AppWizard生成創(chuàng)建應(yīng)用程序所需要的初始框架文件。MFC AppWizard可以創(chuàng)建三種類型的應(yīng)用程序: 1. Single document
46、s(單文檔 SDI):一次只允許打開一個子文檔窗體。 2. Multiple documents (多文檔 MDI):允許打開多個子文檔窗體。 3. Dialog-Based (基于對話框):基于對話框的應(yīng)用程序?qū)@示一個對 話框供用戶輸入或者進行選擇。三種類型應(yīng)用程序的示例如下:,53,圖7 SDI程序示例(Windows記事本),54,圖8 MDI程序示例(又如微軟的Word),55,圖9 Dialo
47、g-Based程序示例(Windows我的電腦中文件夾選項設(shè)置窗口),56,3. 一個簡單的多文檔應(yīng)用程序?qū)嵗?利用編程工具MFC AppWizard。不需要增添一句代碼就可獲得標(biāo)準(zhǔn)的多文檔應(yīng)用程序框架,包括打印等高級功能。程序運行界面如圖8所示。首先新建project,選擇的工程類型是:MFC AppWizard (exe),示例項目名可自己設(shè)定,這里為mditest。,57,接下去的step-1的選項中,創(chuàng)建的程序類型選擇M
48、ultiple documents(多文檔),其余選項使用缺省值。Document/View architecture support?(文檔/視圖結(jié)構(gòu)支持)選項缺省已經(jīng)是選中狀態(tài)。這一項如果不選中,則程序運行時不支持文檔的打開/保存操作(需要文檔/視圖結(jié)構(gòu)支持才有效)。語言支持選擇中文。,58,圖10 MFC AppWizard-Step 1,59,圖11 MFC AppWizard-Step 2這一步選擇數(shù)據(jù)庫支持,當(dāng)前示例程
49、序不需要。,60,圖12 MFC AppWizard-Step 3 這一步選擇混合文檔和ActiveX支持,當(dāng)前示例程序只需要支持純文本文檔。為求簡化,ActiveX Controls支持也可以不要。,61,圖13 MFC AppWizard-Step 4 這一步選擇用戶界面特性,例如標(biāo)準(zhǔn)工具欄、狀態(tài)條、打印以及預(yù)覽、上下文敏感幫助、3D風(fēng)格等。第二部分選擇工具欄風(fēng)格。第三部分是選擇文件菜單中的最近使用
50、文件列表中顯示的文件數(shù)量。,62,圖14 MFC AppWizard-Step 5 這一步選擇程序以及代碼風(fēng)格。第一項是程序風(fēng)格,MFC標(biāo)準(zhǔn)風(fēng)格和Windows瀏覽器風(fēng)格。第二項是詢問是否需要為程序代碼生成一些說明文字。第三項是選擇希望使用的MFC版本(動態(tài)連接版或者靜態(tài))。,63,圖15 MFC AppWizard-Step 6 這是最后一步,允許用戶在這里更改各文件名和類名。在上面的類列表中選中一個類
51、,下面顯示的就是相應(yīng)的類名、頭文將名、基類和實現(xiàn)文件名。這里為了使文檔可編輯,將CMditestView的基類改為CEditView。完成后點擊Finish完成向?qū)А?64,圖16 項目信息顯示用戶在前面各步所作選擇,點擊OK完成,否則Cancel重新選擇。,65,圖17 項目文件列表 根據(jù)用戶選擇,VC已經(jīng)生成了所需的全部文件。這個程序已經(jīng)可以運行,運行結(jié)構(gòu)就是圖2所示的效果。程序已經(jīng)具有標(biāo)準(zhǔn)的打開、編輯、保存以及
52、打印等功能,而我們沒有添加一行代碼。,66,4. 自己添加代碼的sayhello程序,這部分我們演示一個對話框程序,添加一些標(biāo)準(zhǔn)控件,并添加代碼控制程序的行為。新建project,名稱為sayhello,利用AppWizard,只需要在指定程序類型為Dialog-Based之后,就可以點擊Finish,完成程序框架。程序界面如右上圖。點擊提示按鈕,彈出提示框顯示文本框中字符串如右下圖;點擊添加按鈕,文本框中字符串添加到列表中(如果
53、不重復(fù)的話);點擊取消關(guān)閉整個窗口。,圖18,67,圖19 框架創(chuàng)建后的編輯區(qū) 根據(jù)用戶選擇,VC已經(jīng)為我們生成了所需的程序框架。這里要編輯的主要是sayhello主窗口,已經(jīng)生成的有一個靜態(tài)文本,兩個按鈕。右邊的控件窗口顯示一些標(biāo)準(zhǔn)窗口控件,可以通過拖放操作添加到窗口。,68,圖20編輯控件屬性 右鍵點擊某控件,選擇Properties,彈出該控件的屬性設(shè)置窗口,如圖??梢栽O(shè)置控件標(biāo)題(captio
54、n)、可見性、對齊等屬性,這些屬性、風(fēng)格設(shè)置分布在三個頁(General、Styles、Extended Styles)上。這里我們主要需要設(shè)定的是Caption,設(shè)置為:What do you want to say ?,69,圖21 完成界面設(shè)置 保留原來的取消按鈕,刪除確定按鈕,添加兩個按鈕和一個Combo Box控件,屬性中Styles頁設(shè)置情況如圖。通過拖放、對齊操作后完成界面構(gòu)造如圖。其中幾個控件的對齊可以通
55、過選中多個控件后右鍵菜單中相關(guān)的Aligh選項實現(xiàn)。,70,圖22 設(shè)置成員變量名 點中某一控件,右鍵菜單中選擇ClassWizard進行類設(shè)置。在Member Variables(成員變量頁)選擇CSayhelloDlg(代表主窗口)類,設(shè)置三個按鈕和一個ComBox的變量名如圖(通過雙擊相應(yīng)條目編輯)。注意這里Category選擇Control,變量類型也正確指定。這樣在代碼中就可以通過這些名字引用相應(yīng)控件對象。,7
56、1,圖23添加消息映射方法 仍然是在ClassWizard中,這里添加相應(yīng)對象的消息處理方法。Class name中指定要處理的類,這里是主窗口類CSayhelloDlg,選擇IDADD對象(“添加”按鈕)和BN_CLICKED消息(單擊),然后點擊Add Function,指定方法名后,相應(yīng)的消息處理方法框架就生成了。,72,圖24添加消息映射方法 在上一步中點擊Edit Code,編輯“添加”
57、按鈕單擊消息的處理方法代碼。添加的代碼如圖,主要過程是獲取ComBox輸入框字符串,判斷是否為控,以及ComBox中是否已存在此字符串,如果不存在則添加并將光標(biāo)定位于第一項。代碼中的TODO注釋是生成框架時自動生成的。,73,圖25添加“提示”按鈕單擊方法 與“添加”按鈕類似的添加“提示”按鈕的單擊消息處理方法OnShow,代碼如圖。完成的操作是取得ComBox文本輸入內(nèi)容并跳出一個提示窗口顯示該字符串。,74,5. 結(jié)束
58、語,如第4部分這樣一步步操作就完成了一個窗口程序,編譯鏈接后就可以得到可執(zhí)行程序。更加復(fù)雜的窗口程序可以用相似的過程得到,使用的應(yīng)用程序框架也與此類似。只是可能會用到更多更復(fù)雜的MFC類,需要用戶根據(jù)實際需要繼承或引用各種MFC類,處理這些類之間的關(guān)系。還有可能需要在派生類中改寫虛擬函數(shù)或者添加新的成員函數(shù)。總之在Application Framework框架下,你可以以MFC類庫為材料來源創(chuàng)造出符合各種需要的應(yīng)用程序。各種相關(guān)類
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論