使用CSplitterWnd類分割視窗

2021-05-23 02:22:35 字數 894 閱讀 3475

一 在單文件/檢視結構中 將視窗進行分割

步驟如下:

(1) 在框架類中定義乙個csplitterwnd類物件 m_wndsplitter

(2)   過載框架類的oncreateclient()函式

這其中要注意:

在cmainframe的原始檔cpp中新增工程view標頭檔案

如: #include "splitwndview.h"

在檢視類標頭檔案中 ,對工程doc類進行宣告

如:  class csplitwnddoc;

二  任意劃分子視窗,並使用表單作為子視窗的檢視

步驟 :

(1)  建立一單文件/檢視結構應用程式

(2)  為工程新增對話方塊資源    

為對話方塊新增類, 此處要特別注意派生類的基類是cformview  而不是通常的cdialog  選錯的話,編譯沒問題,但執行時會出錯

將對話方塊表單屬性中的style值設定為child

, 並將visible  屬性設定為false

如果不設定的話,執行時會報assert斷言錯

(3)  新增位圖資源,用作對話方塊的背景

(4)   為派生的對話方塊表單新增wm_paint訊息

(5)在框架類中定義兩個csplitterwnd ,分別作為父視窗與子視窗

csplitterwnd m_splitterwnd;

csplitterwnd m_childwnd;

(6)  在框架類原始檔中,新增對話方塊表單的標頭檔案 , 因為框架類原始檔中需要使用對話方塊表單

(7)過載框架類的oncreateclient方法,分割視窗

注意:  有兩處重要點,一是對話方塊表單的基類為cformview  一是將對話方塊表單屬性中的style值設為child 

轉 使用CSplitterWnd分割視窗

原帖 一 基本的csplitterwnd的使用 1.在cmainframe中新增乙個csplitterwnd成員 csplitterwnd m splitterwnd1 2.基於cview建立兩個新的檢視類,cviewleft和cviewright,乙個用於在左邊顯示,乙個用於在右邊顯示。3.過載c...

CSplitterWnd 控制項的特性

最近,調ui,發現 csplitterwnd 這個控制項的特性,很有意思。先貼點它自繪的原始碼。void mycsplitter ondrawsplitter cdc pdc,esplittype ntype,const crect rectarg otherwise,actually draw c...

類和類的使用

class people name xiaoming 類屬性,類裡面的變數稱為屬性 age 18 私有屬性,別人知道後不會去動它,概念性問題 age 18 也是私有屬性,訪問會報錯 a people 例項化 print a.age 通過例項訪問類屬性,雖然是私有的,但是訪問還是可以列印,b peop...