1. 程式人生 > >1.4 單文件MFC應用程式例項

1.4 單文件MFC應用程式例項

對話方塊應用程式使用簡潔高效,所以被廣泛的使用。對話方塊在預設情況下缺少狀態列、工具欄等介面元素,不能算作是“完整”的Windows應用程式。而單文件介面,可以看作是“標準”的Windows應用程式介面。

1.4.1 技術要點:

  • MFC的單文件應用程式結構的一大特點是資料和介面分離,在單文件應用程式中,程式中資料的儲存、載入和處理等功能由CDocument完成,而資料的顯示由CView來完成。這種結構又被稱為“文件/檢視”,在這種結構下,很容易做到資料和介面的一對多關聯;
  • MFC中提供了眾多派生與CView的派生類,每個類都側重不同的功能,在新建專案時,可以根據實際需要選擇不同的派生類;

1.4.2 例項步驟:
本例項將以CForm View為例,演示在Visual C++ 6.0中新建單文件專案的具體方法。例項步驟如下:

  1. 開啟Visual C++ 6.0,單擊“File”/“New”選單。在彈出對話方塊中選擇專案型別為“MFC AppWizard(exe)”,在專案名稱文字框中輸入“MfcSdi”,單擊“OK”/“確認”按鈕進入嚮導介面;圖1.1  選擇專案型別為MFC應用程式
  2. 在嚮導的Step1中,選擇“Single document”,其餘選項用預設值。單擊“Next”/“下一步”按鈕進入下一步;圖1.2  選擇單文件專案
  3. 嚮導的Step2,用於設定是否在程式中自動加入對資料庫的支援,此步驟對預設設定不作改動,直接單擊“Next”/“下一步”按鈕進入下一步;圖1.3  選擇專案對資料庫的支援
  4. 嚮導的Step3介面,用於設定程式以何種方式支援OLE物件嵌入,此步驟直接單擊“Next”/“確認”按鈕進入下一步;圖1.4  選擇應用專案對OLE的支援
  5. 嚮導的Step4介面,該介面可以設定一些附加選項,如介面上要包含的元素,是否包含工具欄、狀態列等,還可設定和程式關聯的字尾名,以及是否引入Windows Sockets的相關檔案,在此步驟直接單擊“Next”/“下一步”按鈕進入下一步;圖1.5  設定專案的附加選項
  6. 嚮導的Step5介面,用於設定應用程式介面的總體風格以及連結MFC庫的方式,在此步驟直接單擊“Next”/“下一步”按鈕進入下一步;圖1.6  設定應用程式介面風格及連結MFC庫的方式
  7. 在嚮導的Step6中,可以設定自動生成的類的類名和具體檔名,以及個別類的基類。在此步驟中,將CMfcSdiView的基類由CView修改為CFormView,其餘選項採用預設值,單擊“Finish”按鈕完成嚮導;圖1.7  設定將要生成的類資訊
  8. 在完成應用程式嚮導後,IDE將彈出一個對話方塊,顯示了嚮導所設定的總結資訊,在該介面直接點選“OK”/“確認”按鈕結束對話方塊。此時應用程式建立完成,IDE將自動開啟一個對話方塊的設計介面,這個對話方塊將會嵌入到應用程式主介面的客戶區,讀者可以對該對話方塊上的控制元件做一些修改,圖1.8圖1.9

1.4.3 程式執行:

按F5鍵執行程式,即可看到應用程式執行介面,該介面包括了選單、工具欄和狀態列等介面元素,當然這個程式目前沒有任何功能;

圖1.10  程式執行

1.4.4 源程式解讀:

  • 在應用程式嚮導中所做的許多選項,在嚮導完成後依然可以進行修改。如建立應用程式時選擇了以動態庫的方式使用MFC,在應用程式建立成功後,也可以通過專案的選項將其修改為以靜態連結庫的方式使用MFC。又如,在建立應用程式時沒有選擇對資料庫的支援,但依然可以手動在程式碼中引入相關資料庫程式設計所需的標頭檔案;
  • 單文件應用程式也可以不採用“文件/檢視”結構,只需在嚮導的Step1中取消相關選項即可。是否採用“文件/檢視”結構,要根據應用程式的具體功能選擇;

相關推薦

1.4 MFC應用程式例項

對話方塊應用程式使用簡潔高效,所以被廣泛的使用。對話方塊在預設情況下缺少狀態列、工具欄等介面元素,不能算作是“完整”的Windows應用程式。而單文件介面,可以看作是“標準”的Windows應用程式介面。 1.4.1 技術要點: MFC的單文件應用程式結構

mfc視窗分割

說明:第一次發表部落格,全當為自己學習做個記錄,將自己的學習新東西和bug整理記錄,方便自己日後的學習。內容有借鑑別人的地方,結尾均附上別人的連結。 1、新建單文件專案,生成如下幾個類 2、在mainFrm。h檔案中新增如下程式碼 CSplitterWnd m_spl

SuperSocket 1.4系列(17) 在Windows Azure中執行SuperSocket

Windows Azure是微軟的雲端計算平臺!Windows Azure通過微軟的資料中心為開發人員提供以按需的計算能力和儲存能力去託管、擴充套件和管理網際網路上的應用程式。 運行於Windows Azure上的應用程式具有很高的可靠性和可伸縮性。 基於SuperSocket的伺服器程式可以輕易的運行於

基於MFC的選單的操作

基於單文件的MFC標準的程式 選單命令的訊息路由: 由快到慢 檢視 (最快) > 文件 > 框架類 > 應用程式類 如果同一個選單命令 在上面四個中都有處理函式,則只相應 檢視,如果將檢視中處理函式刪掉,則只相應 文件類的,以此類推。 **- 關於選單的幾個操

1.3 基於對話方塊的MFC應用程式例項

MFC的全程是“Microsoft Foundation Classes”(微軟基礎類庫),是微軟為了簡化Windows下應用程式的編寫而提供的一個框架。MFC對基本API做了封裝,並提供了數量眾多的C++封裝類。在程式設計時使用MFC,雖然會降低少許執行效率,

MFC 自定義exe程式左上角圖示

我使用的是vs2012。 1、首先新建一個單文件工程 2、開啟MainFrm.cpp,在OnCreat()函式中return 0;之前新增下列語句:   TCHAR path[100];   GetCurrentDirectory(255,pa

MFC+Opencv在程式中顯示出一幅影象

在MFC中顯示一幅影象程式是十分複雜的,而在Opencv中讀入一幅影象只需要一句話,而且很多的影象處理操作都需要使用Opencv中已有的函式,所以在MFC中呼叫Opencv的函式顯示一幅影象是很必要的操作。現在網上很多相關的描述都很不詳盡,我總結並編寫程式測試後,依次介紹在對話方塊程式和單文件程式中

基於MFC程式

單文件 XXXX = CMy02_MFCTest class XXXXApp : public CWinAppEx 應用程式類//程式入口地址 CMainFrame:CFrameWnd : 框架類 XXXXDoc : public CDocument 文件類 XXXXView : publi

MFC程式中新增最近開啟檔案.

預設的MFC單文件程式可以支援最近的檔案列表,但是它卻不一定是我們需要的,因此我在這裡總結出手動控制的方法,以備不時之需。 預設的最近檔案列表是通過MRU file list來實現的,它通過將最近開啟的檔案寫入登錄檔,然後讀取到選單上實現的。這一切預設都是通過開啟和儲存

VTK與MFC程式聯合程式設計

  興趣需要,想做下VTK與MFC想結合的程式,MFC快要在桌面程式上面失去市場份額了,現在大多使用QT來做,但是本科的時候學的就是MFC,也相對來說比較熟悉,所以就想使用MFC來寫一個簡單的單文件程式。首先我們需要在編譯的時候將USEGUISUPPORT->USEMFC勾

MFC基於製作吹彩色泡泡程式

1、程式碼如下: // 吹彩色泡泡Doc.h : interface of the CMyDoc class // /////////////////////////////////////////////////////////////////////////////

如何修改應用程式的標題

預設情況,MainFrame window具有FWS_ADDTOTITLE的style,會將DOC文件的標題顯示在標題欄,取消該style後就可以利用setwindowtext來修改標題欄的標題了 </pre><pre name="code" class

MFC程式中搭建OpenGL框架

一、簡介 Windows GDI是通過裝置控制代碼(Device Context(裝置描述表)以下簡稱"DC")來繪圖,而OpenGL則需要繪製環境(Rendering Context(著色描述表),以下簡稱"RC")。每一個GDI命令需要傳給它一個DC,但

1.5 webshell上傳漏洞分析溯源(1~4)

png query 瀏覽器 key led 9.png 簡單的 木馬 value webshell文件上傳漏洞分析溯源(第一題) 我們先來看基礎頁面: 先上傳1.php ----> ,好吧意料之中 上傳1.png ----> 我們查看頁面元素 --

python—89 自定義的admin後臺管理框架 1、啟動 2、源碼(註冊功能、創建例) 3、設計url

ready def str try pytho site 字典 style 啟動文件 admin後臺管理框架 仿照admin組件,開發stark組件 1、啟動文件   執行每一個app下的stark.py文件   重寫一個def ready() 函數  autodis

MFC生成多個CMFCToolbar時需要解決的問題

1. 單文件預設生成的工具欄只有一個,但很多時候我們需要新增多個工具欄,比如: m_wndMenuBar.EnableDocking(CBRS_ALIGN_ANY);m_wndFileToolBar.EnableDocking(CBRS_ALIGN_ANY);m_wndCalibrateT

VS2010-MFC:左側可停靠對話方塊(包含樹控制元件)的實現

在程式開發中我們經常看見有一些軟體左側有目錄樹或者是圖層樹,點選之後就可以右側View視窗顯示相關的內容,其實實現這種機制有兩種方法,第一種就是對MFC的View視窗進行視窗分割,左側的視窗view類派生於CTreeView,其中CTreeView自帶一個變數用於View中的樹控制元件的控制。第二

OpenCV下MFC顯示影象

1、vs2008中新建SDI,最後view類選擇ScorllView以形成帶滾動條的檢視視窗 2、新增OpenCV的連結庫 3、新增相應標頭檔案"cv.h" "highgui.h"到doc.h和view.h(要新增在.h檔案中,不要新增在.cpp中,否則容易出錯) 4、doc類中新增變數

VC++程式固定選單欄和工具欄

MainFrm.cpp框架類下,找到OnCreate方法 m_wndMenuBar.EnableDocking(CBRS_ALIGN_ANY); m_wndToolBar.EnableDocking(

MFC--各個類之間的獲取

View 中獲取Doc //獲取文件類指標物件 XXXDoc *pDoc = (XXXDoc*)GetDocument(); 在Doc中 獲得 View //獲取檢視類指標物件 CUserTreeView *pTreeView; //文件其