更新時(shí)間:2017-11-14 來源:黑馬程序員 瀏覽量:
近期陸續(xù)有學(xué)員問到在MFC編程中怎樣做到界面分屏,看到很多學(xué)員在這里很有疑惑,我在這里將MFC分屏操作流程向大家分享一下,希望能幫助到大家~
在開發(fā)MFC應(yīng)用程序的時(shí)候,我們經(jīng)常看到其他 C/S 軟件的界面格局是這樣的:
那么,他們?cè)趺醋龅降哪?我們可以使用界面窗體融合
首先,我們先創(chuàng)建一個(gè)單文檔視圖的MFC項(xiàng)目,點(diǎn)擊完成
在MFC 框架中,為我們提供了一個(gè)csplitterwnd 類——拆分窗口類,提供分離窗口的功能。
那么,在框架類 CMainFrame中,我們要添加一個(gè)csplitterwnd 類型的成員變量,以供我們使用。
下面,我們要重寫框架類 CMainFrame 中的OnCreateClient 事件
在事件中,我們要進(jìn)行界面切分操作,并添加如下代碼,那么,問題來了,我們?cè)撛鯓忧蟹执翱?切分后的窗口該由哪個(gè)類來控制它
值得注意的是:我們?cè)趧?chuàng)建完視圖之后,要將它原先 return 的界面視圖注銷掉,返回我們切分后的視圖界面,我們也看到在 RUNTIME_CLASS 宏函數(shù)中我們的值是空的,這里就是要我們添加我們自己的MFC類
我們就需要我們自定義的窗口視圖了,我們可以先創(chuàng)建兩個(gè)類,值得注意的是:我們創(chuàng)建的MFC 類它的基類必須是視圖類
我們創(chuàng)建好之后,返回到我們的框架類 CMainFrame中,并找到我們剛剛重寫的OnCreateClient函數(shù),將我們新建的視圖類 添加至RUNTIME_CLASS 宏函數(shù)的參數(shù)內(nèi)
發(fā)現(xiàn)還是報(bào)錯(cuò),為什么呢?加上頭文件即可。。。
那么,分屏的效果就出來了。友情提示:獲得更多學(xué)科學(xué)習(xí)視頻+資料+源碼,請(qǐng)加QQ:3276250747。
C ++中四種類型轉(zhuǎn)換方式
2017-11-14常見的六種設(shè)計(jì)模式以及應(yīng)用場(chǎng)景
2017-11-14常用的9個(gè)字符串C標(biāo)準(zhǔn)庫(kù)函數(shù)之strstr實(shí)現(xiàn)
2017-11-14C++培訓(xùn)之想要成為軟件開發(fā)中的王者,需要明白的 21 條準(zhǔn)則
2017-08-15c/c++培訓(xùn)C++拷貝構(gòu)造函數(shù)(深拷貝,淺拷貝)
2017-07-22C/c++培訓(xùn)之Linux系統(tǒng)動(dòng)態(tài)庫(kù)加載過程分析
2017-07-02