需求大概是這樣的:
生成一個單檔案視圖,在視圖中點擊右鍵彈出選單,點選單“分割”后把當前視圖一分為二。再次右鍵點擊其中某塊視圖“分割”,把選中的這塊視圖再一分二為。要求可以一直拆分。而且視圖內可以展示物件屬性,比如弄新聞,天氣等等這些屬性。目前只會靜態分割視窗,在OnCreateClient里面實作分割視圖。
求大神們指點思路如何實作能動態拆分視圖。
代碼如下:
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT , CCreateContext* pContext)
{ //創建一個靜態分欄視窗,分為三行一列
if (m_wndSplitter1.CreateStatic(this, 3, 1) == NULL)
return FALSE;
//將CCuteFTPView連接到0行0列窗格上
m_wndSplitter1.CreateView(0, 0, RUNTIME_CLASS(CWorkView), CSize(100, 100), pContext);
m_wndSplitter1.CreateView(2, 0, RUNTIME_CLASS(CWorkAppViem), CSize(100, 100), pContext); //將CView4連接到0行2列
if (m_wndSplitter2.CreateStatic(&m_wndSplitter1, 1, 2, WS_CHILD | WS_VISIBLE, m_wndSplitter1.IdFromRowCol(1, 0)) == NULL)
return FALSE;//將第1行0列再分開1行2列
//將CView2類連接到第二個分欄物件的0行0列
m_wndSplitter2.CreateView(0, 0, RUNTIME_CLASS(CWorkAppViem), CSize(400, 300), pContext); //將CView3類連接到第二個分欄物件的0行1列
m_wndSplitter2.CreateView(0, 1, RUNTIME_CLASS(CWorkAppViem), CSize(400, 300), pContext);
return TRUE;
}
uj5u.com熱心網友回復:
求大神來指導一下!!!!uj5u.com熱心網友回復:
把靜態拆分的 放到選單命令回應中uj5u.com熱心網友回復:
回2樓:能說的詳細點嗎?最好加點代碼。
uj5u.com熱心網友回復:
http://download.csdn.net/detail/qq_23992597/9223327
uj5u.com熱心網友回復:
先就按照你這樣的靜態分割,將其余視窗的寬度和高度都設定為0,然后單擊按鈕后恢復原來的寬度和高度大小uj5u.com熱心網友回復:
這種做法是要先確認分割的具體情況吧?我的視窗要支持即能上下分割,又能左右分割。
uj5u.com熱心網友回復:
"另一個(Yet another)視窗動態分割的演示程式。 只有一個CSplitterWnd m_wndSplitter;實體不嵌套 使用CreateStatic動態改變視窗分割數0,2,4, 6 使用CEditView"http://download.csdn.net/detail/schlafenhamster/3463284
uj5u.com熱心網友回復:
動態設定每個視窗的寬度和長度
uj5u.com熱心網友回復:
http://bbs.csdn.net/topics/391963864看這個貼子跟樓主遇到的問題一樣。
解決方法是動態生成CSplitterWnd
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/127703.html
標籤:界面
