面向對象程序設計技術C++課件第10章

上傳人:wkd****90 文檔編號:241845338 上傳時間:2024-07-29 格式:PPT 頁數:26 大?。?6.01KB
收藏 版權申訴 舉報 下載
面向對象程序設計技術C++課件第10章_第1頁
第1頁 / 共26頁
面向對象程序設計技術C++課件第10章_第2頁
第2頁 / 共26頁
面向對象程序設計技術C++課件第10章_第3頁
第3頁 / 共26頁

下載文檔到電腦,查找使用更方便

16 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《面向對象程序設計技術C++課件第10章》由會員分享,可在線閱讀,更多相關《面向對象程序設計技術C++課件第10章(26頁珍藏版)》請在裝配圖網上搜索。

1、第第10章章 單文檔應用程序設計單文檔應用程序設計本章主要內容本章主要內容n n創(chuàng)建單文檔應用程序 n n輸入輸出處理 n n菜單 n n滾動條 n n工具欄和狀態(tài)欄 n n對話框和控件 2面向對象技術與Visual C+-第10章創(chuàng)建單文檔應用程序創(chuàng)建單文檔應用程序 n nMFC的文檔/視圖結構將Windows應用程序的功能劃分在不同的類中。n n利用MFC提供的運行機制和消息傳遞機制,構成應用程序的類通過傳遞消息、調用接口函數,共同完成程序的功能。3面向對象技術與Visual C+-第10章AppWizard向導創(chuàng)建的類和文件向導創(chuàng)建的類和文件 n nAppWizard向導為生成的派生類創(chuàng)

2、建單獨的源文件,缺省情況下,類名和類源文件名是基于項目名的(可以在AppWizard向導創(chuàng)建應用程序過程中指定其他名稱)。n nAppWizard向導為單文檔應用程序創(chuàng)建4個派生類和其它一些文件。這4個類分別是文檔類、視圖類、主框架窗口類和應用程序類。4面向對象技術與Visual C+-第10章應用程序的運行機制應用程序的運行機制 n nMFC應用程序有自己特殊的運行機制,下面以WinHello程序為例,列出應用程序的執(zhí)行過程。n n用用CWinAppCWinApp的構造函數;的構造函數;n n程序入口函數程序入口函數WinMainWinMain接受控制;接受控制;n nWinMainWinM

3、ain調用應用程序類的調用應用程序類的InitInstanceInitInstance函數;函數;n nWinMainWinMain進入消息循環(huán);進入消息循環(huán);n nWinMainWinMain退出,程序中止。退出,程序中止。5面向對象技術與Visual C+-第10章消息處理機制消息處理機制 n nMFCMFC應用程序與其他任何應用程序與其他任何 Windows Windows 程序一樣,也使用消息程序一樣,也使用消息驅動機制,但驅動機制,但 MFC MFC 提供的消息處理機制使得消息的處理更提供的消息處理機制使得消息的處理更加容易。加容易。n nMFCMFC中消息可以分為三類:中消息可以分

4、為三類:n nWindows Windows 消息:包括以消息:包括以 WM_WM_開頭的消息,但開頭的消息,但 WM_COMMAND WM_COMMAND 除外。除外。WindowsWindows消息由窗口和視圖處理。這種消息通常附帶一些參數傳遞給消息由窗口和視圖處理。這種消息通常附帶一些參數傳遞給處理函數,這些參數為處理函數正確地處理消息提供了必要的信息。處理函數,這些參數為處理函數正確地處理消息提供了必要的信息。n n控件通知消息:當控件的狀態(tài)發(fā)生改變控件通知消息:當控件的狀態(tài)發(fā)生改變(例如用戶利用利用控件進行例如用戶利用利用控件進行輸入輸入)時,控件就會向其父窗口發(fā)送控件通知消息。時,

5、控件就會向其父窗口發(fā)送控件通知消息。MFCMFC對控件通知對控件通知消息的傳遞方式與其他以消息的傳遞方式與其他以WM_WM_開頭的開頭的 Windows Windows 消息一樣,但消息一樣,但 BN_CLICKED BN_CLICKED 是個例外,該消息的傳遞方式與命令消息的傳遞機制是個例外,該消息的傳遞方式與命令消息的傳遞機制一樣。一樣。n n命令消息:包括來自于菜單、工具欄中的按鈕和加速鍵等用戶界面對命令消息:包括來自于菜單、工具欄中的按鈕和加速鍵等用戶界面對象的象的WM_COMMAND WM_COMMAND 通知消息。通知消息。6面向對象技術與Visual C+-第10章 輸入輸出處理

6、輸入輸出處理 n n輸入輸出處理是應用程序最基本的功能。n nWindows應用程序通過GDI提供的繪圖函數在窗口的客戶區(qū)輸出數據,通過對鍵盤消息和鼠標消息的響應,完成對用戶輸入的處理。7面向對象技術與Visual C+-第10章文本輸出文本輸出 n n文本輸出函數 n n鍵盤 n n字符消息 n n鼠標 8面向對象技術與Visual C+-第10章虛擬鍵代碼虛擬鍵代碼 n n鍵盤類型根據語言或國家的不同而不同,為了鍵盤類型根據語言或國家的不同而不同,為了避免依賴于特定國家的鍵盤布局避免依賴于特定國家的鍵盤布局虛虛虛虛擬鍵擬鍵代代代代碼碼Windows Windows 標識標識符符鍵盤鍵盤VK

7、_INSERTVK_INSERTInsertInsert(插入插入鍵鍵)VK_LEFTVK_LEFT 左箭左箭頭鍵頭鍵VK_NEXTVK_NEXTPage DownPage Down鍵鍵VK_BACKVK_BACKBackspaceBackspace鍵鍵VK_RETURNVK_RETURNEnterEnter鍵鍵9面向對象技術與Visual C+-第10章鼠標消息鼠標消息 n n當用戶移動鼠標或釋放松開鼠標按鈕時,將產生當用戶移動鼠標或釋放松開鼠標按鈕時,將產生鼠標消息。鼠標消息。n n鼠標消息可以分成兩類:客戶區(qū)鼠標消息和非客鼠標消息可以分成兩類:客戶區(qū)鼠標消息和非客戶區(qū)鼠標消息。戶區(qū)鼠標消

8、息。n n非客戶區(qū)包括窗口的邊界、標題欄、菜單、滾動非客戶區(qū)包括窗口的邊界、標題欄、菜單、滾動條、最大化最小化按鈕。條、最大化最小化按鈕。n n客戶區(qū)鼠標消息指的是鼠標在這些區(qū)域的操作而客戶區(qū)鼠標消息指的是鼠標在這些區(qū)域的操作而產生的消息。這種消息一般由系統(tǒng)處理。應用程產生的消息。這種消息一般由系統(tǒng)處理。應用程序主要處理鼠標在客戶區(qū)的操作而產生的消息。序主要處理鼠標在客戶區(qū)的操作而產生的消息。10面向對象技術與Visual C+-第10章菜單菜單 n n菜單(Menu)以可視的方式提供了對應用程序功能的選擇,是用戶與應用程序之間進行交互的主要方式之一。11面向對象技術與Visual C+-第1

9、0章菜單簡介菜單簡介 n n菜單主要有彈出式和下拉式兩種。n n彈出式菜單可以出現(xiàn)在屏幕的任何位置,是為彈出式菜單可以出現(xiàn)在屏幕的任何位置,是為了響應鼠標右鍵按鈕而激活彈出式菜單。了響應鼠標右鍵按鈕而激活彈出式菜單。n n下拉式菜單可以看成由一個頂層菜單和彈出式下拉式菜單可以看成由一個頂層菜單和彈出式菜單裝配而成。當選擇頂層菜單項時,下拉出菜單裝配而成。當選擇頂層菜單項時,下拉出一個子菜單,子菜單中是具體的菜單項。在子一個子菜單,子菜單中是具體的菜單項。在子菜單項中選擇時,還可以再下拉出另一個子菜菜單項中選擇時,還可以再下拉出另一個子菜單,形成級聯(lián)菜單。單,形成級聯(lián)菜單。12面向對象技術與Vi

10、sual C+-第10章菜單的建立和實現(xiàn)菜單的建立和實現(xiàn) n n菜單編輯器的使用。n n為程序加入菜單的操作分為以下幾步:n n通過菜單編輯器生成菜單界面通過菜單編輯器生成菜單界面 ;n n建立菜單項和消息處理函數的映射;建立菜單項和消息處理函數的映射;n n在處理函數中添加菜單項功能代碼。在處理函數中添加菜單項功能代碼。13面向對象技術與Visual C+-第10章滾動條滾動條 n n滾動功能使用戶可以閱讀和編輯大于視圖窗口的任何東西-無論是文本、表格、數據庫記錄還是圖像。n n只要它所需的空間超出了客戶區(qū)域所能提供的空間,就可以使用滾動條。14面向對象技術與Visual C+-第10章在程

11、序中加入滾動功能在程序中加入滾動功能 n nCScrollView是從CView類派生的專用視圖類。從CScrollView類派生的視圖類自動將滾動條加入視圖窗口,并提供了支持滾動操作的大多數代碼。n n所有的GDI函數都使用邏輯坐標,Windows將GDI函數中指定邏輯坐標映射為設備坐標。15面向對象技術與Visual C+-第10章在程序中實現(xiàn)分割功能 n n動讓用戶閱讀超過窗口的長文檔,但用戶也只能動讓用戶閱讀超過窗口的長文檔,但用戶也只能看文檔的某一部分,如果用戶想同時閱讀文檔中看文檔的某一部分,如果用戶想同時閱讀文檔中相隔很遠的部分,就只能同時打開兩個窗口,分相隔很遠的部分,就只能同

12、時打開兩個窗口,分別滾動到相應的位置閱讀。別滾動到相應的位置閱讀。n nWindowsWindows提供窗口分割功能,實現(xiàn)同時閱讀長文提供窗口分割功能,實現(xiàn)同時閱讀長文檔的不同部分。檔的不同部分。n n在窗口的垂直滾動條的上部和水平滾動條的底部,在窗口的垂直滾動條的上部和水平滾動條的底部,存在一個分割框區(qū)域,雙擊分割框或拖動分割框存在一個分割框區(qū)域,雙擊分割框或拖動分割框到所需的位置,窗口被垂直或水平地分成兩個獨到所需的位置,窗口被垂直或水平地分成兩個獨立的窗口,被分割后的窗口稱為面板立的窗口,被分割后的窗口稱為面板,用以顯示同用以顯示同一文檔或圖形的不同部分。一文檔或圖形的不同部分。16面向

13、對象技術與Visual C+-第10章工具欄和狀態(tài)欄工具欄和狀態(tài)欄 n n工具欄和狀態(tài)欄是Widows應用程序中常見的用戶界面。n n工具欄是一種快捷操作的工具,常用的命令通常放在工具欄中,方便操作。n n而狀態(tài)欄則用于顯示目前程序的執(zhí)行狀態(tài)和說明。17面向對象技術與Visual C+-第10章工具欄的實現(xiàn)工具欄的實現(xiàn) n n具欄包含一系列的位圖按鈕,通常情況下,單擊按鈕等價于從菜單中選擇相應的菜單項。n n工具欄可以停靠在父窗口的頂部,也可以??吭诟复翱诘娜魏慰窟叺奈恢?,或者脫離父窗口,移動到自己的框架窗口內。n n??抗ぞ邫冢―ocking Toolbars)指的是和父窗口相連的工具欄。與

14、之相對就就是浮動工具欄(Floating Toolbars)。18面向對象技術與Visual C+-第10章n nToolbarDemoToolbarDemo程序的圖形菜單有直線、矩形和圓形三種選程序的圖形菜單有直線、矩形和圓形三種選擇,相應的,在工具欄中需要建立這三種按鈕。具體操作擇,相應的,在工具欄中需要建立這三種按鈕。具體操作步驟如下:步驟如下:n n打開工具欄編輯器,修改打開工具欄編輯器,修改AppWizardAppWizard向導生成的預定義工具欄。在工向導生成的預定義工具欄。在工具欄面板中刪除向導生成的缺省按鈕,只留下一個空白按鈕。用鼠標具欄面板中刪除向導生成的缺省按鈕,只留下一個

15、空白按鈕。用鼠標將按鈕拖出工具欄面板就刪除該按鈕。將按鈕拖出工具欄面板就刪除該按鈕。n n創(chuàng)建直線按鈕。選擇圖形工具欄中的直線,在按鈕繪制區(qū)域從左上角創(chuàng)建直線按鈕。選擇圖形工具欄中的直線,在按鈕繪制區(qū)域從左上角到右下角畫直線。完成后,雙擊生成的直線按鈕,彈出到右下角畫直線。完成后,雙擊生成的直線按鈕,彈出Toolbar Button Toolbar Button PropertiesProperties對話框。在對話框。在Toolbar Button PropertiesToolbar Button Properties對話框中設置按鈕的對話框中設置按鈕的IDID(標識符)以及標識符)以及Pr

16、omptPrompt(提示信息)。在提示信息)。在IDID框中,輸入框中,輸入ID_LINEID_LINE。n n一旦編輯完第一個按鈕的內容,在它右面會出現(xiàn)一個新的空白按鈕。一旦編輯完第一個按鈕的內容,在它右面會出現(xiàn)一個新的空白按鈕。單擊這個空白按鈕,繼續(xù)編輯下一個按鈕。單擊這個空白按鈕,繼續(xù)編輯下一個按鈕。n n創(chuàng)建矩形按鈕。選擇圖形工具條中的矩形,在空白按鈕中繪出一個矩創(chuàng)建矩形按鈕。選擇圖形工具條中的矩形,在空白按鈕中繪出一個矩形。按鈕的形。按鈕的IDID取值為取值為ID_RECTANGLEID_RECTANGLE。n n按以上步驟,再添加一個圓形按鈕。按以上步驟,再添加一個圓形按鈕。ID

17、ID取值為取值為ID_CIRCLEID_CIRCLE。完成工具完成工具欄的設計。欄的設計。19面向對象技術與Visual C+-第10章狀態(tài)欄的實現(xiàn) n n狀態(tài)欄一般都??吭谥骺蚣艽翱诘牡撞?,包含多個面板,用做文本輸出或指示器,而且也無須改變其位置。n n如果在AppWizard向導的Step 4 對話框中選擇了Initial status bar 項,AppWizard向導生成的應用程序就擁有一個缺省的狀態(tài)欄。n n設計狀態(tài)欄的任務是:定義提示信息,建立特定狀態(tài)和提示信息的聯(lián)系。20面向對象技術與Visual C+-第10章對話框和控件對話框和控件 n n對話框用于顯示消息和取得用戶數據,是

18、對話框用于顯示消息和取得用戶數據,是WindowsWindows應用程序中最常用的用戶界面。對話框應用程序中最常用的用戶界面。對話框作為一個容器,通常包括各種控件,如編輯框、作為一個容器,通常包括各種控件,如編輯框、按鈕、組合框和列表框等。按鈕、組合框和列表框等。n n用戶通過在編輯框中輸入信息,通過對列表框、用戶通過在編輯框中輸入信息,通過對列表框、單選框等的選擇,為應用程序提供必要的數據。單選框等的選擇,為應用程序提供必要的數據。n n對話框有兩種類型:模式對話框和非模式對話框。對話框有兩種類型:模式對話框和非模式對話框。這兩種形式的對話框在打開和關閉方式上存在區(qū)這兩種形式的對話框在打開和

19、關閉方式上存在區(qū)別。別。MFCMFC的的Dialog Dialog 類是對話框類的基類,提供了類是對話框類的基類,提供了對話框的打開、關閉和管理對話框及對話框中的對話框的打開、關閉和管理對話框及對話框中的控件等功能??丶裙δ堋?1面向對象技術與Visual C+-第10章控件簡介控件簡介 n n控件是控件是Windows Windows 應用程序和用戶進行交互的常用應用程序和用戶進行交互的常用手段。在手段。在Visual C+Visual C+中,控件可以分成三類:中,控件可以分成三類:Windows Windows 標準控件、標準控件、ActiveX ActiveX 控件和其他控件和其他

20、MFC MFC 控控件類。件類。n nWindows Windows 標準控件由標準控件由 Windows Windows 操作系統(tǒng)提供,包操作系統(tǒng)提供,包括按鈕、復選框、列表框括按鈕、復選框、列表框 和靜態(tài)文本等。和靜態(tài)文本等。n n控件一般成組地放置在特殊的窗口中,這種特殊控件一般成組地放置在特殊的窗口中,這種特殊窗口或者是對話框或者是表單(窗口或者是對話框或者是表單(FormForm)。)。22面向對象技術與Visual C+-第10章控件控件描述描述圖圖形控件形控件顯顯示示圖標圖標靜靜態(tài)態(tài)文本控件文本控件常用于常用于為為其他控件提供其他控件提供標簽標簽編輯編輯框框允允許許用用戶戶的的輸

21、輸入,并提供完整的入,并提供完整的編輯編輯能力能力組組框框視覺視覺上將控件分上將控件分組組(典型情況下是一系列的(典型情況下是一系列的單選鈕單選鈕、復、復選選框)框)多格式文本多格式文本編輯編輯提供可提供可設設置字符和段落格式的文本置字符和段落格式的文本編輯編輯按按鈕鈕用于立即用于立即執(zhí)執(zhí)行某些命令行某些命令復復選選框框用于用于選擇選擇多個相互獨立的多個相互獨立的選項選項單選單選按按鈕鈕用于用于選擇選擇一一組組相互排斥的相互排斥的選項選項之一之一列表框列表框用于以列表的形式用于以列表的形式為為用用戶戶提供提供選擇選擇(如文件名、字體)(如文件名、字體)水平水平滾動滾動條條提供水平提供水平滾動滾

22、動功能功能垂直垂直滾動滾動條條提供垂直提供垂直滾動滾動功能功能翻翻動動按按鈕鈕用于用于遞遞增增遞遞減數減數值值或移或移動動某個某個項項目目23面向對象技術與Visual C+-第10章MFCMFC類類管理的控件管理的控件類類型型CStaticCStatic靜靜態(tài)態(tài)文本文本CButtonCButton按按鈕鈕CEditCEdit編輯編輯框框ClistBoxClistBox列表框列表框CScrollBarCScrollBar滾動滾動條:垂直條:垂直繪繪水平水平CSpinButtonCtrlCSpinButtonCtrl上下按上下按鈕鈕控件控件24面向對象技術與Visual C+-第10章模式對話框

23、 n n模式對話框模式對話框(Modal Dialog)Modal Dialog)的特點是:對話框始的特點是:對話框始終位于應用程序的最頂層,在對話框被關閉之前,終位于應用程序的最頂層,在對話框被關閉之前,用戶不能選擇應用程序的其他功能。應用程序的用戶不能選擇應用程序的其他功能。應用程序的大部分對話框都是模式對話框。大部分對話框都是模式對話框。n n對話框的建立可分為如下幾步:對話框的建立可分為如下幾步:n n通過對話框編輯器設計對話框的界面通過對話框編輯器設計對話框的界面n n生成管理對話框的類生成管理對話框的類n n定義成員變量定義成員變量n n定義消息處理定義消息處理n n對話框的顯示對

24、話框的顯示25面向對象技術與Visual C+-第10章非模式對話框 n n非模式對話框和模式對話框的主要區(qū)別是:非模式對話框和模式對話框的主要區(qū)別是:n n非模式對話類的實例聲明為全局對象或用非模式對話類的實例聲明為全局對象或用newnew操作符生操作符生成。因為顯示函數返回后,非模式對話框通常還要繼成。因為顯示函數返回后,非模式對話框通常還要繼續(xù)打開。續(xù)打開。n n非模式對話框的顯示使用非模式對話框的顯示使用CDialogCDialog:Create:Create函數而非函數而非CDialogCDialog:DoModalDoModal函數。函數。CDialogCDialog:Create

25、:Create立即返回,但立即返回,但非模式對話框繼續(xù)保持。非模式對話框繼續(xù)保持。n n關閉非模態(tài)對話框使用關閉非模態(tài)對話框使用CWndCWnd:Destroy:Destroy函數而不是函數而不是EndDialogEndDialog函數。因而不能使用函數。因而不能使用MFCMFC為為OKOK按鈕和按鈕和CancelCancel按鈕提供的缺省處理。需要自定義按鈕提供的缺省處理。需要自定義OnCancleOnCancle消息處理消息處理函數處理非模式對話框的關閉,如果有函數處理非模式對話框的關閉,如果有OKOK按鈕,還要按鈕,還要定義定義OnOkOnOk函數消息處理函數。函數消息處理函數。26面向對象技術與Visual C+-第10章

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

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!