VisualC++使用方法詳細(xì)介紹課件_第1頁
VisualC++使用方法詳細(xì)介紹課件_第2頁
VisualC++使用方法詳細(xì)介紹課件_第3頁
VisualC++使用方法詳細(xì)介紹課件_第4頁
VisualC++使用方法詳細(xì)介紹課件_第5頁
已閱讀5頁,還剩145頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

VisualC++使用方法簡介1VisualC++使用方法簡介1VisualC++菜單欄VisualC++6.0的菜單分成9大類:[File]文件[Edit]編輯[View]視圖[Insert]插入[Project]工程[Build]組建[Tools]工具[Window]窗口[Help]幫助在程序運行時,VisualC++6.0的菜單欄可以動態(tài)改變,還有[Layout]和[Debug]。如在調(diào)試狀態(tài)下,[Build]變成了[Debug]。2VisualC++菜單欄VisualC++6.0的菜單分[File]文件菜單[File]菜單共有14選項,分成6組:1、[New]新建一個一般文件,工程,工作區(qū),其他文檔。[Open]打開、[Close]關(guān)閉2、Workspace工作區(qū)操作,打開、保存和關(guān)閉工作區(qū)。3、有三個菜單項,用于文件保存。4、有二個菜單項,用于文件打印。5、用于打開以前打開過的文件或工作區(qū)。6、一個菜單項Exit,用于退出VisualC++6.0。3[File]文件菜單[File]菜單共有14選項,分成6組:[Edit]編輯菜單[Edit]菜單分成7組:1、撤銷編輯結(jié)果,或重復(fù)前次編輯過程。2、提供常見的編輯功能。3、字符串查找和替換。4、Goto和Bookmark編輯行定位和書簽定位。5、Advanced(高級),一些其他編輯手段。6、Breakpoints,與調(diào)試有關(guān),主要用于設(shè)置斷點。7、成員列表、函數(shù)參數(shù)信息、類型信息,及自動完成功能。4[Edit]編輯菜單[Edit]菜單分成7組:4[View]視圖菜單[View]菜單共有9個選項,分成6組(初始時沒有1和7):1、ClassWizard(或Ctrl+W),激活MFCClassWizard類向?qū)Чぞ撸脕砉芾眍?、消息映射等?、ResourceSymbols對工程所定義的所有資源標(biāo)號,進(jìn)行瀏覽和管理。3、ResourceIncludes用于設(shè)定資源ID的包含頭文件。4、FullScreen全屏顯示,按Esc退出全屏顯示。5、Workspace顯示工作區(qū)窗口。6、Output顯示輸出窗口。7、DebugWindows在調(diào)試狀態(tài)下控制一些調(diào)試窗口。8、Refresh刷新當(dāng)前顯示窗口。9、Properties查看和修改當(dāng)前窗口所顯示的對象的屬性。5[View]視圖菜單[View]菜單共有9個選項,分成6組([Insert]插入菜單[Insert]菜單共有6個選項:1、NewClass添加新類(MFC、Generic、Form三種不同類型的類)。2、NewForm添加FormClass。3、Resource添加資源。4、ResourceCopy添加資源復(fù)制件。5、FileAsText插入選定的文本文件。6、NewATLObject添加ATL對象。6[Insert]插入菜單[Insert]菜單共有6個選項:6[Project]工程菜單[Project]菜單共有6個選項:1、SetActiveProject在多個工程中選定當(dāng)前活動工程。2、AddtoProject向當(dāng)前工程添加文件、文件夾、數(shù)據(jù)連接、VisualC組件,以及ActiveX控件。3、sourceControl源代碼控制具。4、Dependencies設(shè)置工程間的依賴關(guān)系。5、Settings設(shè)置工程屬性(調(diào)試版本、發(fā)布版本和共同部分)。6、ExportMakefile導(dǎo)出應(yīng)用程序的Make(*.mak)文件。7[Project]工程菜單[Project]菜單共有6個選項[Build]構(gòu)建菜單[Build]菜單共有13個選項:1、Compile編譯當(dāng)前文件。2、Build創(chuàng)建工程的可執(zhí)行文件,但不運行。3、RebuildAll重新編譯所有文件,并連接生成可執(zhí)行文件。4、BatchBuild成批編譯、連接工程的不同設(shè)置。5、Clean把編譯、連接生成的中間文件和最終可執(zhí)行文件刪除。6、StartDebug->Go開始調(diào)試,到斷點處暫停。7、StartDebug->StepInto單步調(diào)試,遇函數(shù)進(jìn)入函數(shù)體。8、StartDebug->RuntoCursor開始調(diào)試,到光標(biāo)處停止。9、DebuggerRemoteConnection用于遠(yuǎn)程連接調(diào)試。10、Execute運行可執(zhí)行目標(biāo)文件。11、SetActiveConfiguration選擇Build配置方式(Debug、Release)。12、Configuration增加或刪除工程配置方式。13、Profile工程構(gòu)建過程的描述文件。8[Build]構(gòu)建菜單[Build]菜單共有13個選項:8[Tools]工具菜單[Tools]菜單中是VisualC++附帶的各種工具。其中常用的工具有ActiveXControlTestContainer(測試一個ActiveX控件的容器)、Spy++(用于程序運行時以圖形化方式查看系統(tǒng)進(jìn)程、線程、窗口、窗口信息等),以及MFCTracer(用于程序跟蹤)等。還有一些常用的設(shè)置:Customize,Options。9[Tools]工具菜單[Tools]菜單中是VisualC[Windows]窗口菜單[Windows]菜單主要工能如下:1、NewWindow新建一個窗口,內(nèi)容與當(dāng)前窗口同。2、Split分割當(dāng)前窗口成四個,內(nèi)容全相同。3、DockingView控制當(dāng)前窗口是否成為浮動視圖。4、Cascade編輯窗口層疊放置。5、TileHorizontally編輯窗口橫向平鋪顯示。6、TileVertically編輯窗口縱向平鋪顯示。7、Windows對已經(jīng)打開的窗口進(jìn)行集中管理。10[Windows]窗口菜單[Windows]菜單主要工能如下[Help]窗口菜單[Help]菜單中的4個選項Contents、Search、Index和TechnicalSupport都會彈出幫助窗口,叫做MSDNLibraryVisualStudio6.0。MSDN庫提供的幫助工能很豐富,可以以目錄、索引和搜索三種方式提供幫助。瀏覽方式多樣,甚至可以連接到Web網(wǎng)站查找信息。另有兩個選項:KeyboardMap選項打開快捷鍵列表;TipoftheDay選項打開TipoftheDay對話框,介紹VisualC++6.0的使用知識和技巧。11[Help]窗口菜單[Help]菜單中的4個選項Conten工具欄工具欄由多個操作按鈕組成,這些操作一般都與某個菜單項對應(yīng)。主要工具欄如下:1、Standard提供最基本的功能:文件操作、編輯、查找等。2、Build工程的編譯、連接、修改活動配置、運行調(diào)試程序。3、BuildMiniBar由部分按鈕組成的工具欄。4、Resource添加各種類型的資源。5、Edit剪切、復(fù)制和粘貼等功能。6、Debug用于調(diào)試狀態(tài)的若干操作7、Browse源程序瀏覽操作8、Database跟數(shù)據(jù)庫有關(guān)的操作。12工具欄工具欄由多個操作按鈕組成,這些操作一般都與某個菜單項對VisualC++組件一覽DeveloperStudio開發(fā)環(huán)境編輯器編譯器鏈接器Wizard實用程序調(diào)試器其他實用工具13VisualC++組件一覽DeveloperStudioDeveloperStudio開發(fā)環(huán)境圖114DeveloperStudio開發(fā)環(huán)境圖114了解DeveloperStudioWorkspace(工作空間)窗口Output(輸出)窗口編輯窗口調(diào)試窗口15了解DeveloperStudioWorkspace(工作工作空間窗口ClassView:列出項目中的類和成員函數(shù)。雙擊列表中的類或函數(shù),即可在VisualC++文本編輯器中打開該類的源文件。ResourceView:列出項目的資源數(shù)據(jù),雙擊列表中的數(shù)據(jù)項會打開合適的編輯器并加載資源。FileView:列出項目的源文件,頭文件。Workspace窗口顯示了項目各個方面的信息。在窗口底端選擇相應(yīng)的選項卡來按不同視圖顯示項目的列表。16工作空間窗口ClassView:列出項目中的類和成員函數(shù)。雙工作空間和項目工作空間(workspace):工作空間是一個包含用戶的所有相關(guān)項目和配置的實體。項目(project):項目定義為一個配置和一組文件,用以生成最終的程序或二進(jìn)制文件。一個工作空間可以包含多個項目,這些項目既可以是同一類型的項目,也可以是由不同類型的項目(如VisualC++和VisualJ++項目)。17工作空間和項目工作空間(workspace):工作空間是一個編輯窗口編輯窗口為開發(fā)者提供了編輯文件和資源的手段。通過編輯窗口,開發(fā)者可以編輯和修改源程序和各種類型的資源。18編輯窗口編輯窗口為開發(fā)者提供了編輯文件和資源的手段。通過編輯資源資源包括菜單、對話框、圖標(biāo)、字體、快捷鍵等。開發(fā)者可以通過編輯資源來定義WINDOWS程序的界面部分。資源的定義是以文本的形式存放在資源定義文件中,并由編譯器編譯為二進(jìn)制代碼。在VC++中,提供了一個資源編輯器,使開發(fā)者能在圖形方式下對各種資源進(jìn)行編輯。19資源資源包括菜單、對話框、圖標(biāo)、字體、快捷鍵等。開發(fā)者可以通資源編輯器圖220資源編輯器圖220輸出窗口編譯信息:在編譯時輸出,主要是編譯時的錯誤和警告。調(diào)試信息:在對程序進(jìn)行調(diào)試時輸出,主要是程序當(dāng)前的運行狀況。查找結(jié)果:在用戶從多個文件中查找某個字符串時產(chǎn)生,顯示查找結(jié)果的位置。輸出窗口輸出一些用戶操作后的反饋信息,它由一些頁面組成,每個頁面輸出一種信息,輸出的信息種類主要有:21輸出窗口編譯信息:在編譯時輸出,主要是編譯時的錯誤和警告。輸調(diào)試窗口變量查看窗口(WATCH)過程調(diào)用查看窗口(CALLSTACK)內(nèi)存查看窗口(MEMORY)寄存器查看窗口(REGISTER)調(diào)試窗口包括一組窗口,在調(diào)試程序時分別顯示各種信息,這些窗口主要包括:22調(diào)試窗口變量查看窗口(WATCH)調(diào)試窗口包括一組窗口,在調(diào)用VC++環(huán)境下運行一個新程序的上機操作步驟1.打開VC++窗口,單擊菜單[File]->[New]2.在彈出窗口上選擇標(biāo)簽Project,選中Win32ConsoleApplication項,并在Projectname框輸入工程名;在Location框輸入保存源程序的路徑名;單擊OK。3.在彈出窗口選擇AnEmptyProject,單擊[Finish]按鈕;在下一窗口單擊OK。4.再在VC++菜單條中單擊[File]->[New]。23用VC++環(huán)境下運行一個新程序的上機操作步驟1.打開VC++5.在彈出窗口選擇標(biāo)簽File,選C++SourceFile,并在File框輸入文件名。(此時,Addtoproject框應(yīng)該是剛輸入的工程名,Location框應(yīng)是剛輸入的路徑名).6.在編輯窗口輸入源程序,單擊[File]->[Save],存盤.7.再在VC++菜單條中單擊[Build]->[Compile];無編輯錯,單擊[Build]->[Build];無連接錯,單擊[Build]->[Execute]執(zhí)行程序;運行結(jié)束,按任意鍵退回VC++窗口。8.如果再鍵入另一個新程序,單擊[File]->[CloseWorkspace];然后再重復(fù)上述步驟。編譯一個已打開的程序也可簡單地單擊[BuildAll]的標(biāo)志符。執(zhí)行編譯好的程序,單擊執(zhí)行標(biāo)志!。245.在彈出窗口選擇標(biāo)簽File,選C++SourceFi如要打開已存在的C++.CPP源程序,可按以下步驟打開:1.打開VC++窗口,單擊[File]->[Open];2.在彈出對話框找文件所在文件夾,選中文件,單擊打開按鈕,把文件調(diào)入VC++編輯窗。3.在VC++菜單條中單擊[Build]->[Compile],單擊是按鈕。4.無編輯錯,單擊[Build]->[Build];無連接錯,單擊[Build]->[Execute]執(zhí)行程序;運行結(jié)束,按任意鍵退回VC++窗口。編譯一個已打開的程序也可簡單地單擊[BuildAll]的標(biāo)志符。執(zhí)行編譯好的程序,單擊!25如要打開已存在的C++.CPP源程序,可按以下步驟打開:2用VC++開發(fā)程序的過程用AppWizard新建一個工程編輯代碼編譯代碼調(diào)試和執(zhí)行程序26用VC++開發(fā)程序的過程用AppWizard新建一個工程2AppWizardAppWizard(應(yīng)用程序生成器)是VisualC++自帶的一個工具,通過它,可以方便地生成各種類型的程序的框架。選擇菜單中的File---->New…,即可以使用AppWizard來新建程序。可以新建的內(nèi)容包括File、Project、Workspaces、OtherDocuments四個頁面,每個頁面下有各種類型的工程或文件。選定類型之后,即進(jìn)入Wizard(向?qū)В?,讓用戶選擇一些可選項,完成之后,程序的框架即生成。27AppWizardAppWizard(應(yīng)用程序生成器)是用AppWizard新建一個工程在File菜單上,點New,選擇Projects標(biāo)簽。從列表中選擇項目類型。點CreateNewWorkspace(新建工作區(qū))或AddtoCurrentWorkspace(加入到當(dāng)前工作區(qū)中)。要使新工程為子工程,可以選擇Dependencyof檢查框,并從列表中選擇一個工程。在ProjectName框中,輸入新工程名,確保該名字必須與工作區(qū)中的別的工程名字不重名。在Location框中,指定工程存放的目錄:可以直接輸入路徑名,也可以按旁邊的Browse按鈕,瀏覽選擇一個路徑。點Platform框中的相應(yīng)檢查框,指定工程的開發(fā)平臺。輸入完以上內(nèi)容并按OK按鈕后,根據(jù)所選的工程類型,會出現(xiàn)相應(yīng)的Wizard(向?qū)В?。通過一系列的對話框輸入,快速生成工程的框架。28用AppWizard新建一個工程在File菜單上,點New新建一個C++程序在File菜單上,點節(jié)New,選擇File標(biāo)簽。從列表中選擇C/C++源程序。在編輯窗鍵入源程序。文件保存,源程序文件的名必需為.C或.CPP點節(jié)編譯命令。若程序有錯,重新編輯源程序,改正錯誤后,重新編譯。編譯沒有錯誤后,點節(jié)執(zhí)行命令,程序開始執(zhí)行。29新建一個C++程序在File菜單上,點節(jié)New,選擇File繼續(xù)新建一個C++程序在File菜單上,點節(jié)Close關(guān)閉編輯窗,點節(jié)CloseWorkspace關(guān)閉工作空間。然后重復(fù)新建一個C/C++程序的全部工作。修正一個已有的C++程序1、在File菜單上,點節(jié)Open,打開一個已有的C++程序。2、在編輯窗修改源程序。3、點節(jié)編譯命令。4、若程序有錯,重新編輯源程序,改正錯誤后,重新編譯。5、編譯沒有錯誤后,點節(jié)執(zhí)行命令,程序開始執(zhí)行。30繼續(xù)新建一個C++程序在File菜單上,點節(jié)Close關(guān)閉編開始實踐--第一個VC程序新建一個新工程,在項目類型中選“Win32ConsoleApplication”。在ProjectName框中輸入test1,將CreateNewWorkspace選擇框選中。按OK按鈕。在出現(xiàn)的Wizard對話框中選擇ASimpleApplication,然后按Finish按鈕。在接下來出現(xiàn)的對話框中按OK。31開始實踐--第一個VC程序新建一個新工程,在項目類型中選“W編譯運行程序選擇菜單中的Build---->Buildtest1.exe在輸出窗口會出現(xiàn)“test1.exe-0error(s),0warning(s)”,說明編譯通過。選擇菜單中的Build---->Executetest1.exe。出現(xiàn)運行結(jié)果。32編譯運行程序選擇菜單中的Build---->Buildte程序運行結(jié)果圖333程序運行結(jié)果圖333編輯代碼在工作空間窗口中選ClassView頁面。雙擊Global下的main方法,右邊的編輯窗口顯示了main方法所在源文件的內(nèi)容。在編輯窗口中的return0的前面插入一行“printf("thisismyfirstprogram!\n");”。在#include“stdafx.h”那行之后插入一行#include"stdio.h"保存文件34編輯代碼在工作空間窗口中選ClassView頁面。34重新編譯并運行選擇菜單中的Build---->Buildtest1.exe如果在輸出窗口出現(xiàn)test1.exe-0error(s),0warning(s)說明編譯通過;如果顯示有錯誤,則需要修改源文件直到編譯通過。選擇菜單中的Build---->Executetest1.exe。出現(xiàn)運行結(jié)果。35重新編譯并運行選擇菜單中的Build---->Buildt修改過的程序運行結(jié)果圖436修改過的程序運行結(jié)果圖436調(diào)試程序編譯錯誤是因為程序代碼不符合C++語法、單詞拼寫錯誤、函數(shù)調(diào)用參數(shù)使用不當(dāng)?shù)?,通過編譯和檢查程序能比較方便地改正。若運行結(jié)果與預(yù)期結(jié)果不同,則需要用調(diào)試程序來找到程序中錯誤的地方,并排除所有的錯誤。選擇菜單中的Build--->StartDebug,啟用調(diào)試器。調(diào)試器有四個子菜單:[Go][StepInto][Runtocursor][Attachtoprocess]37調(diào)試程序編譯錯誤是因為程序代碼不符合C++語法、單詞拼寫錯誤-->Go從當(dāng)前語句開始執(zhí)行,直到遇到斷點,或程序執(zhí)行結(jié)束。用Go啟動調(diào)試器,從頭開始執(zhí)行程序。-->StepInto單步執(zhí)行每一程序行,遇到函數(shù)調(diào)用進(jìn)入函數(shù)體內(nèi)單步執(zhí)行。-->Runtocursor運行程序至當(dāng)前光標(biāo)位置。-->Attachtoprocess將調(diào)試器與當(dāng)前運行的某個進(jìn)程聯(lián)系起來,可跟蹤進(jìn)入進(jìn)程內(nèi)部,調(diào)試運行中的進(jìn)程。38-->Go從當(dāng)前語句開始執(zhí)行,直到遇到斷點,或程序執(zhí)行結(jié)調(diào)試命令菜單項快捷鍵作用GoF5運行程序至斷點,或程序結(jié)束RestartCtrl+Shift+F5重新載入程序,并啟動執(zhí)行StopDeb.Shift+F5關(guān)閉調(diào)試會話Break從當(dāng)前位置退出,終止程序執(zhí)行StepIntoF11單步執(zhí)行,并進(jìn)入調(diào)用函數(shù)StepOverF10單步執(zhí)行,但不進(jìn)入函數(shù)StepOutShift+F11跳出當(dāng)前函數(shù),回到調(diào)用處RuntoCursorCtrl+F10運行止當(dāng)前光標(biāo)處Exceptions設(shè)置異常,可以選擇遇到異常處停止,或遇到未處理的異常處停止Threads線程調(diào)試,可以掛起、恢復(fù)、切換線程StepIntoSpecificFunction直接進(jìn)入函數(shù),用于調(diào)試多層嵌套的函數(shù)39調(diào)試命令39在View菜單下還提供一個DebugWindows菜單的幾個子菜單,用于隱藏或顯示與調(diào)試工作相關(guān)的一些窗口。菜單項快捷鍵作用WatchAlt+3顯示窗口,用于觀察和設(shè)置變量值VariablesAlt+4觀察與當(dāng)前函數(shù)相關(guān)的變量RegistersAlt+5觀察微處理器的寄存器MemoryAlt+6觀察未使用的內(nèi)存塊CallStackAlt+7顯示調(diào)用棧,觀察調(diào)用的函數(shù)DisassemblyAlt+8打開窗口顯示匯編程序代碼斷點是程序調(diào)試過程中暫時停止執(zhí)行的地方。在斷點處,可以觀察、設(shè)置變量的值,檢查程序是否按所期望的邏輯執(zhí)行。40在View菜單下還提供一個DebugWindows菜單的幾插入斷點在源程序窗口內(nèi)任一程序行上按鼠標(biāo)右鍵,從右鍵快捷菜單中選擇[Insert/RemoveBreakpoint]菜單項,就可以將當(dāng)前語句行作為一個斷點。在該語句行左邊,有一個紅色實心圓指示該行是一個斷點。刪除斷點

在有斷點的語句行上按右鍵彈出快捷菜單,選擇[RemoveBreakpoint]菜單項,就可刪除該斷點。禁止斷點

在斷點處的右鍵快捷菜單上選擇[DisableBreakpoint]菜單項,暫時禁止該斷點,該斷點可能以后再用。該位置將變?yōu)橛每招膱A標(biāo)記?;謴?fù)斷點

在禁止斷點處,用右鍵快捷菜單選擇[EnableBreakpoint]菜單項,恢復(fù)起用曾被禁止的斷點。4141開發(fā)窗口程序新建一個新工程,在項目類型中選“Win32Application”。在ProjectName框中輸入test2,將CreateNewWorkspace選擇框選中。按OK按鈕。在出現(xiàn)的Wizard對話框中選擇ATypicalHelloworldApplication,然后按Finish按鈕。在接下來出現(xiàn)的NewProjectInformation對話框中按OK。編譯代碼、運行代碼。42開發(fā)窗口程序新建一個新工程,在項目類型中選“Win32Ap窗口程序運行結(jié)果圖543窗口程序運行結(jié)果圖543獲取幫助為什么要獲取幫助不可能也沒有必要去記住所有的知識幫助文檔可以使程序員事半功倍獲取幫助的途徑MSDN聯(lián)機幫助參考書INTERNET44獲取幫助為什么要獲取幫助44MSDN聯(lián)機文檔圖645MSDN聯(lián)機文檔圖645使用MSDNContents(目錄)選項卡當(dāng)你頭腦中有一個大概的主題,而你又想要看一看這個主題有哪些文檔時,目錄表是非常有用的。Index(索引)選項卡Index(索引)選項卡顯示了整套MSDN文件的全面索引,只要打入關(guān)鍵字,就可以立刻找到你要找的東西。Search(搜索)選項卡MSDN幫助文件集包含一個搜索引擎,它能進(jìn)行全文本搜索來確定哪些主題文件包含了指定的詞或短語。Favorites(收藏)選項卡它維護(hù)著一個標(biāo)記選擇過的文章的書簽列表,使你能迅速找到你曾經(jīng)看過的內(nèi)容。46使用MSDNContents(目錄)選項卡46基于MFC的GUI編程47基于MFC的GUI編程471.Windows編程-1事件驅(qū)動和消息機制是Windows編程的基礎(chǔ)。Windows是消息驅(qū)動(或事件驅(qū)動)的操作系統(tǒng)。消息驅(qū)動意味著操作系統(tǒng)的每個部分與其它部分,以及應(yīng)用程序之間通過Windows消息進(jìn)行通信。例如當(dāng)我們移動鼠標(biāo)或按下鍵盤上某個鍵,Windows就會捕捉到這個消息,并存儲到消息隊列中等待處理(通常是轉(zhuǎn)發(fā)給相應(yīng)的操作系統(tǒng)某個處理程序或者應(yīng)用程序)。481.Windows編程-1事件驅(qū)動和消息機制是Windows1.Windows編程-1以前的軟件開發(fā)者采用SDK(WindowsSoftwareDevelopmentKit軟件開發(fā)工具包)進(jìn)行Windows編程。SDK的核心內(nèi)容是API(應(yīng)用程序編程接口)、事件驅(qū)動和消息循環(huán)。API是一個程序包,其內(nèi)有一組函數(shù),供程序員用它創(chuàng)建其他程序。Windows正是利用API實現(xiàn)圖形用戶界面(GUI)。491.Windows編程-1以前的軟件開發(fā)者采用SDK(Win1.Windows編程-2選擇為開發(fā)Windows應(yīng)用而設(shè)計的精美的應(yīng)用程序框架(Applicationframework)。Applicationframework是一個完整的程序模型,具備標(biāo)準(zhǔn)應(yīng)用軟件所需的一切基本功能,如文件存取、打印預(yù)覽。Applicationframework提供了標(biāo)準(zhǔn)的程序模型,我們只需要按個人需要添加一些材料:在派生類中改寫虛擬函數(shù),或在派生類中加上新的程序函數(shù)。微軟的MFC是一種十分成功的Applicationframework。501.Windows編程-2選擇為開發(fā)Windows應(yīng)用而設(shè)計1.Windows編程-2MFC(MicrosoftFoundationClasses微軟基礎(chǔ)類)是一個建立在WindowsAPI基礎(chǔ)上的C++類庫,目的是使Windows程序設(shè)計過程更有效率。我們可以把MFC看作一個零組件“超級市場”。這些零組件(類)功能以及彼此間的關(guān)系都已經(jīng)定義好,我們可以從中選擇自己需要的零件構(gòu)造出一個應(yīng)用程序。靜態(tài)情況下MFC是一組類,在程序執(zhí)行期間就生成一組有活動力的對象組。MFC程序沒有main函數(shù)這樣的入口,它的執(zhí)行由applicationobject(一個派生自MFCCWinApp的全局對象)引發(fā),引發(fā)后我們選用的MFC類就依次實例化開始運行了。511.Windows編程-2MFC(MicrosoftFou2.MFCAppWizardAppWizard(ApplicationWizard)俗稱“應(yīng)用程序創(chuàng)建向?qū)А?。使用MFCAppWizard可以創(chuàng)建基于MFC類庫的Windows應(yīng)用程序(可執(zhí)行文件.exe或者動態(tài)連接庫.dll)。MFCAppWizard提供一系列對話框,用戶可以從中選擇滿足需要的選項。定義完應(yīng)用程序和項目選項后,MFCAppWizard生成創(chuàng)建應(yīng)用程序所需要的初始框架文件。MFCAppWizard可以創(chuàng)建三種類型的應(yīng)用程序:1.Singledocuments(單文檔SDI):一次只允許打開一個子文檔窗體。2.Multipledocuments(多文檔MDI):允許打開多個子文檔窗體。3.Dialog-Based(基于對話框):基于對話框的應(yīng)用程序?qū)@示一個對話框供用戶輸入或者進(jìn)行選擇。三種類型應(yīng)用程序的示例如下:522.MFCAppWizardAppWizard(Appl圖7SDI程序示例(Windows記事本)53圖7SDI程序示例(Windows記事本)53圖8MDI程序示例(又如微軟的Word)54圖8MDI程序示例(又如微軟的Word)54圖9Dialog-Based程序示例(Windows我的電腦中文件夾選項設(shè)置窗口)55圖9Dialog-Based程序示例(Windows我的電3.一個簡單的多文檔應(yīng)用程序?qū)嵗镁幊坦ぞ進(jìn)FCAppWizard。不需要增添一句代碼就可獲得標(biāo)準(zhǔn)的多文檔應(yīng)用程序框架,包括打印等高級功能。程序運行界面如圖8所示。首先新建project,選擇的工程類型是:MFCAppWizard(exe),示例項目名可自己設(shè)定,這里為mditest。563.一個簡單的多文檔應(yīng)用程序?qū)嵗镁幊坦ぞ進(jìn)FCApp接下去的step-1的選項中,創(chuàng)建的程序類型選擇Multipledocuments(多文檔),其余選項使用缺省值。Document/Viewarchitecturesupport?(文檔/視圖結(jié)構(gòu)支持)選項缺省已經(jīng)是選中狀態(tài)。這一項如果不選中,則程序運行時不支持文檔的打開/保存操作(需要文檔/視圖結(jié)構(gòu)支持才有效)。語言支持選擇中文。57接下去的step-1的選項中,創(chuàng)建的程序類型選擇Multip圖10MFCAppWizard-Step158圖10MFCAppWizard-Step158圖11MFCAppWizard-Step2

這一步選擇數(shù)據(jù)庫支持,當(dāng)前示例程序不需要。59圖11MFCAppWizard-Step2

這一步選擇圖12MFCAppWizard-Step3

這一步選擇混合文檔和ActiveX支持,當(dāng)前示例程序只需要支持純文本文檔。為求簡化,ActiveXControls支持也可以不要。60

圖13MFCAppWizard-Step4

這一步選擇用戶界面特性,例如標(biāo)準(zhǔn)工具欄、狀態(tài)條、打印以及預(yù)覽、上下文敏感幫助、3D風(fēng)格等。第二部分選擇工具欄風(fēng)格。第三部分是選擇文件菜單中的最近使用文件列表中顯示的文件數(shù)量。61

圖14MFCAppWizard-Step5

這一步選擇程序以及代碼風(fēng)格。第一項是程序風(fēng)格,MFC標(biāo)準(zhǔn)風(fēng)格和Windows瀏覽器風(fēng)格。第二項是詢問是否需要為程序代碼生成一些說明文字。第三項是選擇希望使用的MFC版本(動態(tài)連接版或者靜態(tài))。62

圖15MFCAppWizard-Step6

這是最后一步,允許用戶在這里更改各文件名和類名。在上面的類列表中選中一個類,下面顯示的就是相應(yīng)的類名、頭文將名、基類和實現(xiàn)文件名。這里為了使文檔可編輯,將CMditestView的基類改為CEditView。完成后點擊Finish完成向?qū)А?3

圖16項目信息

顯示用戶在前面各步所作選擇,點擊OK完成,否則Cancel重新選擇。64圖16項目信息

顯示用戶在前面各步所作選擇,點擊OK完成,圖17項目文件列表

根據(jù)用戶選擇,VC已經(jīng)生成了所需的全部文件。這個程序已經(jīng)可以運行,運行結(jié)構(gòu)就是圖2所示的效果。程序已經(jīng)具有標(biāo)準(zhǔn)的打開、編輯、保存以及打印等功能,而我們沒有添加一行代碼。65

4.自己添加代碼的sayhello程序這部分我們演示一個對話框程序,添加一些標(biāo)準(zhǔn)控件,并添加代碼控制程序的行為。新建project,名稱為sayhello,利用AppWizard,只需要在指定程序類型為Dialog-Based之后,就可以點擊Finish,完成程序框架。程序界面如右上圖。點擊提示按鈕,彈出提示框顯示文本框中字符串如右下圖;點擊添加按鈕,文本框中字符串添加到列表中(如果不重復(fù)的話);點擊取消關(guān)閉整個窗口。圖18664.自己添加代碼的sayhello程序這部分我們演示一個對圖19框架創(chuàng)建后的編輯區(qū)

根據(jù)用戶選擇,VC已經(jīng)為我們生成了所需的程序框架。這里要編輯的主要是sayhello主窗口,已經(jīng)生成的有一個靜態(tài)文本,兩個按鈕。右邊的控件窗口顯示一些標(biāo)準(zhǔn)窗口控件,可以通過拖放操作添加到窗口。67

圖20編輯控件屬性

右鍵點擊某控件,選擇Properties,彈出該控件的屬性設(shè)置窗口,如圖??梢栽O(shè)置控件標(biāo)題(caption)、可見性、對齊等屬性,這些屬性、風(fēng)格設(shè)置分布在三個頁(General、Styles、ExtendedStyles)上。這里我們主要需要設(shè)定的是Caption,設(shè)置為:Whatdoyouwanttosay?68

圖21完成界面設(shè)置

保留原來的取消按鈕,刪除確定按鈕,添加兩個按鈕和一個ComboBox控件,屬性中Styles頁設(shè)置情況如圖。通過拖放、對齊操作后完成界面構(gòu)造如圖。其中幾個控件的對齊可以通過選中多個控件后右鍵菜單中相關(guān)的Aligh選項實現(xiàn)。69

圖22設(shè)置成員變量名

點中某一控件,右鍵菜單中選擇ClassWizard進(jìn)行類設(shè)置。在MemberVariables(成員變量頁)選擇CSayhelloDlg(代表主窗口)類,設(shè)置三個按鈕和一個ComBox的變量名如圖(通過雙擊相應(yīng)條目編輯)。注意這里Category選擇Control,變量類型也正確指定。這樣在代碼中就可以通過這些名字引用相應(yīng)控件對象。70

圖23添加消息映射方法

仍然是在ClassWizard中,這里添加相應(yīng)對象的消息處理方法。Classname中指定要處理的類,這里是主窗口類CSayhelloDlg,選擇IDADD對象(“添加”按鈕)和BN_CLICKED消息(單擊),然后點擊AddFunction,指定方法名后,相應(yīng)的消息處理方法框架就生成了。71

圖24添加消息映射方法

在上一步中點擊EditCode,編輯“添加”按鈕單擊消息的處理方法代碼。添加的代碼如圖,主要過程是獲取ComBox輸入框字符串,判斷是否為控,以及ComBox中是否已存在此字符串,如果不存在則添加并將光標(biāo)定位于第一項。代碼中的TODO注釋是生成框架時自動生成的。72

圖25添加“提示”按鈕單擊方法

與“添加”按鈕類似的添加“提示”按鈕的單擊消息處理方法OnShow,代碼如圖。完成的操作是取得ComBox文本輸入內(nèi)容并跳出一個提示窗口顯示該字符串。73

5.結(jié)束語如第4部分這樣一步步操作就完成了一個窗口程序,編譯鏈接后就可以得到可執(zhí)行程序。更加復(fù)雜的窗口程序可以用相似的過程得到,使用的應(yīng)用程序框架也與此類似。只是可能會用到更多更復(fù)雜的MFC類,需要用戶根據(jù)實際需要繼承或引用各種MFC類,處理這些類之間的關(guān)系。還有可能需要在派生類中改寫虛擬函數(shù)或者添加新的成員函數(shù)。總之在ApplicationFramework框架下,你可以以MFC類庫為材料來源創(chuàng)造出符合各種需要的應(yīng)用程序。各種相關(guān)類信息可以通過MFC類庫手冊以及MSDN文檔得到。使用方法結(jié)束745.結(jié)束語如第4部分這樣一步步操作就完成了一個窗口程序,編演講完畢,謝謝觀看!演講完畢,謝謝觀看!75VisualC++使用方法簡介76VisualC++使用方法簡介1VisualC++菜單欄VisualC++6.0的菜單分成9大類:[File]文件[Edit]編輯[View]視圖[Insert]插入[Project]工程[Build]組建[Tools]工具[Window]窗口[Help]幫助在程序運行時,VisualC++6.0的菜單欄可以動態(tài)改變,還有[Layout]和[Debug]。如在調(diào)試狀態(tài)下,[Build]變成了[Debug]。77VisualC++菜單欄VisualC++6.0的菜單分[File]文件菜單[File]菜單共有14選項,分成6組:1、[New]新建一個一般文件,工程,工作區(qū),其他文檔。[Open]打開、[Close]關(guān)閉2、Workspace工作區(qū)操作,打開、保存和關(guān)閉工作區(qū)。3、有三個菜單項,用于文件保存。4、有二個菜單項,用于文件打印。5、用于打開以前打開過的文件或工作區(qū)。6、一個菜單項Exit,用于退出VisualC++6.0。78[File]文件菜單[File]菜單共有14選項,分成6組:[Edit]編輯菜單[Edit]菜單分成7組:1、撤銷編輯結(jié)果,或重復(fù)前次編輯過程。2、提供常見的編輯功能。3、字符串查找和替換。4、Goto和Bookmark編輯行定位和書簽定位。5、Advanced(高級),一些其他編輯手段。6、Breakpoints,與調(diào)試有關(guān),主要用于設(shè)置斷點。7、成員列表、函數(shù)參數(shù)信息、類型信息,及自動完成功能。79[Edit]編輯菜單[Edit]菜單分成7組:4[View]視圖菜單[View]菜單共有9個選項,分成6組(初始時沒有1和7):1、ClassWizard(或Ctrl+W),激活MFCClassWizard類向?qū)Чぞ?,用來管理類、消息映射等?、ResourceSymbols對工程所定義的所有資源標(biāo)號,進(jìn)行瀏覽和管理。3、ResourceIncludes用于設(shè)定資源ID的包含頭文件。4、FullScreen全屏顯示,按Esc退出全屏顯示。5、Workspace顯示工作區(qū)窗口。6、Output顯示輸出窗口。7、DebugWindows在調(diào)試狀態(tài)下控制一些調(diào)試窗口。8、Refresh刷新當(dāng)前顯示窗口。9、Properties查看和修改當(dāng)前窗口所顯示的對象的屬性。80[View]視圖菜單[View]菜單共有9個選項,分成6組([Insert]插入菜單[Insert]菜單共有6個選項:1、NewClass添加新類(MFC、Generic、Form三種不同類型的類)。2、NewForm添加FormClass。3、Resource添加資源。4、ResourceCopy添加資源復(fù)制件。5、FileAsText插入選定的文本文件。6、NewATLObject添加ATL對象。81[Insert]插入菜單[Insert]菜單共有6個選項:6[Project]工程菜單[Project]菜單共有6個選項:1、SetActiveProject在多個工程中選定當(dāng)前活動工程。2、AddtoProject向當(dāng)前工程添加文件、文件夾、數(shù)據(jù)連接、VisualC組件,以及ActiveX控件。3、sourceControl源代碼控制具。4、Dependencies設(shè)置工程間的依賴關(guān)系。5、Settings設(shè)置工程屬性(調(diào)試版本、發(fā)布版本和共同部分)。6、ExportMakefile導(dǎo)出應(yīng)用程序的Make(*.mak)文件。82[Project]工程菜單[Project]菜單共有6個選項[Build]構(gòu)建菜單[Build]菜單共有13個選項:1、Compile編譯當(dāng)前文件。2、Build創(chuàng)建工程的可執(zhí)行文件,但不運行。3、RebuildAll重新編譯所有文件,并連接生成可執(zhí)行文件。4、BatchBuild成批編譯、連接工程的不同設(shè)置。5、Clean把編譯、連接生成的中間文件和最終可執(zhí)行文件刪除。6、StartDebug->Go開始調(diào)試,到斷點處暫停。7、StartDebug->StepInto單步調(diào)試,遇函數(shù)進(jìn)入函數(shù)體。8、StartDebug->RuntoCursor開始調(diào)試,到光標(biāo)處停止。9、DebuggerRemoteConnection用于遠(yuǎn)程連接調(diào)試。10、Execute運行可執(zhí)行目標(biāo)文件。11、SetActiveConfiguration選擇Build配置方式(Debug、Release)。12、Configuration增加或刪除工程配置方式。13、Profile工程構(gòu)建過程的描述文件。83[Build]構(gòu)建菜單[Build]菜單共有13個選項:8[Tools]工具菜單[Tools]菜單中是VisualC++附帶的各種工具。其中常用的工具有ActiveXControlTestContainer(測試一個ActiveX控件的容器)、Spy++(用于程序運行時以圖形化方式查看系統(tǒng)進(jìn)程、線程、窗口、窗口信息等),以及MFCTracer(用于程序跟蹤)等。還有一些常用的設(shè)置:Customize,Options。84[Tools]工具菜單[Tools]菜單中是VisualC[Windows]窗口菜單[Windows]菜單主要工能如下:1、NewWindow新建一個窗口,內(nèi)容與當(dāng)前窗口同。2、Split分割當(dāng)前窗口成四個,內(nèi)容全相同。3、DockingView控制當(dāng)前窗口是否成為浮動視圖。4、Cascade編輯窗口層疊放置。5、TileHorizontally編輯窗口橫向平鋪顯示。6、TileVertically編輯窗口縱向平鋪顯示。7、Windows對已經(jīng)打開的窗口進(jìn)行集中管理。85[Windows]窗口菜單[Windows]菜單主要工能如下[Help]窗口菜單[Help]菜單中的4個選項Contents、Search、Index和TechnicalSupport都會彈出幫助窗口,叫做MSDNLibraryVisualStudio6.0。MSDN庫提供的幫助工能很豐富,可以以目錄、索引和搜索三種方式提供幫助。瀏覽方式多樣,甚至可以連接到Web網(wǎng)站查找信息。另有兩個選項:KeyboardMap選項打開快捷鍵列表;TipoftheDay選項打開TipoftheDay對話框,介紹VisualC++6.0的使用知識和技巧。86[Help]窗口菜單[Help]菜單中的4個選項Conten工具欄工具欄由多個操作按鈕組成,這些操作一般都與某個菜單項對應(yīng)。主要工具欄如下:1、Standard提供最基本的功能:文件操作、編輯、查找等。2、Build工程的編譯、連接、修改活動配置、運行調(diào)試程序。3、BuildMiniBar由部分按鈕組成的工具欄。4、Resource添加各種類型的資源。5、Edit剪切、復(fù)制和粘貼等功能。6、Debug用于調(diào)試狀態(tài)的若干操作7、Browse源程序瀏覽操作8、Database跟數(shù)據(jù)庫有關(guān)的操作。87工具欄工具欄由多個操作按鈕組成,這些操作一般都與某個菜單項對VisualC++組件一覽DeveloperStudio開發(fā)環(huán)境編輯器編譯器鏈接器Wizard實用程序調(diào)試器其他實用工具88VisualC++組件一覽DeveloperStudioDeveloperStudio開發(fā)環(huán)境圖189DeveloperStudio開發(fā)環(huán)境圖114了解DeveloperStudioWorkspace(工作空間)窗口Output(輸出)窗口編輯窗口調(diào)試窗口90了解DeveloperStudioWorkspace(工作工作空間窗口ClassView:列出項目中的類和成員函數(shù)。雙擊列表中的類或函數(shù),即可在VisualC++文本編輯器中打開該類的源文件。ResourceView:列出項目的資源數(shù)據(jù),雙擊列表中的數(shù)據(jù)項會打開合適的編輯器并加載資源。FileView:列出項目的源文件,頭文件。Workspace窗口顯示了項目各個方面的信息。在窗口底端選擇相應(yīng)的選項卡來按不同視圖顯示項目的列表。91工作空間窗口ClassView:列出項目中的類和成員函數(shù)。雙工作空間和項目工作空間(workspace):工作空間是一個包含用戶的所有相關(guān)項目和配置的實體。項目(project):項目定義為一個配置和一組文件,用以生成最終的程序或二進(jìn)制文件。一個工作空間可以包含多個項目,這些項目既可以是同一類型的項目,也可以是由不同類型的項目(如VisualC++和VisualJ++項目)。92工作空間和項目工作空間(workspace):工作空間是一個編輯窗口編輯窗口為開發(fā)者提供了編輯文件和資源的手段。通過編輯窗口,開發(fā)者可以編輯和修改源程序和各種類型的資源。93編輯窗口編輯窗口為開發(fā)者提供了編輯文件和資源的手段。通過編輯資源資源包括菜單、對話框、圖標(biāo)、字體、快捷鍵等。開發(fā)者可以通過編輯資源來定義WINDOWS程序的界面部分。資源的定義是以文本的形式存放在資源定義文件中,并由編譯器編譯為二進(jìn)制代碼。在VC++中,提供了一個資源編輯器,使開發(fā)者能在圖形方式下對各種資源進(jìn)行編輯。94資源資源包括菜單、對話框、圖標(biāo)、字體、快捷鍵等。開發(fā)者可以通資源編輯器圖295資源編輯器圖220輸出窗口編譯信息:在編譯時輸出,主要是編譯時的錯誤和警告。調(diào)試信息:在對程序進(jìn)行調(diào)試時輸出,主要是程序當(dāng)前的運行狀況。查找結(jié)果:在用戶從多個文件中查找某個字符串時產(chǎn)生,顯示查找結(jié)果的位置。輸出窗口輸出一些用戶操作后的反饋信息,它由一些頁面組成,每個頁面輸出一種信息,輸出的信息種類主要有:96輸出窗口編譯信息:在編譯時輸出,主要是編譯時的錯誤和警告。輸調(diào)試窗口變量查看窗口(WATCH)過程調(diào)用查看窗口(CALLSTACK)內(nèi)存查看窗口(MEMORY)寄存器查看窗口(REGISTER)調(diào)試窗口包括一組窗口,在調(diào)試程序時分別顯示各種信息,這些窗口主要包括:97調(diào)試窗口變量查看窗口(WATCH)調(diào)試窗口包括一組窗口,在調(diào)用VC++環(huán)境下運行一個新程序的上機操作步驟1.打開VC++窗口,單擊菜單[File]->[New]2.在彈出窗口上選擇標(biāo)簽Project,選中Win32ConsoleApplication項,并在Projectname框輸入工程名;在Location框輸入保存源程序的路徑名;單擊OK。3.在彈出窗口選擇AnEmptyProject,單擊[Finish]按鈕;在下一窗口單擊OK。4.再在VC++菜單條中單擊[File]->[New]。98用VC++環(huán)境下運行一個新程序的上機操作步驟1.打開VC++5.在彈出窗口選擇標(biāo)簽File,選C++SourceFile,并在File框輸入文件名。(此時,Addtoproject框應(yīng)該是剛輸入的工程名,Location框應(yīng)是剛輸入的路徑名).6.在編輯窗口輸入源程序,單擊[File]->[Save],存盤.7.再在VC++菜單條中單擊[Build]->[Compile];無編輯錯,單擊[Build]->[Build];無連接錯,單擊[Build]->[Execute]執(zhí)行程序;運行結(jié)束,按任意鍵退回VC++窗口。8.如果再鍵入另一個新程序,單擊[File]->[CloseWorkspace];然后再重復(fù)上述步驟。編譯一個已打開的程序也可簡單地單擊[BuildAll]的標(biāo)志符。執(zhí)行編譯好的程序,單擊執(zhí)行標(biāo)志!。995.在彈出窗口選擇標(biāo)簽File,選C++SourceFi如要打開已存在的C++.CPP源程序,可按以下步驟打開:1.打開VC++窗口,單擊[File]->[Open];2.在彈出對話框找文件所在文件夾,選中文件,單擊打開按鈕,把文件調(diào)入VC++編輯窗。3.在VC++菜單條中單擊[Build]->[Compile],單擊是按鈕。4.無編輯錯,單擊[Build]->[Build];無連接錯,單擊[Build]->[Execute]執(zhí)行程序;運行結(jié)束,按任意鍵退回VC++窗口。編譯一個已打開的程序也可簡單地單擊[BuildAll]的標(biāo)志符。執(zhí)行編譯好的程序,單擊!100如要打開已存在的C++.CPP源程序,可按以下步驟打開:2用VC++開發(fā)程序的過程用AppWizard新建一個工程編輯代碼編譯代碼調(diào)試和執(zhí)行程序101用VC++開發(fā)程序的過程用AppWizard新建一個工程2AppWizardAppWizard(應(yīng)用程序生成器)是VisualC++自帶的一個工具,通過它,可以方便地生成各種類型的程序的框架。選擇菜單中的File---->New…,即可以使用AppWizard來新建程序??梢孕陆ǖ膬?nèi)容包括File、Project、Workspaces、OtherDocuments四個頁面,每個頁面下有各種類型的工程或文件。選定類型之后,即進(jìn)入Wizard(向?qū)В?,讓用戶選擇一些可選項,完成之后,程序的框架即生成。102AppWizardAppWizard(應(yīng)用程序生成器)是用AppWizard新建一個工程在File菜單上,點New,選擇Projects標(biāo)簽。從列表中選擇項目類型。點CreateNewWorkspace(新建工作區(qū))或AddtoCurrentWorkspace(加入到當(dāng)前工作區(qū)中)。要使新工程為子工程,可以選擇Dependencyof檢查框,并從列表中選擇一個工程。在ProjectName框中,輸入新工程名,確保該名字必須與工作區(qū)中的別的工程名字不重名。在Location框中,指定工程存放的目錄:可以直接輸入路徑名,也可以按旁邊的Browse按鈕,瀏覽選擇一個路徑。點Platform框中的相應(yīng)檢查框,指定工程的開發(fā)平臺。輸入完以上內(nèi)容并按OK按鈕后,根據(jù)所選的工程類型,會出現(xiàn)相應(yīng)的Wizard(向?qū)В?。通過一系列的對話框輸入,快速生成工程的框架。103用AppWizard新建一個工程在File菜單上,點New新建一個C++程序在File菜單上,點節(jié)New,選擇File標(biāo)簽。從列表中選擇C/C++源程序。在編輯窗鍵入源程序。文件保存,源程序文件的名必需為.C或.CPP點節(jié)編譯命令。若程序有錯,重新編輯源程序,改正錯誤后,重新編譯。編譯沒有錯誤后,點節(jié)執(zhí)行命令,程序開始執(zhí)行。104新建一個C++程序在File菜單上,點節(jié)New,選擇File繼續(xù)新建一個C++程序在File菜單上,點節(jié)Close關(guān)閉編輯窗,點節(jié)CloseWorkspace關(guān)閉工作空間。然后重復(fù)新建一個C/C++程序的全部工作。修正一個已有的C++程序1、在File菜單上,點節(jié)Open,打開一個已有的C++程序。2、在編輯窗修改源程序。3、點節(jié)編譯命令。4、若程序有錯,重新編輯源程序,改正錯誤后,重新編譯。5、編譯沒有錯誤后,點節(jié)執(zhí)行命令,程序開始執(zhí)行。105繼續(xù)新建一個C++程序在File菜單上,點節(jié)Close關(guān)閉編開始實踐--第一個VC程序新建一個新工程,在項目類型中選“Win32ConsoleApplication”。在ProjectName框中輸入test1,將CreateNewWorkspace選擇框選中。按OK按鈕。在出現(xiàn)的Wizard對話框中選擇ASimpleApplication,然后按Finish按鈕。在接下來出現(xiàn)的對話框中按OK。106開始實踐--第一個VC程序新建一個新工程,在項目類型中選“W編譯運行程序選擇菜單中的Build---->Buildtest1.exe在輸出窗口會出現(xiàn)“test1.exe-0error(s),0warning(s)”,說明編譯通過。選擇菜單中的Build---->Executetest1.exe。出現(xiàn)運行結(jié)果。107編譯運行程序選擇菜單中的Build---->Buildte程序運行結(jié)果圖3108程序運行結(jié)果圖333編輯代碼在工作空間窗口中選ClassView頁面。雙擊Global下的main方法,右邊的編輯窗口顯示了main方法所在源文件的內(nèi)容。在編輯窗口中的return0的前面插入一行“printf("thisismyfirstprogram!\n");”。在#include“stdafx.h”那行之后插入一行#include"stdio.h"保存文件109編輯代碼在工作空間窗口中選ClassView頁面。34重新編譯并運行選擇菜單中的Build---->Buildtest1.exe如果在輸出窗口出現(xiàn)test1.exe-0error(s),0warning(s)說明編譯通過;如果顯示有錯誤,則需要修改源文件直到編譯通過。選擇菜單中的Build---->Executetest1.exe。出現(xiàn)運行結(jié)果。110重新編譯并運行選擇菜單中的Build---->Buildt修改過的程序運行結(jié)果圖4111修改過的程序運行結(jié)果圖436調(diào)試程序編譯錯誤是因為程序代碼不符合C++語法、單詞拼寫錯誤、函數(shù)調(diào)用參數(shù)使用不當(dāng)?shù)?,通過編譯和檢查程序能比較方便地改正。若運行結(jié)果與預(yù)期結(jié)果不同,則需要用調(diào)試程序來找到程序中錯誤的地方,并排除所有的錯誤。選擇菜單中的Build--->StartDebug,啟用調(diào)試器。調(diào)試器有四個子菜單:[Go][StepInto][Runtocursor][Attachtoprocess]112調(diào)試程序編譯錯誤是因為程序代碼不符合C++語法、單詞拼寫錯誤-->Go從當(dāng)前語句開始執(zhí)行,直到遇到斷點,或程序執(zhí)行結(jié)束。用Go啟動調(diào)試器,從頭開始執(zhí)行程序。-->StepInto單步執(zhí)行每一程序行,遇到函數(shù)調(diào)用進(jìn)入函數(shù)體內(nèi)單步執(zhí)行。-->Runtocursor運行程序至當(dāng)前光標(biāo)位置。-->Attachtoprocess將調(diào)試器與當(dāng)前運行的某個進(jìn)程聯(lián)系起來,可跟蹤進(jìn)入進(jìn)程內(nèi)部,調(diào)試運行中的進(jìn)程。113-->Go從當(dāng)前語句開始執(zhí)行,直到遇到斷點,或程序執(zhí)行結(jié)調(diào)試命令菜單項快捷鍵作用GoF5運行程序至斷點,或程序結(jié)束RestartCtrl+Shift+F5重新載入程序,并啟動執(zhí)行StopDeb.Shift+F5關(guān)閉調(diào)試會話Break從當(dāng)前位置退出,終止程序執(zhí)行StepIntoF11單步執(zhí)行,并進(jìn)入調(diào)用函數(shù)StepOverF10單步執(zhí)行,但不進(jìn)入函數(shù)StepOutShift+F11跳出當(dāng)前函數(shù),回到調(diào)用處RuntoCursorCtrl+F10運行止當(dāng)前光標(biāo)處Exceptions設(shè)置異常,可以選擇遇到異常處停止,或遇到未處理的異常處停止Threads線程調(diào)試,可以掛起、恢復(fù)、切換線程StepIntoSpecificFunction直接進(jìn)入函數(shù),用于調(diào)試多層嵌套的函數(shù)114調(diào)試命令39在View菜單下還提供一個DebugWindows菜單的幾個子菜單,用于隱藏或顯示與調(diào)試工作相關(guān)的一些窗口。菜單項快捷鍵作用WatchAlt+3顯示窗口,用于觀察和設(shè)置變量值VariablesAlt+4觀察與當(dāng)前函數(shù)相關(guān)的變量RegistersAlt+5觀察微處理器的寄存器MemoryAlt+6觀察未使用的內(nèi)存塊CallStackAlt+7顯示調(diào)用棧,觀察調(diào)用的函數(shù)DisassemblyAlt+8打開窗口顯示匯編程序代碼斷點是程序調(diào)試過程中暫時停止執(zhí)行的地方。在斷點處,可以觀察、設(shè)置變量的值,檢查程序是否按所期望的邏輯執(zhí)行。115在View菜單下還提供一個DebugWindows菜單的幾插入斷點在源程序窗口內(nèi)任一程序行上按鼠標(biāo)右鍵,從右鍵快捷菜單中選擇[Insert/RemoveBreakpoint]菜單項,就可以將當(dāng)前語句行作為一個斷點。在該語句行左邊,有一個紅色實心圓指示該行是一個斷點。刪除斷點

在有斷點的語句行上按右鍵彈出快捷菜單,選擇[RemoveBreakpoint]菜單項,就可刪除該斷點。禁止斷點

在斷點處的右鍵快捷菜單上選擇[DisableBreakpoint]菜單項,暫時禁止該斷點,該斷點可能以后再用。該位置將變?yōu)橛每招膱A標(biāo)記?;謴?fù)斷點

在禁止斷點處,用右鍵快捷菜單選擇[EnableBreakpoint]菜單項,恢復(fù)起用曾被禁止的斷點。11641開發(fā)窗口程序新建一個新工程,在項目類型中選“Win32Application”。在ProjectName框中輸入test2,將CreateNewWorkspace選擇框選中。按OK按鈕。在出現(xiàn)的Wizard對話框中選擇ATypicalHelloworldApplication,然后按Finish按鈕。在接下來出現(xiàn)的NewProjectInformation對話框中按OK。編譯代碼、運行代碼。117開發(fā)窗口程序新建一個新工程,在項目類型中選“Win32Ap窗口程序運行結(jié)果圖5118窗口程序運行結(jié)果圖543獲取幫助為什么要獲取幫助不可能也沒有必要去記住所有的知識幫助文檔可以使程序員事半功倍獲取幫助的途徑MSDN聯(lián)機幫助參考書INTERNET119獲取幫助為什么要獲取幫助44MSDN聯(lián)機文檔圖6120MSDN聯(lián)機文檔圖645使用MSDNContents(目錄)選項卡當(dāng)你頭腦中有一個大概的主題,而你又想要看一看這個主題有哪些文檔時,目錄表是非常有用的。Index(索引)選項卡Index(索引)選項卡顯示了整套MSDN文件的全面索引,只要打入關(guān)鍵字,就可以立刻找到你要找的東西。Search(搜索)選項卡MSDN幫助文件集包含一個搜索引擎,它能進(jìn)行全文本搜索來確定哪些主題文件包含了指定的詞或短語。Favorites(收藏)選項卡它維護(hù)著一個標(biāo)記選擇過的文章的書簽列表,使你能迅速找到你曾經(jīng)看過的內(nèi)容。121使用MSDNContents(目錄)選項卡46基于MFC的GUI編程122基于MFC的GUI編程471.Windows編程-1事件驅(qū)動和消息機制是Windows編程的基礎(chǔ)。Windows是消息驅(qū)動(或事件驅(qū)動)的操作系統(tǒng)。消息驅(qū)動意味著操作系統(tǒng)的每個部分與其它部分,以及應(yīng)用程序之間通過Windows消息進(jìn)行通信。例如當(dāng)我們移動鼠標(biāo)或按下鍵盤上某個鍵,Windows就會捕捉到這個消息,并存儲到消息隊列中等待處理(通常是轉(zhuǎn)發(fā)給相應(yīng)的操作系統(tǒng)某個處理程序或者應(yīng)用程序)。1231.Windows編程-1事件驅(qū)動和消息機制是Windows1.Windows編程-1以前的軟件開發(fā)者采用SDK(WindowsSoftwareDevelopmentKit軟件開發(fā)工具包)進(jìn)行Windows編程。SDK的核心內(nèi)容是API(應(yīng)用程序編程接口)、事件驅(qū)動和消息循環(huán)。API是一個程序包,其內(nèi)有一組函數(shù),供程序員用它創(chuàng)建其他程序。Windows正是利用API實現(xiàn)圖形用戶界面(GUI)。1241.Windows編程-1以前的軟件開發(fā)者采用SDK(Win1.Windows編程-2選擇為開發(fā)Windows應(yīng)用而設(shè)計的精美的應(yīng)用程序框架(Applicationframework)。Applicationframework是一個完整的程序模型,具備標(biāo)準(zhǔn)應(yīng)用軟件所需的一切基本功能,如文件存取、打印預(yù)覽。Applicationframework提供了標(biāo)準(zhǔn)的程序模型,我們只需要按個人需要添加一些材料:在派生類中改寫虛擬函數(shù),或在派生類中加上新的程序函數(shù)。微軟的MFC是一種十分成功的Applicationframework。1251.Windows編程-2選擇為開發(fā)Windows應(yīng)用而設(shè)計1.Windows編程-2MFC(MicrosoftFoundationClasses微軟基礎(chǔ)類)是一個建立在WindowsAPI基礎(chǔ)上的C++類庫,目的是使Windows程序設(shè)計過程更有效率。我們可以把MFC看作一個零組件“超級市場”。這些零組件(類)功能以及彼此間的關(guān)系都已經(jīng)定義好,我們可以從中選擇自己需要的零件構(gòu)造出一個應(yīng)用程序。靜態(tài)情況下MFC是一組類,在程序執(zhí)行期間就生成一組有活動力的對象組。MFC程序沒有main函數(shù)這樣的入口,它的執(zhí)行由applicationobject(一個派生自MFCCWinApp的全局對象)引發(fā),引發(fā)后我們選用的MFC類就依次實例化開始運行了。1261.Windows編程-2MFC(MicrosoftFou2.MFCAppWizardAppWizard(ApplicationWizard)俗稱“應(yīng)用程序創(chuàng)建向?qū)А?。使用MFCAppWizard可以創(chuàng)建基于MFC類庫的Windows應(yīng)用程序(可執(zhí)行文件.exe或者動態(tài)連接庫.dll)。MFCAppWizard提供一系列對話框,用戶可以從中選擇滿足需要的選項。定義完應(yīng)用程序和項目選項后,MFCAppWizard生成創(chuàng)建應(yīng)用程序所需要的初始框架文件。MFCAppWizard可以創(chuàng)建三種類型的應(yīng)用程序:1.Singledocuments(單文檔SDI):一次只允許打開一個子文檔窗體。2.Multipledocuments(多文檔MDI):允許打開多個子文檔窗體。3.Dialog-Based(基于對話框):基于對話框的應(yīng)用程序?qū)@示一個對話框供用戶輸入或者進(jìn)行選擇。三種類型應(yīng)用程序的示例如下:1272.MFCAppWizardAppWizard(Appl圖7SDI程序示例(Windows記事本)128圖7SDI程序示例(Windows記事本)53圖8MDI程序示例(又如微軟的Word)129圖8MDI程序示例(又如微軟的Word)54圖9Dialog-Based程序示例(Windows我的電腦中文件夾選項設(shè)置窗口)130圖9Dialog-Based程序示例(Windows我的電3.一個簡單的多文檔應(yīng)用程序?qū)嵗镁幊坦ぞ進(jìn)FCAppWizard。不需要增添一句代碼就可獲得標(biāo)準(zhǔn)的多文檔應(yīng)用程序框架,包括打印等高級功能。程序運行界面如圖8所示。首

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論