999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于MFC 的計算機集成技術開發原理

2013-12-31 00:00:00杜浩
科教導刊 2013年22期

摘 要 MFC由于其優秀的特性和體系結構被廣泛應用。介紹了MFC的設計目標及優缺點,從文件類、窗口類及數據庫支持等三個方面重點闡述了MFC的層次結構,通過編寫名為“MFC單文檔應用程序”的單文檔應用程序說明了MFC的設計原理。

關鍵詞 微軟基本類庫 層次設計 文件類 窗口類

中圖分類號:TP311 文獻標識碼:A

Development Principle on MFC Computer Integration Technology

DU Hao

(Hubei University Of Technology, Wuhan, Hubei 430068)

Abstract MFC is widely used due to its excellent features and architectures. In this paper the objectives, advantages and disadvantages of MFC are introduced. The hierarchy of MFC is classified into three types: the File class, the window class and database support. The design principle is illustrated through writing a single document MFC program named\"MFC single document program\".

Key words MFC; hierarchy design; CFile; CWnd

0 緒論

Microsoft Visual C++(簡稱VC)是由微軟公司推出的基于面向對象的可視化集成編程系統,由于VC強大的自動編譯功能、高級除錯功能和“語法高亮”功能,被廣泛應用于各類軟件中。封裝Win32 API 函數的基本類庫(Microsoft Foundation Class Library,簡稱MFC)提供了圖形環境下應用程序的框架及創建應用程序的組件,通過Wizard功能簡化了Windows應用程序的編寫工作。MFC提供了大量基類和可重用類庫供用戶使用,并允許用戶根據不同應用環境進行擴充和自定義。大多數MFC是從CObject基類派生的,可以在運行時獲得對象大小和名字。

MFC被廣泛應用于用戶交互界面的開發、①Pro/E二次開發、②UG的二次開發③④⑤、生物醫學圖像處理⑥等方面,本文從MFC的設計目標及優缺點出發,闡述MFC的層次設計,并通過實例介紹MFC的編程原理。

1 MFC的設計目標及優缺點

1.1 MFC的設計目標

MFC主要有兩個設計目標:一是為Windows操作系統提供一個面向對象的接口。此目標通過編寫類來封裝窗口、對話框及其他對象,并引入適當的虛函數來完成。二是在不需強加系統過多工作和不增加應用程序對內存不必要開銷的前提下,支持可重用、自包含性及其它面向對象程序設計(OOP)原則。⑦該目標要求用戶盡早選擇MFC窗口、菜單及其他對象的封裝方法。

1.2 MFC的優缺點

MFC在特性和體系結構上有很多優點:MFC包含文檔/視圖體系結構、多文檔界面(MDI)、打印支持、Active X空間支持、數據庫支持、網絡支持、Windows系統常用控件支持和多線程支持等。MFC不僅利用C++語言特性從框架類中派生自定義類,節約用戶的時間和精力,而且MFC的分層設計使得用戶可以根據需要擴展框架。同時,MFC的缺點也相當明顯:MFC編程較為繁瑣,程序入口較為復雜,函數名多,函數及其用法不易掌握。

2 MFC的層次設計

與目錄結構類似,MFC對象層次包含一個根對象CObject,其它大多數對象是由此根對象派生而來,如處理命令消息的CCmdTarget類及其派生類、控制窗口的CWnd類及其派生類。下面分別從文件類、窗口類及數據庫支持來介紹MFC的層次。

文件類CFile包含很多C++類中的Windows API調用,標準I/O文件使用fgets()和fputs()函數進行輸入和輸出,為了實現文檔格式的轉換,采用串行化將數據類成員變量按順序存儲到磁盤。文件類結構如圖1所示,主要包含四個子類:CMemFile類允許用戶在內存中創建文件;COleStreamFile表示數據流作為OLE結構化存儲在復合文件中;CSocketFile 類是在進行Socket編程時,將需要序列化的數據傳給對方;CStdioFile類允許用戶對回車或換行結束的字符串進行讀寫。

窗口類(CWnd)是Windows系統的數據結構,提供了MFC中所有窗口類的基本功能,是所有窗口類的基類。CWnd類結構如圖2所示,主要有:框架窗口類(Frame Windows)、控件類(Controls)、對話框類(Dialog Boxes)、視圖類(Views)、控制欄類(Control Bars)和窗體分割類(Property Sheets)等。框架窗口類用來顯示和監督用戶對應用程序的命令;控件類封裝了通用控件的功能;對話框類封裝了用來創建對話框的Windows API,在創建時可以用對話框模版來填充;視圖類用來顯示用戶對應用程序操作的結果;控制欄類用來創建工具欄和狀態欄類;窗體分割類,即CSplitterWnd類,支持分割窗口,允許文檔建立視圖類實例。

MFC支持的數據庫有兩類:ODBC和Microsoft Jet(也稱為Microsoft Access )。其中ODBC支持的數據庫平臺較為廣泛,包括Oracle、Sybase、Informix及Microsoft SQL Server等數據庫平臺。Microsoft Jet數據庫允許使用內置其中的Data Access Objects(DAO)對象模型。DAO為處理數據庫表和查詢及管理用戶(用戶組)的安全性能提供了豐富的模型。表1列出了支持ODBC和Microsoft Jet的數據庫類用途。

3 實例分析

MFC支持的應用程序有三種,即單文檔界面應用程序(SDI)、多文檔界面應用程序(MDI)和基于對話框應用程序,本文以單文檔應用程序為例來闡述MFC程序的編寫原理。下面將建立一個單文檔應用程序下,在視圖客戶區顯示“歡迎使用MFC編程!”具體步驟如下:

利用AppWizard新建一個項目名為“MFC單文檔應用程序”的單文檔應用程序,首先單擊“文件”→“新建”菜單命令,并在“文件”選項卡中選擇”MFC AppWizard [exe]”選項,在”位置[C]”欄中選擇項目即將保存的地址,”工程名稱[N]”欄中輸入項目的名稱“MFC單文檔應用程序”,然后單擊”確定”按鈕進入下一步。在對話框中選擇“單文檔[S]”,單擊”完成”按鈕,最后在確認對話框中單擊”確定”按鈕,至此,就新建了名為“MFC單文檔應用程序”的單文檔界面應用程序。

然后添加文檔類變量:在CMFCDoc類中添加public CString類型的str變量作為程序在客戶區的輸出變量,并重新編寫void CMFCView::OnDraw(CDC* pDC)函數代碼,代碼如下:

void CMFCView::OnDraw(CDC* pDC)

{

CMFCDoc* pDoc = GetDocument();

ASSERT_VALID(pDoc);

// TODO: add draw code for native data here

pDoc->str.Format(\"歡迎使用MFC編程!\");

pDC->TextOut(200,200,pDoc->str);

}

進行編譯執行后,出現的單文檔應用程序如圖3所示。

4 總結

本文從MFC的設計目標出發、介紹了MFC的優缺點,從文件類、窗口類及數據庫支持等三個方面著重闡述了MFC的框架,并通過編寫MFC單文檔應用程序實例說明了MFC程序設計的原理。

注釋

① 范志先,孫殿柱,李延瑞,孫肖霞.采用MFC開發用戶交互界面的新方法[J].工程圖學學報,2008(4):160-163.

② 王恒,寧汝新,張旭,王鐵.利用MFC二次開發Pro/E[J].計算機輔助設計與圖形學學報,2004(6):869-872.

③⑦趙韓,張冰戰,朱可.UG二次開發CAD系統MFC的調用方法研究[J].現代制造工程,2007(2):88-90.

④ 諶祖輝,侯忠濱,吳占陽.UG軟件二次開發中MFC調用方法研究[J].機床與液壓,2006(2):181-186.

⑤ 鄭戰光,潘淑琴,夏薇,苑明海.利用MFC進行UG二次開發的研究[J].計算機工程與設計,2007(23):5787-5791.

⑥ 羅火靈,許永忠,陳世仲.基于VTK和MFC的醫學圖像三維重建研究與實現[J].生物工程學進展,2010.31(1):23-28.

主站蜘蛛池模板: 久久精品人人做人人综合试看| 欧美日韩综合网| 亚洲综合片| 91在线国内在线播放老师| 欧美日韩久久综合| 国产成人永久免费视频| 狠狠五月天中文字幕| 伊人福利视频| 全部免费特黄特色大片视频| 综合色在线| 综合色区亚洲熟妇在线| 午夜激情福利视频| 亚洲an第二区国产精品| 中文字幕66页| 岛国精品一区免费视频在线观看| 国产成人三级| 97青草最新免费精品视频| 欧美午夜在线观看| 97国产精品视频自在拍| 成人午夜福利视频| 伊人久久久久久久久久| 91福利一区二区三区| 久久黄色小视频| 国产人妖视频一区在线观看| 亚洲国产成熟视频在线多多| 福利姬国产精品一区在线| 一级毛片免费高清视频| 国产成人8x视频一区二区| 一级毛片无毒不卡直接观看| 高清无码一本到东京热| 国产丝袜丝视频在线观看| 日本免费福利视频| 婷五月综合| 国产成人精品高清不卡在线 | 免费高清自慰一区二区三区| 在线观看欧美精品二区| 三级欧美在线| 在线欧美国产| 热99re99首页精品亚洲五月天| 国产精选自拍| 国产白丝av| 国产亚洲欧美日韩在线一区| 婷婷激情五月网| 91青青视频| 九九久久99精品| 伊人婷婷色香五月综合缴缴情| 国产亚洲精品yxsp| 日本一本在线视频| 免费a级毛片18以上观看精品| 国产精品尤物铁牛tv| 91最新精品视频发布页| 欧美成人精品欧美一级乱黄| 欧美日本视频在线观看| 亚洲综合婷婷激情| 国产精品综合色区在线观看| 一区二区影院| 亚洲 成人国产| 精品视频在线一区| 国产麻豆永久视频| 国产激情在线视频| 亚洲无码日韩一区| 国产日本欧美在线观看| 国产成人AV大片大片在线播放 | 在线99视频| 国产免费人成视频网| 国产精品亚洲一区二区三区z| 日本高清免费一本在线观看| 欧美成人二区| 久久伊人久久亚洲综合| 国产一级裸网站| 永久免费av网站可以直接看的 | 亚洲天堂首页| 日本a级免费| 丝袜无码一区二区三区| 欧美一级黄片一区2区| 青青极品在线| 热re99久久精品国99热| 波多野结衣爽到高潮漏水大喷| 国产迷奸在线看| 1024你懂的国产精品| 国产成人一区免费观看| 精品偷拍一区二区|