Visual_C++(自學(xué)).ppt_第1頁(yè)
Visual_C++(自學(xué)).ppt_第2頁(yè)
Visual_C++(自學(xué)).ppt_第3頁(yè)
Visual_C++(自學(xué)).ppt_第4頁(yè)
Visual_C++(自學(xué)).ppt_第5頁(yè)
已閱讀5頁(yè),還剩69頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1,Visual C+使用方法簡(jiǎn)介,2,Visual C+菜單欄,Visual C+6.0的菜單分成9大類: File文件 Edit編輯 View視圖 Insert插入 Project工程 Build組建 Tools工具 Window窗口 Help幫助 在程序運(yùn)行時(shí), Visual C+ 6.0的菜單欄可以動(dòng)態(tài)改變,還有Layout和Debug。 如在調(diào)試狀態(tài)下, Build變成了Debug。,3,File文件菜單,File菜單共有14選項(xiàng),分成6組: 1、New新建一個(gè)一般文件,工程,工作區(qū),其他文檔。Open打開、Close關(guān)閉 2、Workspace工作區(qū)操作,打開、保存和關(guān)閉工作區(qū)。

2、3、有三個(gè)菜單項(xiàng),用于文件保存。 4、有二個(gè)菜單項(xiàng),用于文件打印。 5、用于打開以前打開過(guò)的文件或工作區(qū)。 6、一個(gè)菜單項(xiàng)Exit,用于退出Visual C+ 6.0。,4,Edit編輯菜單,Edit菜單分成7組: 1、撤銷編輯結(jié)果,或重復(fù)前次編輯過(guò)程。 2、提供常見的編輯功能。 3、字符串查找和替換。 4、Go to和Bookmark編輯行定位和書簽定位。 5、Advanced(高級(jí)),一些其他編輯手段。 6、Breakpoints,與調(diào)試有關(guān),主要用于設(shè)置斷點(diǎn)。 7、成員列表、函數(shù)參數(shù)信息、類型信息,及自動(dòng)完成功能。,5,View視圖菜單,View菜單共有9個(gè)選項(xiàng),分成6組(初始時(shí)沒(méi)有1和

3、7): 1、ClassWizard(或Ctrl+W),激活MFC ClassWizard 類向?qū)Чぞ撸脕?lái)管理類、消息映射等。 2、Resource Symbols 對(duì)工程所定義的所有資源標(biāo)號(hào),進(jìn)行瀏覽和管理。 3、 Resource Includes 用于設(shè)定資源ID的包含頭文件 。 4、Full Screen 全屏顯示,按Esc退出全屏顯示。 5、Workspace 顯示工作區(qū)窗口。 6、Output 顯示輸出窗口。 7、Debug Windows 在調(diào)試狀態(tài)下控制一些調(diào)試窗口。 8、Refresh 刷新當(dāng)前顯示窗口。 9、Properties 查看和修改當(dāng)前窗口所顯示的對(duì)象的屬性。,6,

4、Insert插入菜單,Insert菜單共有6個(gè)選項(xiàng): 1、New Class 添加新類(MFC 、Generic、Form三種不同類型的類)。 2、New Form 添加Form Class。 3、Resource添加資源。 4、Resource Copy添加資源復(fù)制件。 5、File As Text 插入選定的文本文件。 6、New ATL Object添加ATL對(duì)象。,7,Project工程菜單,Project菜單共有6個(gè)選項(xiàng): 1、Set Active Project 在多個(gè)工程中選定當(dāng)前活動(dòng)工程。 2、Add to Project 向當(dāng)前工程添加文件、文件夾、數(shù)據(jù)連接、Visual C

5、組件,以及ActiveX控件。 3、source Control源代碼控制具。 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個(gè)選項(xiàng): 1、Compile 編譯當(dāng)前文件。 2、Build 創(chuàng)建工程的可執(zhí)行文件,但不運(yùn)行。 3、Rebuild All重新編譯所有文件,并連接生成可執(zhí)行文件。 4、Batch Build成批編譯、連接工程的不同設(shè)置。 5、Clean把編譯、連接生成的中間文件和最終

6、可執(zhí)行文件刪除。 6、Start Debug-Go 開始調(diào)試,到斷點(diǎn)處暫停。 7、Start Debug-Step Into單步調(diào)試,遇函數(shù)進(jìn)入函數(shù)體。 8、Start Debug -Run to Cursor開始調(diào)試,到光標(biāo)處停止。 9、Debugger Remote Connection用于遠(yuǎn)程連接調(diào)試。 10、Execute運(yùn)行可執(zhí)行目標(biāo)文件。 11、Set Active Configuration選擇Build配置方式(Debug、Release)。 12、Configuration增加或刪除工程配置方式。 13、Profile工程構(gòu)建過(guò)程的描述文件。,9,Tools工具菜單,Tool

7、s菜單中是Visual C+附帶的各種工具。 其中常用的工具有 ActiveX Control Test Container(測(cè)試一個(gè)ActiveX控件的容器)、 Spy+(用于程序運(yùn)行時(shí)以圖形化方式查看系統(tǒng)進(jìn)程、線程、窗口、窗口信息等), 以及MFC Tracer(用于程序跟蹤)等。 還有一些常用的設(shè)置:Customize,Options。,10,Windows窗口菜單,Windows菜單主要工能如下: 1、New Window新建一個(gè)窗口,內(nèi)容與當(dāng)前窗口同。 2、Split 分割當(dāng)前窗口成四個(gè),內(nèi)容全相同。 3、Docking View控制當(dāng)前窗口是否成為浮動(dòng)視圖。 4、Cascade編輯

8、窗口層疊放置。 5、Tile Horizontally編輯窗口橫向平鋪顯示。 6、Tile Vertically編輯窗口縱向平鋪顯示。 7、Windows對(duì)已經(jīng)打開的窗口進(jìn)行集中管理。,11,Help窗口菜單,Help菜單中的4個(gè)選項(xiàng)Contents、Search、Index和Technical Support 都會(huì)彈出幫助窗口,叫做MSDN Library Visual Studio6.0。 MSDN庫(kù)提供的幫助工能很豐富,可以以目錄、索引和搜索三種方式提供幫助。瀏覽方式多樣,甚至可以連接到Web網(wǎng)站查找信息。 另有兩個(gè)選項(xiàng): Keyboard Map選項(xiàng)打開快捷鍵列表; Tip of th

9、e Day選項(xiàng)打開Tip of the Day對(duì)話框,介紹Visual C+6.0的使用知識(shí)和技巧。,12,工具欄,工具欄由多個(gè)操作按鈕組成,這些操作一般都與某個(gè)菜單項(xiàng)對(duì)應(yīng)。主要工具欄如下: 1、Standard提供最基本的功能:文件操作、編輯、查找等。 2、Build工程的編譯、連接、修改活動(dòng)配置、運(yùn)行調(diào)試程序。 3、Build MiniBar由部分按鈕組成的工具欄。 4、Resource添加各種類型的資源。 5、Edit剪切、復(fù)制和粘貼等功能。 6、Debug用于調(diào)試狀態(tài)的若干操作 7、Browse源程序?yàn)g覽操作 8、Database跟數(shù)據(jù)庫(kù)有關(guān)的操作。,13,Visual C+組件一覽,

10、Developer Studio開發(fā)環(huán)境 編輯器 編譯器 鏈接器 Wizard實(shí)用程序 調(diào)試器 其他實(shí)用工具,14,Developer Studio開發(fā)環(huán)境,圖1,15,了解Developer Studio,Workspace(工作空間)窗口 Output(輸出)窗口 編輯窗口 調(diào)試窗口,16,工作空間窗口,ClassView:列出項(xiàng)目中的類和成員函數(shù)。雙擊列表中的類或函數(shù),即可在Visual C+文本編輯器中打開該類的源文件。 ResourceView:列出項(xiàng)目的資源數(shù)據(jù),雙擊列表中的數(shù)據(jù)項(xiàng)會(huì)打開合適的編輯器并加載資源。 FileView:列出項(xiàng)目的源文件,頭文件。,Workspace窗口顯

11、示了項(xiàng)目各個(gè)方面的信息。在窗口底端選擇相應(yīng)的選項(xiàng)卡來(lái)按不同視圖顯示項(xiàng)目的列表。,17,工作空間和項(xiàng)目,工作空間(workspace):工作空間是一個(gè)包含用戶的所有相關(guān)項(xiàng)目和配置的實(shí)體。 項(xiàng)目(project):項(xiàng)目定義為一個(gè)配置和一組文件,用以生成最終的程序或二進(jìn)制文件。一個(gè)工作空間可以包含多個(gè)項(xiàng)目,這些項(xiàng)目既可以是同一類型的項(xiàng)目,也可以是由不同類型的項(xiàng)目(如Visual C+和Visual J+項(xiàng)目)。,18,編輯窗口,編輯窗口為開發(fā)者提供了編輯文件和資源的手段。通過(guò)編輯窗口,開發(fā)者可以編輯和修改源程序和各種類型的資源。,19,資源,資源包括菜單、對(duì)話框、圖標(biāo)、字體、快捷鍵等。開發(fā)者可以通過(guò)

12、編輯資源來(lái)定義WINDOWS程序的界面部分。 資源的定義是以文本的形式存放在資源定義文件中,并由編譯器編譯為二進(jìn)制代碼。 在VC+中,提供了一個(gè)資源編輯器,使開發(fā)者能在圖形方式下對(duì)各種資源進(jìn)行編輯。,20,資源編輯器,圖2,21,輸出窗口,編譯信息:在編譯時(shí)輸出,主要是編譯時(shí)的錯(cuò)誤和警告。 調(diào)試信息:在對(duì)程序進(jìn)行調(diào)試時(shí)輸出,主要是程序當(dāng)前的運(yùn)行狀況。 查找結(jié)果:在用戶從多個(gè)文件中查找某個(gè)字符串時(shí)產(chǎn)生,顯示查找結(jié)果的位置。,輸出窗口輸出一些用戶操作后的反饋信息,它由一些頁(yè)面組成,每個(gè)頁(yè)面輸出一種信息,輸出的信息種類主要有:,22,調(diào)試窗口,變量查看窗口(WATCH) 過(guò)程調(diào)用查看窗口(CALL

13、STACK) 內(nèi)存查看窗口(MEMORY) 寄存器查看窗口(REGISTER),調(diào)試窗口包括一組窗口,在調(diào)試程序時(shí)分別顯示各種信息,這些窗口主要包括:,23,用VC環(huán)境下運(yùn)行一個(gè)新程序的上機(jī)操作步驟,1.打開VC+窗口,單擊菜單File-New 2.在彈出窗口上選擇標(biāo)簽Project,選中Win32 Console Application項(xiàng),并在Project name框輸入工程名;在Location框輸入保存源程序的路徑名;單擊OK。 3.在彈出窗口選擇An Empty Project,單擊Finish按鈕;在下一窗口單擊OK。 4.再在VC+菜單條中單擊File-New。,24,5.在彈出

14、窗口選擇標(biāo)簽File,選C+ Source File,并在File框輸入文件名。(此時(shí),Add to project框應(yīng)該是剛輸入的工程名,Location框應(yīng)是剛輸入的路徑名). 6.在編輯窗口輸入源程序,單擊File-Save,存盤. 7.再在VC+菜單條中單擊Build-Compile;無(wú)編輯錯(cuò),單擊Build - Build;無(wú)連接錯(cuò),單擊Build-Execute執(zhí)行程序;運(yùn)行結(jié)束,按任意鍵退回VC+窗口。 8.如果再鍵入另一個(gè)新程序,單擊 File-Close Workspace; 然后再重復(fù)上述步驟。 編譯一個(gè)已打開的程序也可簡(jiǎn)單地單擊Build All的標(biāo)志符。執(zhí)行編譯好的程序

15、,單擊執(zhí)行標(biāo)志!。,25,如要打開已存在的C+ .CPP源程序,可按以下步驟打開: 1.打開VC+窗口,單擊File-Open; 2.在彈出對(duì)話框找文件所在文件夾,選中文件,單擊打開按鈕,把文件調(diào)入VC+編輯窗。 3.在VC+菜單條中單擊Build-Compile,單擊是按鈕。 4.無(wú)編輯錯(cuò),單擊Build-Build;無(wú)連接錯(cuò),單擊Build-Execute執(zhí)行程序;運(yùn)行結(jié)束,按任意鍵退回VC+窗口。 編譯一個(gè)已打開的程序也可簡(jiǎn)單地單擊Build All的標(biāo)志符。執(zhí)行編譯好的程序,單擊!,26,用VC開發(fā)程序的過(guò)程,用App Wizard新建一個(gè)工程 編輯代碼 編譯代碼 調(diào)試和執(zhí)行程序,27

16、,App Wizard,App Wizard(應(yīng)用程序生成器)是Visual C+自帶的一個(gè)工具,通過(guò)它,可以方便地生成各種類型的程序的框架。 選擇菜單中的File-New,即可以使用App Wizard來(lái)新建程序。 可以新建的內(nèi)容包括File、Project、Workspaces、Other Documents四個(gè)頁(yè)面,每個(gè)頁(yè)面下有各種類型的工程或文件。 選定類型之后,即進(jìn)入Wizard(向?qū)В?,讓用戶選擇一些可選項(xiàng),完成之后,程序的框架即生成。,28,用App Wizard新建一個(gè)工程,在File菜單上,點(diǎn)New,選擇Projects標(biāo)簽。 從列表中選擇項(xiàng)目類型。 點(diǎn)Create New

17、Workspace(新建工作區(qū))或Add to Current Workspace(加入到當(dāng)前工作區(qū)中)。 要使新工程為子工程,可以選擇Dependency of 檢查框,并從列表中選擇一個(gè)工程。 在Project Name框中,輸入新工程名,確保該名字必須與工作區(qū)中的別的工程名字不重名 。 在Location框中,指定工程存放的目錄:可以直接輸入路徑名,也可以按旁邊的Browse按鈕,瀏覽選擇一個(gè)路徑 。 點(diǎn)Platform框中的相應(yīng)檢查框,指定工程的開發(fā)平臺(tái) 。 輸入完以上內(nèi)容并按OK按鈕后,根據(jù)所選的工程類型,會(huì)出現(xiàn)相應(yīng)的Wizard(向?qū)В?。通過(guò)一系列的對(duì)話框輸入,快速生成工程的框架。

18、,29,新建一個(gè)C+程序,在File菜單上,點(diǎn)擊New,選擇File標(biāo)簽。 從列表中選擇C/C+源程序。 在編輯窗鍵入源程序 。 文件保存,源程序文件的名必需為.C或.CPP 點(diǎn)節(jié)編譯命令 。 若程序有錯(cuò),重新編輯源程序,改正錯(cuò)誤后,重新編譯。 編譯沒(méi)有錯(cuò)誤后,點(diǎn)節(jié)執(zhí)行命令,程序開始執(zhí)行。,30,繼續(xù)新建一個(gè)C+程序,在File菜單上,點(diǎn)節(jié)Close關(guān)閉編輯窗,點(diǎn)節(jié)Close Workspace關(guān)閉工作空間。 然后重復(fù)新建一個(gè)C/C+程序的全部工作。,修正一個(gè)已有的C+程序,1、在File菜單上,點(diǎn)節(jié)Open,打開一個(gè)已有的C+程序。 2、在編輯窗修改源程序 。 3、點(diǎn)節(jié)編譯命令 。 4、若程

19、序有錯(cuò),重新編輯源程序,改正錯(cuò)誤后,重新編譯。 5、編譯沒(méi)有錯(cuò)誤后,點(diǎn)節(jié)執(zhí)行命令,程序開始執(zhí)行。,31,開始實(shí)踐-第一個(gè)VC程序,新建一個(gè)新工程,在項(xiàng)目類型中選“Win32 Console Application”。 在Project Name框中輸入test1,將Create New Workspace選擇框選中。 按OK按鈕。 在出現(xiàn)的Wizard對(duì)話框中選擇A Simple Application,然后按Finish按鈕。 在接下來(lái)出現(xiàn)的對(duì)話框中按OK。,32,編譯運(yùn)行程序,選擇菜單中的Build-Build test1.exe 在輸出窗口會(huì)出現(xiàn) “test1.exe - 0 error

20、(s), 0 warning(s)”,說(shuō)明編譯通過(guò)。 選擇菜單中的Build-Execute test1.exe 。 出現(xiàn)運(yùn)行結(jié)果。,33,程序運(yùn)行結(jié)果,圖3,34,編輯代碼,在工作空間窗口中選 ClassView頁(yè)面。 雙擊Global下的main方法,右邊的編輯窗口顯示了main方法所在源文件的內(nèi)容。 在編輯窗口中的return 0 的前面插入一行“printf(this is my firstprogram!n);”。 在#include “stdafx.h” 那行之后插入一行#include stdio.h 保存文件,35,重新編譯并運(yùn)行,選擇菜單中的Build-Build test1

21、.exe 如果在輸出窗口出現(xiàn) test1.exe - 0 error(s), 0 warning(s) 說(shuō)明編譯通過(guò);如果顯示有錯(cuò)誤,則需要修改源文件直到編譯通過(guò)。 選擇菜單中的Build-Execute test1.exe 。 出現(xiàn)運(yùn)行結(jié)果。,36,修改過(guò)的程序運(yùn)行結(jié)果,圖4,37,調(diào)試程序,編譯錯(cuò)誤是因?yàn)槌绦虼a不符合C+語(yǔ)法、單詞拼寫錯(cuò)誤、函數(shù)調(diào)用參數(shù)使用不當(dāng)?shù)?,通過(guò)編譯和檢查程序能比較方便地改正。 若運(yùn)行結(jié)果與預(yù)期結(jié)果不同,則需要用調(diào)試程序來(lái)找到程序中錯(cuò)誤的地方,并排除所有的錯(cuò)誤。 選擇菜單中的Build-Start Debug,啟用調(diào)試器。調(diào)試器有四個(gè)子菜單: Go Step Int

22、o Run to cursor Attach to process,38,-Go 從當(dāng)前語(yǔ)句開始執(zhí)行,直到遇到斷點(diǎn),或程序執(zhí)行結(jié)束。用Go啟動(dòng)調(diào)試器,從頭開始執(zhí)行程序。 -Step Into 單步執(zhí)行每一程序行,遇到函數(shù)調(diào)用進(jìn)入函數(shù)體內(nèi)單步執(zhí)行。 -Run to cursor 運(yùn)行程序至當(dāng)前光標(biāo)位置。 -Attach to process 將調(diào)試器與當(dāng)前運(yùn)行的某個(gè)進(jìn)程聯(lián)系起來(lái),可跟蹤進(jìn)入進(jìn)程內(nèi)部,調(diào)試運(yùn)行中的進(jìn)程。,39,調(diào)試命令 菜單項(xiàng) 快捷鍵 作用 Go F5 運(yùn)行程序至斷點(diǎn),或程序結(jié)束 Restart Ctrl+Shift+F5 重新載入程序,并啟動(dòng)執(zhí)行 Stop Deb. Shift+

23、F5 關(guān)閉調(diào)試會(huì)話 Break 從當(dāng)前位置退出,終止程序執(zhí)行 Step Into F11 單步執(zhí)行,并進(jìn)入調(diào)用函數(shù) Step Over F10 單步執(zhí)行,但不進(jìn)入函數(shù) Step Out Shift+F11 跳出當(dāng)前函數(shù),回到調(diào)用處 Run to Cursor Ctrl+F10 運(yùn)行止當(dāng)前光標(biāo)處 Exceptions 設(shè)置異常,可以選擇遇到異常處停止, 或遇到未處理的異常處停止 Threads 線程調(diào)試,可以掛起、恢復(fù)、切換線程 Step Into Specific Function 直接進(jìn)入函數(shù),用于調(diào)試多層嵌套的函數(shù),40,在View菜單下還提供一個(gè)Debug Windows菜單的幾個(gè)子菜單

24、,用于隱藏或顯示與調(diào)試工作相關(guān)的一些窗口。 菜單項(xiàng) 快捷鍵 作用 Watch Alt+3 顯示窗口,用于觀察和設(shè)置變量值Variables Alt+4 觀察與當(dāng)前函數(shù)相關(guān)的變量 Registers Alt+5 觀察微處理器的寄存器 Memory Alt+6 觀察未使用的內(nèi)存塊 Call Stack Alt+7 顯示調(diào)用棧,觀察調(diào)用的函數(shù) Disassembly Alt+8 打開窗口顯示匯編程序代碼 斷點(diǎn)是程序調(diào)試過(guò)程中暫時(shí)停止執(zhí)行的地方。在斷點(diǎn)處,可以觀察、設(shè)置變量的值,檢查程序是否按所期望的邏輯執(zhí)行。,41,插入斷點(diǎn) 在源程序窗口內(nèi)任一程序行上按鼠標(biāo)右鍵,從右鍵快捷菜單中選擇Insert/R

25、emove Breakpoint菜單項(xiàng),就可以將當(dāng)前語(yǔ)句行作為一個(gè)斷點(diǎn)。在該語(yǔ)句行左邊,有一個(gè)紅色實(shí)心圓指示該行是一個(gè)斷點(diǎn)。 刪除斷點(diǎn) 在有斷點(diǎn)的語(yǔ)句行上按右鍵彈出快捷菜單,選擇Remove Breakpoint菜單項(xiàng),就可刪除該斷點(diǎn)。 禁止斷點(diǎn) 在斷點(diǎn)處的右鍵快捷菜單上選擇Disable Breakpoint菜單項(xiàng),暫時(shí)禁止該斷點(diǎn),該斷點(diǎn)可能以后再用。該位置將變?yōu)橛每招膱A標(biāo)記。 恢復(fù)斷點(diǎn) 在禁止斷點(diǎn)處,用右鍵快捷菜單選擇Enable Breakpoint菜單項(xiàng),恢復(fù)起用曾被禁止的斷點(diǎn)。,42,開發(fā)窗口程序,新建一個(gè)新工程,在項(xiàng)目類型中選“Win32 Application”。 在Projec

26、t Name框中輸入test2,將Create New Workspace選擇框選中。 按OK按鈕。 在出現(xiàn)的Wizard對(duì)話框中選擇A Typical Hello world Application,然后按Finish按鈕。 在接下來(lái)出現(xiàn)的New Project Information對(duì)話框中按OK。 編譯代碼、運(yùn)行代碼。,43,窗口程序運(yùn)行結(jié)果,圖5,44,獲取幫助,為什么要獲取幫助 不可能也沒(méi)有必要去記住所有的知識(shí) 幫助文檔可以使程序員事半功倍 獲取幫助的途徑 MSDN聯(lián)機(jī)幫助 參考書 INTERNET,45,MSDN聯(lián)機(jī)文檔,圖6,46,使用MSDN,Contents(目錄)選項(xiàng)卡 當(dāng)

27、你頭腦中有一個(gè)大概的主題,而你又想要看一看這個(gè)主題有哪些文檔時(shí),目錄表是非常有用的。 Index(索引)選項(xiàng)卡 Index(索引)選項(xiàng)卡顯示了整套MSDN文件的全面索引,只要打入關(guān)鍵字,就可以立刻找到你要找的東西。 Search(搜索)選項(xiàng)卡 MSDN幫助文件集包含一個(gè)搜索引擎,它能進(jìn)行全文本搜索來(lái)確定哪些主題文件包含了指定的詞或短語(yǔ)。 Favorites(收藏)選項(xiàng)卡 它維護(hù)著一個(gè)標(biāo)記選擇過(guò)的文章的書簽列表,使你能迅速找到你曾經(jīng)看過(guò)的內(nèi)容。,47,基于MFC 的GUI編程,48,1.Windows編程-1,事件驅(qū)動(dòng)和消息機(jī)制是Windows編程的基礎(chǔ)。 Windows是消息驅(qū)動(dòng)(或事件驅(qū)動(dòng))

28、的操作系統(tǒng)。消息驅(qū)動(dòng)意味著操作系統(tǒng)的每個(gè)部分與其它部分,以及應(yīng)用程序之間通過(guò)Windows消息進(jìn)行通信。例如當(dāng)我們移動(dòng)鼠標(biāo)或按下鍵盤上某個(gè)鍵,Windows就會(huì)捕捉到這個(gè)消息,并存儲(chǔ)到消息隊(duì)列中等待處理(通常是轉(zhuǎn)發(fā)給相應(yīng)的操作系統(tǒng)某個(gè)處理程序或者應(yīng)用程序)。,49,1.Windows編程-1,以前的軟件開發(fā)者采用SDK(Windows Software Development Kit 軟件開發(fā)工具包)進(jìn)行Windows編程。 SDK的核心內(nèi)容是API(應(yīng)用程序編程接口)、事件驅(qū)動(dòng)和消息循環(huán)。 API是一個(gè)程序包,其內(nèi)有一組函數(shù),供程序員用它創(chuàng)建其他程序。Windows正是利用API實(shí)現(xiàn)圖形用戶

29、界面(GUI)。,50,1.Windows編程-2,選擇為開發(fā)Windows應(yīng)用而設(shè)計(jì)的精美的應(yīng)用程序框架(Application framework)。 Application framework是一個(gè)完整的程序模型,具備標(biāo)準(zhǔn)應(yīng)用軟件所需的一切基本功能,如文件存取、打印預(yù)覽。 Application framework提供了標(biāo)準(zhǔn)的程序模型,我們只需要按個(gè)人需要添加一些材料:在派生類中改寫虛擬函數(shù),或在派生類中加上新的程序函數(shù)。微軟的MFC是一種十分成功的Application framework。,51,1.Windows編程-2,MFC(Microsoft Foundation Class

30、es 微軟基礎(chǔ)類)是一個(gè)建立在Windows API基礎(chǔ)上的C+類庫(kù),目的是使Windows程序設(shè)計(jì)過(guò)程更有效率。我們可以把MFC看作一個(gè)零組件“超級(jí)市場(chǎng)”。這些零組件(類)功能以及彼此間的關(guān)系都已經(jīng)定義好,我們可以從中選擇自己需要的零件構(gòu)造出一個(gè)應(yīng)用程序。 靜態(tài)情況下MFC是一組類,在程序執(zhí)行期間就生成一組有活動(dòng)力的對(duì)象組。MFC程序沒(méi)有main函數(shù)這樣的入口,它的執(zhí)行由application object(一個(gè)派生自MFC CWinApp的全局對(duì)象)引發(fā),引發(fā)后我們選用的MFC類就依次實(shí)例化開始運(yùn)行了。,52,2. MFC AppWizard,AppWizard(Application W

31、izard)俗稱“應(yīng)用程序創(chuàng)建向?qū)А薄?使用MFC AppWizard可以創(chuàng)建基于MFC類庫(kù)的Windows應(yīng)用程序(可執(zhí)行文件.exe或者動(dòng)態(tài)連接庫(kù).dll)。 MFC AppWizard提供一系列對(duì)話框,用戶可以從中選擇滿足需要的選項(xiàng)。定義完應(yīng)用程序和項(xiàng)目選項(xiàng)后,MFC AppWizard生成創(chuàng)建應(yīng)用程序所需要的初始框架文件。 MFC AppWizard可以創(chuàng)建三種類型的應(yīng)用程序: 1. Single documents(單文檔 SDI):一次只允許打開一個(gè)子文檔窗體。 2. Multiple documents (多文檔 MDI):允許打開多個(gè)子文檔窗體。 3. Dialog-Based

32、 (基于對(duì)話框):基于對(duì)話框的應(yīng)用程序?qū)@示一個(gè)對(duì) 話框供用戶輸入或者進(jìn)行選擇。 三種類型應(yīng)用程序的示例如下:,53,圖7 SDI程序示例(Windows記事本),54,圖8 MDI程序示例(又如微軟的Word),55,圖9 Dialog-Based程序示例(Windows我的電腦中文件夾選項(xiàng)設(shè)置窗口),56,3. 一個(gè)簡(jiǎn)單的多文檔應(yīng)用程序?qū)嵗?利用編程工具M(jìn)FC AppWizard。不需要增添一句代碼就可獲得標(biāo)準(zhǔn)的多文檔應(yīng)用程序框架,包括打印等高級(jí)功能。 程序運(yùn)行界面如圖8所示。 首先新建project,選擇的工程類型是:MFC AppWizard (exe),示例項(xiàng)目名可自己設(shè)定,這里為m

33、ditest。,57,接下去的step-1的選項(xiàng)中,創(chuàng)建的程序類型選擇Multiple documents(多文檔),其余選項(xiàng)使用缺省值。 Document/View architecture support?(文檔/視圖結(jié)構(gòu)支持)選項(xiàng)缺省已經(jīng)是選中狀態(tài)。這一項(xiàng)如果不選中,則程序運(yùn)行時(shí)不支持文檔的打開/保存操作(需要文檔/視圖結(jié)構(gòu)支持才有效)。 語(yǔ)言支持選擇中文。,58,圖10 MFC AppWizard-Step 1,59,圖11 MFC AppWizard-Step 2這一步選擇數(shù)據(jù)庫(kù)支持,當(dāng)前示例程序不需要。,60,圖12 MFC AppWizard-Step 3 這一步選擇混合文檔和A

34、ctiveX支持,當(dāng)前示例程序只需要支持純文本文檔。為求簡(jiǎn)化,ActiveX Controls支持也可以不要。,61,圖13 MFC AppWizard-Step 4 這一步選擇用戶界面特性,例如標(biāo)準(zhǔn)工具欄、狀態(tài)條、打印以及預(yù)覽、上下文敏感幫助、3D風(fēng)格等。第二部分選擇工具欄風(fēng)格。第三部分是選擇文件菜單中的最近使用文件列表中顯示的文件數(shù)量。,62,圖14 MFC AppWizard-Step 5 這一步選擇程序以及代碼風(fēng)格。第一項(xiàng)是程序風(fēng)格,MFC標(biāo)準(zhǔn)風(fēng)格和Windows瀏覽器風(fēng)格。第二項(xiàng)是詢問(wèn)是否需要為程序代碼生成一些說(shuō)明文字。第三項(xiàng)是選擇希望使用的MFC版本(動(dòng)態(tài)連接版或者靜態(tài))。,63,

35、圖15 MFC AppWizard-Step 6 這是最后一步,允許用戶在這里更改各文件名和類名。在上面的類列表中選中一個(gè)類,下面顯示的就是相應(yīng)的類名、頭文將名、基類和實(shí)現(xiàn)文件名。這里為了使文檔可編輯,將CMditestView的基類改為CEditView。完成后點(diǎn)擊Finish完成向?qū)А?64,圖16 項(xiàng)目信息顯示用戶在前面各步所作選擇,點(diǎn)擊OK完成,否則Cancel重新選擇。,65,圖17 項(xiàng)目文件列表 根據(jù)用戶選擇,VC已經(jīng)生成了所需的全部文件。這個(gè)程序已經(jīng)可以運(yùn)行,運(yùn)行結(jié)構(gòu)就是圖2所示的效果。程序已經(jīng)具有標(biāo)準(zhǔn)的打開、編輯、保存以及打印等功能,而我們沒(méi)有添加一行代碼。,66,4. 自己添加代碼的sayhello程序,這部分我們演示一個(gè)對(duì)話框程序,添加一些標(biāo)準(zhǔn)控件,并添加代碼控制程序的行為。 新建project,名稱為sayhello,利用AppWizard,只需要在指定程序類型為Dialog-Based之后,就可以點(diǎn)擊Finish,完成程序框架。 程序界面如右上圖。 點(diǎn)擊提示按鈕,彈出提示框顯示文本框中字符串如右下圖;點(diǎn)擊添加按鈕,文本框中字符串添加到列表中(如果不重復(fù)的話);點(diǎn)擊取消關(guān)閉整個(gè)窗口。,圖18,67,圖19 框架創(chuàng)建后的編輯區(qū) 根據(jù)用戶選擇,VC已經(jīng)為我們生成了所需的程序框架。這里要編輯的主要是sayhello主窗口,已經(jīng)生成的有一

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論