vs2019中使用MFC構(gòu)建簡(jiǎn)單windows窗口程序
微軟基礎(chǔ)類庫(kù)(英語(yǔ): Classes,簡(jiǎn)稱MFC)是微軟公司提供的一個(gè)類庫(kù)(class libraries),以C++類的形式封裝了Windows API,并且包含一個(gè)應(yīng)用程序框架,以減少應(yīng)用程序開(kāi)發(fā)人員的工作量。其中包含大量Windows句柄封裝類和很多Windows的內(nèi)建控件和組件的封裝類。
vs 2019 最新版,在設(shè)計(jì)上又有了很大的變化,并且其所有的服務(wù),模塊都是自定義搭建的,所以在一開(kāi)始安裝的時(shí)候,沒(méi)有勾選mfc模塊的話,是無(wú)法快速構(gòu)成mfc應(yīng)用的.
vs2019下MFC模塊的安裝
首先,在項(xiàng)目中新建一個(gè)項(xiàng)目,進(jìn)入項(xiàng)目創(chuàng)建選項(xiàng)卡,看看是否有mfc項(xiàng)目,如果沒(méi)有則需要更新vs,加載mfc模塊.
將項(xiàng)目創(chuàng)建卡拉到最下面,點(diǎn)擊安裝更多工具和功能
進(jìn)入vs模塊更新界面,在這里可以更新你的vs所裝的模塊,要想支持mfc開(kāi)發(fā),需要勾選c++桌面開(kāi)發(fā)中的mfc模塊,默認(rèn)情況下是不勾選的.然后更新即可.不要選擇單個(gè)組件安裝,會(huì)出現(xiàn)各種棘手的問(wèn)題.
創(chuàng)建MFC項(xiàng)目:
安裝好mfc模塊后,我們創(chuàng)建mfc項(xiàng)目,創(chuàng)建完成后會(huì)進(jìn)入mfc項(xiàng)目的基本屬性定義選項(xiàng)卡:
在這里,我們選擇單文檔程序,項(xiàng)目樣式選擇mfc基本樣式,當(dāng)然你還可以定義其他各種自定義屬性.定義好基本屬性之后,點(diǎn)擊完成,一個(gè)mfc模板就創(chuàng)建好了.
我們直接將項(xiàng)目設(shè)為啟動(dòng)項(xiàng)目,調(diào)試運(yùn)行,即可彈出一個(gè)默認(rèn)的窗口:
如此,一個(gè)簡(jiǎn)單的mfc窗口程序就快速構(gòu)建成功了,我們只需要在這個(gè)基礎(chǔ)上再去重構(gòu),就可實(shí)現(xiàn)各種復(fù)雜的功能,和我們想要實(shí)現(xiàn)的功能.
簡(jiǎn)單的實(shí)現(xiàn)一個(gè)繪圖小程序:
首先我們展開(kāi)自動(dòng)構(gòu)架的mfc項(xiàng)目的資源文件,雙擊.rc文件打開(kāi)資源視圖,找到Menu目錄下的IDR_前綴的文件,雙擊打開(kāi),進(jìn)入窗口可視化設(shè)計(jì)視圖:
我們可以對(duì)菜單欄進(jìn)行編輯,這里創(chuàng)建一個(gè)新的繪制菜單,并新建幾個(gè)繪制功能選項(xiàng).
現(xiàn)在我們所需要的界面設(shè)計(jì)完成了,那那么我們?cè)趺磳?shí)現(xiàn)其功能呢.
通過(guò)右鍵,為每個(gè)選項(xiàng)添加事件處理程序
我們可以在對(duì)應(yīng)的view.cpp中看到對(duì)應(yīng)生成的函數(shù):
我們直接在該類中聲明所需要的變量,繪制類型,繪制起點(diǎn),繪制終點(diǎn).
并當(dāng)監(jiān)測(cè)到每個(gè)選項(xiàng)時(shí),返回一個(gè)int型變量用來(lái)判斷繪制類型.
通過(guò)類向?qū)砑觾蓚€(gè)處理程序,用來(lái)檢測(cè)鼠標(biāo)左鍵按下與抬起兩個(gè)事件:
打開(kāi)消息選項(xiàng)卡,可以找到wm_lbuttondown與wm_lbuttonup兩個(gè)消息添加處理程序,然后點(diǎn)擊編輯代碼,即可進(jìn)入自動(dòng)生成的函數(shù)體中,編寫實(shí)現(xiàn)代碼了:
通過(guò)一個(gè)switch多路分支語(yǔ)句來(lái)控制實(shí)現(xiàn)的方式,繪制方法具體實(shí)現(xiàn),調(diào)用mfc自帶函數(shù)即可.
到此這篇關(guān)于vs2019中使用MFC構(gòu)建簡(jiǎn)單windows窗口程序的文章就介紹到這了,更多相關(guān)MFC構(gòu)建windows窗口程序內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C語(yǔ)言實(shí)現(xiàn)全排列算法模板的方法
這篇文章主要介紹了C語(yǔ)言實(shí)現(xiàn)全排列算法模板的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02C++實(shí)現(xiàn)小型圖書管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)小型圖書管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03ubuntu系統(tǒng)vscodeC++編譯環(huán)境配置與使用方式
這篇文章主要介紹了ubuntu系統(tǒng)vscodeC++編譯環(huán)境配置與使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12引用參數(shù)和傳值參數(shù)的區(qū)別深入解析
以下是對(duì)引用參數(shù)和傳值參數(shù)的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過(guò)來(lái)參考下2013-07-07