读书人

初学者提问:视图的拆分有关问题

发布时间: 2012-01-22 22:38:43 作者: rapoo

菜鸟提问:视图的拆分问题
想做一个MFC的程序,遇到了拆分视图上的问题,我想将视图拆分成下面这个样子,该在哪个消息中处理,用什么函数?
怎么获得子窗口1,2,3的指针?
我想在1视图中显示图片,该怎么处理呢?
希望各位大侠给点帮助,有源码就太感谢了!
-----------------------------
| | |
| | |
| 1 | 2 |
| | |
| | |
-------------------------------
| |
| 3 |
| |
| |
------------------------------

[解决办法]
我这里有一段是这样的
为CMainFrame添加一个共有变量
CSplitterWnd m_wndSplitter;
然后再
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
// TODO: Add your specialized code here and/or call the base class
CRect rect;
GetClientRect(rect);
CSize size(rect.Width()/2,rect.Height()/2);

m_wndSplitter.CreateStatic(this,2,2);
m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(CViewOne),size,pContext);
m_wndSplitter.CreateView(0,1,RUNTIME_CLASS(CViewTwo),size,pContext);
m_wndSplitter.CreateView(1,0,RUNTIME_CLASS(CViewThree),size,pContext);
m_wndSplitter.CreateView(1,1,RUNTIME_CLASS(CViewFour),size,pContext);
m_wndSplitter.SetActivePane(1,1);

return TRUE;
}这样就创建出4个视图了
CViewOne---CViewFour是我自己添加的视图类
怎么变成三个我也不是很清楚。希望这个对你有所启发
[解决办法]
http://code.ddvip.com/view/11239488003180.html
[解决办法]
怎么获得子窗口1,2,3的指针:
在MainFrame里添加三个视图相应的指针变量(假如你的三个View分别叫CView1、CView2、CView3)


CView1* m_pView1
CView2* m_pView2
CView3* m_pView3

m_pView1=(CView1 *) m_wndSplitter.GetPane(0,0);
m_pView2=(CView2 *) m_wndSplitter.GetPane(0,1);
m_pView3=(CView3 *) m_wndSplitter.GetPane(1,0);

视图中显示图片就在OnDraw中画吧

读书人网 >VC/MFC

热点推荐