可視化編程入門PPT學(xué)習(xí)教案_第1頁
可視化編程入門PPT學(xué)習(xí)教案_第2頁
可視化編程入門PPT學(xué)習(xí)教案_第3頁
可視化編程入門PPT學(xué)習(xí)教案_第4頁
可視化編程入門PPT學(xué)習(xí)教案_第5頁
已閱讀5頁,還剩87頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、會計學(xué)1 可視化編程入門可視化編程入門 2 第1頁/共92頁 3 第2頁/共92頁 4 第3頁/共92頁 5 第4頁/共92頁 6 程工具!程工具!endl; n coutVC+是可視化的編程是可視化的編程 工具!工具!endl; n return 0; n 第5頁/共92頁 7 n cout” ”3.1416*r*rendl; n return 0; n n這是基于控制臺的文本用戶界這是基于控制臺的文本用戶界 面應(yīng)用程序。運行這種程序之后,面應(yīng)用程序。運行這種程序之后, 屏幕出現(xiàn)屏幕出現(xiàn)MS-DOS窗口,并且按窗口,并且按 照程序代碼的流程執(zhí)行,用戶輸照程序代碼的流程執(zhí)行,用戶輸 入數(shù)據(jù)后即

2、顯示執(zhí)行結(jié)果。入數(shù)據(jù)后即顯示執(zhí)行結(jié)果。 第6頁/共92頁 8 第7頁/共92頁 9 n在非可視化環(huán)境下,圖形用在非可視化環(huán)境下,圖形用 戶界面的設(shè)計戶界面的設(shè)計 n都需通過編寫程序代碼來實都需通過編寫程序代碼來實 現(xiàn),且在設(shè)計現(xiàn),且在設(shè)計 n過程中是看不到界面的實際過程中是看不到界面的實際 顯示效果的。顯示效果的。 第8頁/共92頁 10 能。能。 第9頁/共92頁 11 Windows應(yīng)應(yīng) n用程序可以拆分成許多功能獨用程序可以拆分成許多功能獨 立的對象,各立的對象,各 n自負(fù)責(zé)不同類型的工作,其最自負(fù)責(zé)不同類型的工作,其最 基本的構(gòu)成對象可以分為兩大類:基本的構(gòu)成對象可以分為兩大類: 程序

3、對象程序?qū)ο蠛秃痛翱趯ο蟠翱趯ο蟆?第10頁/共92頁 12 n n Visual Studio系統(tǒng)給每個對象分配一個系統(tǒng)給每個對象分配一個 (handle),),它是一個它是一個4 4字節(jié)長的整數(shù)值字節(jié)長的整數(shù)值 ,是對象的唯一內(nèi)部編號,是對象的唯一內(nèi)部編號。應(yīng)用程序通過句。應(yīng)用程序通過句 柄訪問相應(yīng)的對象。每個對象除了句柄外,柄訪問相應(yīng)的對象。每個對象除了句柄外, 還有一個對象標(biāo)識符還有一個對象標(biāo)識符IDID,可看作是對象的可看作是對象的 外部名。外部名。ID與句柄的區(qū)別主要在于:與句柄的區(qū)別主要在于:ID可以可以 是用戶自行設(shè)定的;而句柄是系統(tǒng)內(nèi)定的,是用戶自行設(shè)定的;而句柄是系統(tǒng)內(nèi)定的

4、, 對用戶是透明的,這能防止應(yīng)用程序直接訪對用戶是透明的,這能防止應(yīng)用程序直接訪 問對象的內(nèi)部信息。問對象的內(nèi)部信息。 第11頁/共92頁 13 n即應(yīng)用程序的運行沒有嚴(yán)格即應(yīng)用程序的運行沒有嚴(yán)格 的起點和終點以及固的起點和終點以及固 n定的流程,各對象之間沒有定的流程,各對象之間沒有 規(guī)定的執(zhí)行順序,規(guī)定的執(zhí)行順序, n即程序的運行過程是不明確即程序的運行過程是不明確 的,而是由事件的,而是由事件 n及其消息控制著對象的激活及其消息控制著對象的激活 和程序的運行過程。和程序的運行過程。 n對象通常處于循環(huán)休眠狀態(tài),對象通常處于循環(huán)休眠狀態(tài), 當(dāng)發(fā)生了某個事件并有相應(yīng)消當(dāng)發(fā)生了某個事件并有相應(yīng)

5、消 息傳遞給對象,才會按照消息息傳遞給對象,才會按照消息 的指示執(zhí)行程序代碼,一次消的指示執(zhí)行程序代碼,一次消 息的處理工作完畢后又恢復(fù)休息的處理工作完畢后又恢復(fù)休 眠狀態(tài)以等待下一個事件的發(fā)眠狀態(tài)以等待下一個事件的發(fā) 生及其消息的到來。生及其消息的到來。 第12頁/共92頁 14 n (message)是)是Visual Studio定定 義(義(WinUser.h頭文件)的頭文件)的一種特殊的數(shù)一種特殊的數(shù) 據(jù)結(jié)構(gòu)(據(jù)結(jié)構(gòu)(MSG),它打包了),它打包了“事件事件”發(fā)發(fā) 生的相關(guān)信息生的相關(guān)信息,例如:消息接收者的句,例如:消息接收者的句 柄、事件的類型和來源、消息參數(shù)等。柄、事件的類型和

6、來源、消息參數(shù)等。 第13頁/共92頁 15 BN_DOUBLECLICKED 件;件; n文本編輯框有改變文本文本編輯框有改變文本 (EN_CHANGE) n、接受輸入焦點、接受輸入焦點 (EN_SETFOCUS)、)、 n失去輸入焦點失去輸入焦點 (EN_KILLFOCUS)、)、 n單擊垂直滾動條單擊垂直滾動條 (EN_VSCROLL)等事件。)等事件。 第14頁/共92頁 16 第15頁/共92頁 17 第16頁/共92頁 18 作。作。 n系統(tǒng)服務(wù)函數(shù)系統(tǒng)服務(wù)函數(shù):實現(xiàn)操作:實現(xiàn)操作 系統(tǒng)提供的各種實用服務(wù)功能。系統(tǒng)提供的各種實用服務(wù)功能。 第17頁/共92頁 19 無疑是比較困難的

7、。當(dāng)然,使無疑是比較困難的。當(dāng)然,使 用用API編程更具靈活性和個性化。編程更具靈活性和個性化。 n nAPI支持所有支持所有Windows應(yīng)用程應(yīng)用程 序的開發(fā)系統(tǒng),序的開發(fā)系統(tǒng), n如如VC+、VB、Java等。等。 第18頁/共92頁 20 n架構(gòu)、各種標(biāo)準(zhǔn)的圖形界面元架構(gòu)、各種標(biāo)準(zhǔn)的圖形界面元 素、其核心是素、其核心是 n它以它以C+的形式封裝了的形式封裝了 Windows API的大部分函數(shù)。的大部分函數(shù)。 第19頁/共92頁 21 具類、設(shè)備描述表類等。具類、設(shè)備描述表類等。 n簡單數(shù)據(jù)類型類簡單數(shù)據(jù)類型類 n通用類通用類包括:數(shù)組類、包括:數(shù)組類、 類表類、映像類類表類、映像類

8、n文件和數(shù)據(jù)庫類文件和數(shù)據(jù)庫類包括:包括: 文件文件I/OI/O類、類、ODBCODBC類、類、ADOADO類類 nInternet和網(wǎng)絡(luò)工作類和網(wǎng)絡(luò)工作類 包括:包括:Win32 InternetWin32 Internet類、類、 Windows SocketWindows Socket類等類等 n對象鏈接和嵌入對象鏈接和嵌入(OLE, Object Lingking and Embedding)類類 n調(diào)試和異常類調(diào)試和異常類 第20頁/共92頁 22 最大優(yōu)點是它以高效簡潔的方式為最大優(yōu)點是它以高效簡潔的方式為 編程者做了所有標(biāo)準(zhǔn)部分的工作,編程者做了所有標(biāo)準(zhǔn)部分的工作, 特別是編程者

9、可以在不需要寫一行特別是編程者可以在不需要寫一行 代碼的情況下完成一個完整的應(yīng)用代碼的情況下完成一個完整的應(yīng)用 n程序架構(gòu)程序架構(gòu)(約需千行代碼)。(約需千行代碼)。 MFC中包含了成中包含了成 n千上萬行功能強大的、經(jīng)過優(yōu)化千上萬行功能強大的、經(jīng)過優(yōu)化 的的Windows n程序代碼。編程者只要定義了某程序代碼。編程者只要定義了某 個個MFC類的對象,就可以調(diào)用該類的對象,就可以調(diào)用該 類的成員函數(shù),輕輕松松完成本該類的成員函數(shù),輕輕松松完成本該 由你自己一行行編寫的程序代碼。由你自己一行行編寫的程序代碼。 從這點上說,從這點上說,MFC極大地降低了極大地降低了 程序開發(fā)難度。程序開發(fā)難度。

10、 第21頁/共92頁 23 第22頁/共92頁 24 nCMDIChildWnd nCdialog n用于支持三種標(biāo)準(zhǔn)框架窗口:用于支持三種標(biāo)準(zhǔn)框架窗口: 第23頁/共92頁 25 CMDIChildWnd類支持。子框類支持。子框 架窗口沒有菜單欄架窗口沒有菜單欄 n和工具欄,它們共享主窗口和工具欄,它們共享主窗口 的菜單欄和工具欄。的菜單欄和工具欄。 n對話框?qū)υ捒颍―ialog) n對話框是一種特殊類型的對話框是一種特殊類型的 窗口,它沒有菜單欄和工具欄,窗口,它沒有菜單欄和工具欄, 且一般不能改變窗口的大小。且一般不能改變窗口的大小。 對話框由對話框由Cdialog類支持。類支持。 第2

11、4頁/共92頁 26 Over 第25頁/共92頁 27 第26頁/共92頁 28 nStep.1 nStep.2設(shè)計圖形用戶界面設(shè)計圖形用戶界面 nStep.3設(shè)計對象的事件驅(qū)動設(shè)計對象的事件驅(qū)動 程序程序 nStep.4項目的編譯、鏈接和項目的編譯、鏈接和 運行運行 n下面結(jié)合一個簡單的編程實例下面結(jié)合一個簡單的編程實例 (Case1)“計算圓的周長和面積計算圓的周長和面積” 來介紹這四個步驟。來介紹這四個步驟。 第27頁/共92頁 29 第28頁/共92頁 30 n以對話框作為項目主窗口。以對話框作為項目主窗口。 這是最緊湊、這是最緊湊、 n最簡單的一種標(biāo)準(zhǔn)項目架最簡單的一種標(biāo)準(zhǔn)項目架

12、構(gòu)。構(gòu)。 n 第29頁/共92頁 31 第30頁/共92頁 32 nVC+以文件夾方式管理項目,以文件夾方式管理項目, 如圖如圖3 3所示所示,case1是是 D:CPPMFC_PRJ下的一個文下的一個文 件夾,該項目的件夾,該項目的 n各種文件都將存放在這個文各種文件都將存放在這個文 件夾中。件夾中。 n n3. 在系統(tǒng)彈出如圖在系統(tǒng)彈出如圖4所示的所示的 “MFC應(yīng)用程序向?qū)Р襟E應(yīng)用程序向?qū)Р襟E1” 對話框中進行項目類型選擇。對話框中進行項目類型選擇。 先選擇單選按鈕先選擇單選按鈕“Dialog based” (對話框項目),再單擊(對話框項目),再單擊“下下 一個一個”按鈕。按鈕。 第3

13、1頁/共92頁 33 按鈕。按鈕。 n至此,項目架構(gòu)創(chuàng)建完成,系統(tǒng)至此,項目架構(gòu)創(chuàng)建完成,系統(tǒng) 回到回到VC6的的 n集成開發(fā)環(huán)境,如集成開發(fā)環(huán)境,如圖圖9所示。所示。 n從該窗口的左窗格的各選項卡中從該窗口的左窗格的各選項卡中 可以觀察到可以觀察到MFC AppWizard為一為一 個對話框項目的架構(gòu)創(chuàng)建的所有組個對話框項目的架構(gòu)創(chuàng)建的所有組 件:件: 第32頁/共92頁 34 第33頁/共92頁 35 第34頁/共92頁 36 n的的main函數(shù)。函數(shù)。 第35頁/共92頁 37 第36頁/共92頁 38 圖圖10. 對話框項目架構(gòu)的運行結(jié)果對話框項目架構(gòu)的運行結(jié)果 第37頁/共92頁 3

14、9 第38頁/共92頁 40 n個圖形資源,它是個圖形資源,它是CCase1Dlg 類的圖形化。類的圖形化。 n所謂窗體即窗口毛坯,是還所謂窗體即窗口毛坯,是還 未完全成形的初未完全成形的初 n始窗口,它如同一塊始窗口,它如同一塊“畫畫 布布”,在它上面可以畫上各種,在它上面可以畫上各種 n控件來構(gòu)成項目所需的實際控件來構(gòu)成項目所需的實際 窗口。窗體的標(biāo)題欄上顯示的窗口。窗體的標(biāo)題欄上顯示的 是本項目的名字,窗體上可設(shè)是本項目的名字,窗體上可設(shè) 置網(wǎng)格,用于安排控件的位置置網(wǎng)格,用于安排控件的位置 和大小。在程序運行時,網(wǎng)格和大小。在程序運行時,網(wǎng)格 會自動消失。會自動消失。 n 第39頁/共

15、92頁 41 話框中合適的位置?;蛟捒蛑泻线m的位置?;?n方法方法2:先單擊控件箱上所:先單擊控件箱上所 選中的控件圖標(biāo),選中的控件圖標(biāo), n然后移動鼠標(biāo)到對話框中合然后移動鼠標(biāo)到對話框中合 適的位置。適的位置。 n復(fù)制到對話框上的控件,可復(fù)制到對話框上的控件,可 以移動、復(fù)制、調(diào)整以移動、復(fù)制、調(diào)整 n或刪除,也可拖動鼠標(biāo)縮放或刪除,也可拖動鼠標(biāo)縮放 控件的大小。控件的大小。 第40頁/共92頁 42 說明。說明。 n2個命令按鈕個命令按鈕,“確定確定”和和 “退出退出”: 前者用于前者用于 n確定輸入值,計算圓周長和確定輸入值,計算圓周長和 圓面積,然后把圓面積,然后把 n結(jié)果顯示在對應(yīng)的

16、輸出框上;結(jié)果顯示在對應(yīng)的輸出框上; 后者用于結(jié)束后者用于結(jié)束 n程序的執(zhí)行。程序的執(zhí)行。 n效果如效果如圖圖2。 第41頁/共92頁 43 項卡下:項卡下: n該對話框?qū)ο蟮脑搶υ捒驅(qū)ο蟮腎D默認(rèn)為:默認(rèn)為: IDD_CASE1_DIALOG n將標(biāo)題值設(shè)置為:將標(biāo)題值設(shè)置為:計算圓周計算圓周 長和圓面積長和圓面積 n單擊單擊“字體字體”按鈕,進行字按鈕,進行字 體屬性的設(shè)置體屬性的設(shè)置 n其余屬性采用默認(rèn)值。其余屬性采用默認(rèn)值。 n關(guān)閉屬性對話框。關(guān)閉屬性對話框。 n上述設(shè)置在上述設(shè)置在CCase1Dlg類類 的代碼中立即被反映。的代碼中立即被反映。 第42頁/共92頁 44 卡中設(shè)置相關(guān)

17、屬性值為:卡中設(shè)置相關(guān)屬性值為:“靠左靠左” (Left)和)和“垂直居中垂直居中” (Center)。)。 n其余屬性采用默認(rèn)值。其余屬性采用默認(rèn)值。 n關(guān)閉屬性對話框。關(guān)閉屬性對話框。 第43頁/共92頁 45 n 可對這可對這5個靜態(tài)文本框的屬性值設(shè)置如下:個靜態(tài)文本框的屬性值設(shè)置如下: ID標(biāo)題其他屬性標(biāo)題其他屬性 - - IDC_STATIC1 輸入半徑輸入半徑: 居中,垂直居中居中,垂直居中 IDC_STATIC2圓周長圓周長 居中,垂直居中居中,垂直居中 IDC_STATIC3圓面積圓面積 居中,垂直居中居中,垂直居中 IDC_STATIC4默認(rèn)默認(rèn) 靠左,垂直居中靠左,垂直居中

18、,Client edge IDC_STATIC5默認(rèn)默認(rèn) 靠左,垂直居中靠左,垂直居中,Client edge 其中,其中,IDC_STATIC45作為結(jié)果輸出框,分別顯示圓周長和圓面積;作為結(jié)果輸出框,分別顯示圓周長和圓面積; IDC_STATIC13分別作為輸入框和輸出框的文字說明。分別作為輸入框和輸出框的文字說明。 第44頁/共92頁 46 n至此,控件在窗體上至此,控件在窗體上“擺放擺放” 完畢,可以用鼠標(biāo)完畢,可以用鼠標(biāo) n調(diào)整它們的大小和位置,也調(diào)整它們的大小和位置,也 可以用調(diào)整工具可以用調(diào)整工具 n欄調(diào)整控件之間的對齊方式、欄調(diào)整控件之間的對齊方式、 分布、大小規(guī)格,以及測試效

19、分布、大小規(guī)格,以及測試效 果,設(shè)計好的圖形用戶界面如果,設(shè)計好的圖形用戶界面如 圖圖16所示。所示。 第45頁/共92頁 47 第46頁/共92頁 48 第47頁/共92頁 49 CCase1Dlg 添加添加 n(聲明)一個成員變量,(聲明)一個成員變量,每每 一個成員變量一個成員變量 n綁定一個控件綁定一個控件。在消息處理。在消息處理 函數(shù)中是通過函數(shù)中是通過 n成員變量訪問控件的。成員變量訪問控件的。 第48頁/共92頁 50 第49頁/共92頁 51 有:有: nUpdateData()UpdateData() n/更新成員變量,將控件上更新成員變量,將控件上 的數(shù)據(jù)傳遞給成員變量的數(shù)

20、據(jù)傳遞給成員變量 nUpdateData(FALSE)UpdateData(FALSE) n/更新控件,將成員變量的更新控件,將成員變量的 值傳遞給控件值傳遞給控件 第50頁/共92頁 52 第51頁/共92頁 53 相似,容易理解。相似,容易理解。 n為為“確定確定”按鈕建立一個按鈕建立一個 “單擊單擊” n(BN_CLICKEDBN_CLICKED)消息處理函數(shù),用于)消息處理函數(shù),用于 n計算圓周長和圓面積,并顯計算圓周長和圓面積,并顯 示計算結(jié)果。示計算結(jié)果。 n為為“退出退出”按鈕建立一個按鈕建立一個 “單擊單擊”消息處理函數(shù),用于消息處理函數(shù),用于 結(jié)束程序的運行。結(jié)束程序的運行。

21、 n建立一個對話框的初始化建立一個對話框的初始化 函數(shù),對成員變量函數(shù),對成員變量m_r、 m_girth、m_area進行初始化。進行初始化。 第52頁/共92頁 54 (成員變量)選項卡。從(成員變量)選項卡。從 “Control IDs”(控件(控件ID)列)列 表框中,可以看到表框中,可以看到 n已經(jīng)建立的各控件對象的已經(jīng)建立的各控件對象的ID。 n為編輯框添加成員變量:為編輯框添加成員變量: 選擇選擇IDC_EDIT1,單擊,單擊 n右邊的右邊的“Add Variable” (添加變量)按鈕,彈出如(添加變量)按鈕,彈出如圖圖 18所示的所示的“添加成員變量添加成員變量”對對 話框話

22、框 第53頁/共92頁 55 小值為小值為0,最大值為,最大值為1000.0。 n n用同樣的方法為靜態(tài)文本用同樣的方法為靜態(tài)文本 框框IDC_STATIC4 n和和IDC_STATIC5添加添加Cstring 型成員變量型成員變量m_girth n和和m_area,最大字符個數(shù)為,最大字符個數(shù)為10 (圖圖19)。 第54頁/共92頁 56 ; n此時在此時在“Member functions” (成員函數(shù))(成員函數(shù)) n列表框中會自動指出相應(yīng)的列表框中會自動指出相應(yīng)的 MFC已定義的已定義的 n虛函數(shù)虛函數(shù)OnInitDialogOnInitDialog。(主窗口對象是。(主窗口對象是

23、由由MFC默認(rèn)生成的)默認(rèn)生成的) 第55頁/共92頁 57 nm_r =0.0; nm_girth=m_area=0.000; nUpdateData(FALSE); /將數(shù)據(jù)傳給控件并顯將數(shù)據(jù)傳給控件并顯 示示 第56頁/共92頁 58 nUpdateData(FALSE);/將數(shù)據(jù)傳給將數(shù)據(jù)傳給 控件并顯示控件并顯示 nreturn TRUE; n/ return TRUE unless you set the focus to a control n 第57頁/共92頁 59 nEdit Code” 碼)按鈕,彈出碼)按鈕,彈出 nCase1Dlg.cpp文件的編輯窗口,文件的編輯窗口

24、, n并顯示并顯示OnButton1()OnButton1()函數(shù)的代碼清單,函數(shù)的代碼清單, n找到注釋提示處:找到注釋提示處: n/ TODO: Add your control notification handler code here n(在此下邊添加控件消息的處理(在此下邊添加控件消息的處理 代碼)代碼) 第58頁/共92頁 60 件并顯示件并顯示 n注:函數(shù)注:函數(shù)Fornat()是是CString類的類的 成員函數(shù),成員函數(shù), n用來把數(shù)據(jù)轉(zhuǎn)換成用來把數(shù)據(jù)轉(zhuǎn)換成CString 類型的字符串。類型的字符串。 第59頁/共92頁 61 n rth);/按格式寫入成員變量按格式寫入成員變量 nm_area.Format(%10.3f,area); nUpdateDtata(FALSE);/將數(shù)據(jù)傳將數(shù)據(jù)傳 給控件并顯示給控件并顯示 n 第60頁

溫馨提示

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

最新文檔

評論

0/150

提交評論