MFC FrameWnd多檢視切換
因為專案中要使用到多檢視的切換,而現在的檢視不必銷燬\建立式的切換,只需顯示\隱藏式的切換,我的設計是將CFrameWnd分隔為左右兩個檢視,
左側為樹開結構圖CTreeView,點選樹形結構圖節點,右側進行不同的檢視顯示\隱藏式的切換。
看到 MFC檢視切換大全總結 (1) 後想了以下方法實現自己的多檢視切換。
考慮過的多檢視的實切有多種方法:
1. 首先想到的是在CSplitterWnd右側直接放入多個檢視,不能同時初始化多個檢視需要delete當前檢視後,方能再次建立新的檢視,此方案不滿足需求。
2. 放棄CSplitter,使用兩個CPane分別放入CFrameWnd,分為左右兩個模組,右側放入多個CPane,右側CPane可切換。也使用CFormView。不過實
現起來有點麻煩,還要考慮自適應尺寸問題。
3.最終在 Is this a correct way switch the view in an MFC SDI non-doc/view program? (2) 這個問題下看到tabctrl,恍然大悟,放入TabView後,在
CTabView中加入多個CFormView,一次只啟用一個檢視,其它檢視未關閉,真正滿足需求。仍然使作CSplitterWnd,且實現起來也相對方便。
參考:
(1) MFC檢視切換大全總結
https://www.cnblogs.com/haoyuanyuan/p/3246350.html
(2) Is this a correct way switch the view in an MFC SDI non-doc/view program?
https://stackoverflow.com/questions/69610662/is-this-a-correct-way-switch-the-view-in-an-mfc-sdi-
non-doc-view-program