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

基于MFC 的計(jì)算機(jī)集成技術(shù)開發(fā)原理

2013-12-31 00:00:00杜浩
科教導(dǎo)刊 2013年22期

摘 要 MFC由于其優(yōu)秀的特性和體系結(jié)構(gòu)被廣泛應(yīng)用。介紹了MFC的設(shè)計(jì)目標(biāo)及優(yōu)缺點(diǎn),從文件類、窗口類及數(shù)據(jù)庫支持等三個(gè)方面重點(diǎn)闡述了MFC的層次結(jié)構(gòu),通過編寫名為“MFC單文檔應(yīng)用程序”的單文檔應(yīng)用程序說明了MFC的設(shè)計(jì)原理。

關(guān)鍵詞 微軟基本類庫 層次設(shè)計(jì) 文件類 窗口類

中圖分類號:TP311 文獻(xiàn)標(biāo)識碼: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)是由微軟公司推出的基于面向?qū)ο蟮目梢暬删幊滔到y(tǒng),由于VC強(qiáng)大的自動編譯功能、高級除錯(cuò)功能和“語法高亮”功能,被廣泛應(yīng)用于各類軟件中。封裝Win32 API 函數(shù)的基本類庫(Microsoft Foundation Class Library,簡稱MFC)提供了圖形環(huán)境下應(yīng)用程序的框架及創(chuàng)建應(yīng)用程序的組件,通過Wizard功能簡化了Windows應(yīng)用程序的編寫工作。MFC提供了大量基類和可重用類庫供用戶使用,并允許用戶根據(jù)不同應(yīng)用環(huán)境進(jìn)行擴(kuò)充和自定義。大多數(shù)MFC是從CObject基類派生的,可以在運(yùn)行時(shí)獲得對象大小和名字。

MFC被廣泛應(yīng)用于用戶交互界面的開發(fā)、①Pro/E二次開發(fā)、②UG的二次開發(fā)③④⑤、生物醫(yī)學(xué)圖像處理⑥等方面,本文從MFC的設(shè)計(jì)目標(biāo)及優(yōu)缺點(diǎn)出發(fā),闡述MFC的層次設(shè)計(jì),并通過實(shí)例介紹MFC的編程原理。

1 MFC的設(shè)計(jì)目標(biāo)及優(yōu)缺點(diǎn)

1.1 MFC的設(shè)計(jì)目標(biāo)

MFC主要有兩個(gè)設(shè)計(jì)目標(biāo):一是為Windows操作系統(tǒng)提供一個(gè)面向?qū)ο蟮慕涌凇4四繕?biāo)通過編寫類來封裝窗口、對話框及其他對象,并引入適當(dāng)?shù)奶摵瘮?shù)來完成。二是在不需強(qiáng)加系統(tǒng)過多工作和不增加應(yīng)用程序?qū)?nèi)存不必要開銷的前提下,支持可重用、自包含性及其它面向?qū)ο蟪绦蛟O(shè)計(jì)(OOP)原則。⑦該目標(biāo)要求用戶盡早選擇MFC窗口、菜單及其他對象的封裝方法。

1.2 MFC的優(yōu)缺點(diǎn)

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

2 MFC的層次設(shè)計(jì)

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

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

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

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

3 實(shí)例分析

MFC支持的應(yīng)用程序有三種,即單文檔界面應(yīng)用程序(SDI)、多文檔界面應(yīng)用程序(MDI)和基于對話框應(yīng)用程序,本文以單文檔應(yīng)用程序?yàn)槔齺黻U述MFC程序的編寫原理。下面將建立一個(gè)單文檔應(yīng)用程序下,在視圖客戶區(qū)顯示“歡迎使用MFC編程!”具體步驟如下:

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

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

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);

}

進(jìn)行編譯執(zhí)行后,出現(xiàn)的單文檔應(yīng)用程序如圖3所示。

4 總結(jié)

本文從MFC的設(shè)計(jì)目標(biāo)出發(fā)、介紹了MFC的優(yōu)缺點(diǎn),從文件類、窗口類及數(shù)據(jù)庫支持等三個(gè)方面著重闡述了MFC的框架,并通過編寫MFC單文檔應(yīng)用程序?qū)嵗f明了MFC程序設(shè)計(jì)的原理。

注釋

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

② 王恒,寧汝新,張旭,王鐵.利用MFC二次開發(fā)Pro/E[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2004(6):869-872.

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

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

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

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

主站蜘蛛池模板: 国产另类视频| 尤物午夜福利视频| 亚洲香蕉久久| 欧美视频在线第一页| 亚洲av日韩av制服丝袜| 免费人成黄页在线观看国产| 日韩毛片视频| 国产欧美日韩va| 大乳丰满人妻中文字幕日本| 手机在线免费不卡一区二| 久久一日本道色综合久久| 色天天综合| 午夜免费视频网站| 真实国产精品vr专区| 毛片在线播放网址| 久久一本日韩精品中文字幕屁孩| 国产黄网站在线观看| 91网红精品在线观看| 欧美精品啪啪| 在线看AV天堂| 伊人91在线| 亚洲日韩AV无码精品| 亚洲欧洲日本在线| 久久精品国产国语对白| 国产乱子伦手机在线| 亚洲成人网在线观看| 毛片手机在线看| 国产凹凸一区在线观看视频| 亚洲男人的天堂在线| 九九九九热精品视频| a毛片在线| 亚洲国产理论片在线播放| 婷婷色丁香综合激情| 亚洲一级色| 日本尹人综合香蕉在线观看| 国产免费黄| 亚洲AⅤ永久无码精品毛片| 国产91色在线| 视频一区视频二区日韩专区| 再看日本中文字幕在线观看| 国产精品尤物铁牛tv| 国产三级精品三级在线观看| 亚洲AV免费一区二区三区| 97se亚洲综合在线天天| 国产成人亚洲毛片| 亚洲日韩第九十九页| 亚洲精品制服丝袜二区| 久久熟女AV| 91视频首页| a国产精品| 九九精品在线观看| 国产在线视频福利资源站| 国产又爽又黄无遮挡免费观看 | 毛片免费试看| 国产精品视频导航| 国产清纯在线一区二区WWW| 亚洲国产精品日韩专区AV| 永久免费无码成人网站| 青青青国产视频| 精品国产黑色丝袜高跟鞋| 久久情精品国产品免费| 在线免费无码视频| 成人免费午夜视频| 亚洲综合专区| 亚洲无码四虎黄色网站| 国产精品久久久久久影院| 欧美19综合中文字幕| 亚洲色图欧美在线| 中文字幕人妻av一区二区| 韩日午夜在线资源一区二区| 成人av专区精品无码国产| 国产精品美人久久久久久AV| 欧美日韩激情在线| 67194在线午夜亚洲| 国产你懂得| 91 九色视频丝袜| 国产日韩欧美在线视频免费观看| 欧洲亚洲欧美国产日本高清| 国产精品无码久久久久AV| 久久人妻xunleige无码| 乱人伦中文视频在线观看免费| 国产精品亚洲天堂|