更新時(shí)間:2017年11月14日15時(shí)02分 來(lái)源:傳智播客 瀏覽次數(shù):
近期陸續(xù)有學(xué)員問(wèn)到在MFC編程中怎樣做到界面分屏,看到很多學(xué)員在這里很有疑惑,我在這里將MFC分屏操作流程向大家分享一下,希望能幫助到大家~
在開(kāi)發(fā)MFC應(yīng)用程序的時(shí)候,我們經(jīng)??吹狡渌?C/S 軟件的界面格局是這樣的:
那么,他們?cè)趺醋龅降哪?我們可以使用界面窗體融合
首先,我們先創(chuàng)建一個(gè)單文檔視圖的MFC項(xiàng)目,點(diǎn)擊完成
在MFC 框架中,為我們提供了一個(gè)csplitterwnd 類(lèi)——拆分窗口類(lèi),提供分離窗口的功能。
那么,在框架類(lèi) CMainFrame中,我們要添加一個(gè)csplitterwnd 類(lèi)型的成員變量,以供我們使用。
下面,我們要重寫(xiě)框架類(lèi) CMainFrame 中的OnCreateClient 事件
在事件中,我們要進(jìn)行界面切分操作,并添加如下代碼,那么,問(wèn)題來(lái)了,我們?cè)撛鯓忧蟹执翱?切分后的窗口該由哪個(gè)類(lèi)來(lái)控制它
值得注意的是:我們?cè)趧?chuàng)建完視圖之后,要將它原先 return 的界面視圖注銷(xiāo)掉,返回我們切分后的視圖界面,我們也看到在 RUNTIME_CLASS 宏函數(shù)中我們的值是空的,這里就是要我們添加我們自己的MFC類(lèi)
我們就需要我們自定義的窗口視圖了,我們可以先創(chuàng)建兩個(gè)類(lèi),值得注意的是:我們創(chuàng)建的MFC 類(lèi)它的基類(lèi)必須是視圖類(lèi)
我們創(chuàng)建好之后,返回到我們的框架類(lèi) CMainFrame中,并找到我們剛剛重寫(xiě)的OnCreateClient函數(shù),將我們新建的視圖類(lèi) 添加至RUNTIME_CLASS 宏函數(shù)的參數(shù)內(nèi)
發(fā)現(xiàn)還是報(bào)錯(cuò),為什么呢?加上頭文件即可。。。
那么,分屏的效果就出來(lái)了。友情提示:獲得更多學(xué)科學(xué)習(xí)視頻+資料+源碼,請(qǐng)加QQ:3276250747。
北京校區(qū)