當前位置:編程學習大全網 - 源碼下載 - 什麽是MFC?

什麽是MFC?

什麽是MFC?

如果妳想構建壹個Windows應用程序,妳應該如何開始?

壹個好的開始是設計用戶界面。首先,妳要決定什麽樣的用戶可以使用程序,並根據需要設置相應的用戶界面對象。Windows用戶界面有壹些標準控件,如按鈕、菜單、滾動條和列表,這些都是Windows用戶所熟悉的。請記住,作為壹名程序員,您必須選擇壹組控件,並決定如何在屏幕上排列它們。傳統上,妳需要在紙上畫出用戶界面的草圖,直到妳對元素滿意為止。這對於壹些相對較小的項目和壹些大型項目的早期原型階段是可能的。下壹步是實現代碼。在為任何Windows平臺構建應用程序時,程序員有兩個選擇:C或C++。使用C,程序員編寫Windows應用程序編程接口(API)級別的代碼。接口由數百個C函數組成,在Windows API參考手冊中有介紹。對於Windows NT,該API被稱為“Win32 API ”,以區別於其用於Windows 3.1的16位API。微軟還提供了壹個C++庫,它位於任何Windows API上,可以讓程序員的工作更輕松。是微軟基本類庫(MFC),主要優勢是效率高。它減少了構建Windows程序時必須編寫的大量代碼。同時,它還提供了壹般C++編程的所有優點,比如繼承和封裝。MFC是可移植的,比如Windows 3.1下寫的代碼可以很容易的移植到Windows NT或者Windows 95上。因此,MFC是開發Windows應用程序的推薦方法。本教程通篇都在使用MFC。使用MFC時,您編寫的代碼用於構建必要的用戶界面控件並自定義它們的外觀。同時,妳還要寫代碼來響應用戶對這些控件的操作。例如,如果用戶單擊壹個按鈕,您應該有代碼來響應。這是事件驅動的代碼,構成了所有的應用。壹旦應用程序正確響應所有允許的控件,它的任務就完成了。

Visual C++應用程序開發環境特別適合使用MFC(還有其他使用MFC的開發環境,比如C++ builder,其中也包括對MFC的支持),所以把MFC和Visual C++壹起學習可以增強妳的開發能力。

Windows應用程序使用幾個標準控件:

靜態文本標簽

按鈕

列表框

組合框(更高級的列表框)

單選按鈕(單選框)

復選按鈕(復選框)

編輯框(單行和多行)

滾動條

您可以通過代碼或“資源編輯器”來構建這些控件,在“資源編輯器”中,您可以構建對話框和這些控件。在本教程中,我們將使用代碼來構建它們。

Windows支持幾種類型的應用程序窗口。典型的應用程序應該在所謂的“框架窗口”中處於活動狀態。框架窗口是壹個功能齊全的主窗口,用戶可以改變大小,最小化,最大化等。Windows還支持兩種類型的對話框:模態對話框和非模態對話框。壹旦模式對話框出現在屏幕上,只有當它退出時,屏幕上的應用程序才能響應。當無模式對話框出現在屏幕上時,程序的其他部分可以像浮在上面壹樣做出響應。

最簡單的Windows應用程序使用只有壹個框架窗口的單文檔界面(SDI)。Windows時鐘、PIF編輯器、筆記本等。都是SDI應用的例子。Windows還提供了壹種稱為多文檔界面的組織形式,可用於更復雜的應用程序。MDI系統允許用戶在同壹應用程序中同時查看多個文檔。例如,文本編輯器可以允許用戶同時打開多個文本文件。使用MDI時,應用程序有壹個主窗口,主窗口中有壹些子窗口,每個子窗口都包含自己的文檔。在MDI框架中,主窗口有壹個主菜單,它對主框架中最上面的窗口有效。每個子窗口都可以縮小成壹個圖標或者展開,MDI主窗口也可以變成桌面上的壹個圖標。MDI界面可能會給妳壹種第二桌面的感覺,對於窗口管理和刪除混亂的窗口很有幫助。

您構建的每個應用程序都將使用自己的壹組控件、菜單結構和對話框。應用程序界面的質量取決於您如何選擇和組織這些界面對象。Visual C++中的資源編輯器使您能夠輕松地創建和自定義這些接口對象。

事件驅動的軟件和詞匯

所有基於窗口的GUI都包含相同的基本元素,並且它們都以相同的方式操作。在屏幕上,用戶看到的是壹組窗口,每個窗口都包含控件、圖標、對象和壹些與鼠標和鍵盤相關的元素。從用戶的角度來看,每個系統的界面對象都是壹樣的:按鈕、滾動條、圖標、對話框、下拉菜單等等。盡管這些界面元素的“外觀和感覺”可能有些不同,但這些界面對象都以相同的方式工作。比如Windows、Mac、Motif的滾動條可能不壹樣,但功能是完全壹樣的。

從程序員的角度來看,這些系統在概念上是相似的,盡管它們可能非常不同。為了構建壹個GUI程序,程序員的第壹步是在窗口上放置所有需要的用戶界面控件。例如,如果程序員想要構建壹個簡單的程序來將攝氏溫度轉換為華氏溫度,則由程序員選擇的用戶界面對象將完成該程序並將結果顯示在屏幕上。在這個簡單的程序中,程序員可能需要用戶在可編輯的編輯框中輸入溫度值,在不可編輯的編輯框中顯示轉換結果,然後讓用戶單擊壹個標有“Exit”的按鈕來退出應用程序。

因為用戶操作應用程序的控件,所以程序必須做出響應。響應取決於用戶使用鼠標或鍵盤對不同控件的操作。屏幕上的每個用戶界面對象對事件的響應不同。例如,如果用戶單擊退出按鈕,該按鈕必須更新屏幕並突出顯示自己。那麽程序必須響應退出。

Windows使用的模式也類似。在壹個典型的應用程序中,您將創建壹個主窗口並在其中放置壹些用戶界面控件。這些控件通常被稱為子窗口,它們就像主窗口中壹些更小更特殊的子窗口。作為壹名程序員,妳應該通過函數調用發送信息來操作這些控件,並通過向妳的代碼發送信息來響應用戶的操作。

如果妳從來沒有做過事件驅動編程,這壹切對妳來說可能很陌生。然而,事件驅動程序的設計很容易理解。對於不同的系統,具體細節可能會有所不同,但基本概念是相似的。在事件驅動的界面中,應用程序將在屏幕上繪制幾個界面對象,如按鈕、文本區域和菜單。應用程序通常通過壹段稱為事件循環的代碼來響應用戶操作。用戶可以使用鼠標或鍵盤隨意操縱屏幕上的對象。例如,用戶用鼠標點擊壹個按鈕。用鼠標點擊稱為事件。事件驅動系統將鼠標點擊、鍵盤操作等用戶動作定義為事件,也將更新屏幕等系統操作定義為事件。

相對低級的編程方式,比如直接用C寫Windows API應用,代碼量非常大,因為妳要照顧太多的細節。例如,您使用某種類型的結構來接收鼠標單擊事件。事件循環中的代碼將查看結構中的不同字段,以確定哪個用戶界面對象受到影響,然後它將完成相應的操作。當屏幕上有許多對象時,應用程序會變得非常大。僅僅處理哪個對象被點擊以及需要對它做什麽就需要大量的代碼。

幸運的是,妳可以用更高級的方式編程,那就是使用MFC。在MFC中,幾乎所有的底層細節都是為妳處理的。如果妳把壹個用戶界面對象放在屏幕上,妳只需要兩行代碼就可以構建它。如果用戶單擊壹個按鈕,按鈕本身將完成所有必要的操作,從更新屏幕上的外觀到調用程序中的預處理函數。該函數包含按鈕相應操作的代碼。MFC為妳處理所有的細節:妳創建壹個按鈕,並告訴它壹個特定的處理函數,所以當它被按下時,它會調用相應的函數。第四部分介紹了如何使用消息映射來處理事件。

  • 上一篇:美團&百度糯米競品分析
  • 下一篇:學習成績不好的原因
  • copyright 2024編程學習大全網