我的程序界面是这个样子的: _______________________________
| | | |
|_____________|_____________| |
| | | |
|_____________|_____________| |
|_______________________________|__|左上是一个拆分窗口,分成四个视图(视图是CView的派生类),右侧是一个DialogBar,下面是状态栏我在CMainFrame的OnCreate函数里初始化生成右侧的DialogBar,在OnCreateClient函数里拆分视图,其中,拆分视图的代码是:CRect cr;
GetClientRect( &cr );if(!m_viewportSplitter.CreateStatic(this,2,2))
return false;
m_viewportSplitter.CreateView(0,0,RUNTIME_CLASS(CTempView),CSize(0,0),pContext);m_viewportSplitter.CreateView(0,1,RUNTIME_CLASS(CTempView),CSize(0,cr.Height()/2),pContext);m_viewportSplitter.CreateView(1,0,RUNTIME_CLASS(CTempView),CSize(cr.Width()/2,0),pContext);m_viewportSplitter.CreateView(1,1,RUNTIME_CLASS(CTempView),CSize(0,0),pContext);但是程序运行之后四个拆分出的视图并不是平分了程序框架除了ControlBar和状态栏的空间,我看了一下运行之后的客户区大小,并不是除了除了ControlBar和状态栏的空间。请帮我看看是为什么?怎么解决?另外再问一下,我的拆分窗口类CSplitterWnd是我的程序里的CMainFrame的一个成员类,CSplitterWnd的成员函数能调用CMainFrame里的成员函数吗?
| | | |
|_____________|_____________| |
| | | |
|_____________|_____________| |
|_______________________________|__|左上是一个拆分窗口,分成四个视图(视图是CView的派生类),右侧是一个DialogBar,下面是状态栏我在CMainFrame的OnCreate函数里初始化生成右侧的DialogBar,在OnCreateClient函数里拆分视图,其中,拆分视图的代码是:CRect cr;
GetClientRect( &cr );if(!m_viewportSplitter.CreateStatic(this,2,2))
return false;
m_viewportSplitter.CreateView(0,0,RUNTIME_CLASS(CTempView),CSize(0,0),pContext);m_viewportSplitter.CreateView(0,1,RUNTIME_CLASS(CTempView),CSize(0,cr.Height()/2),pContext);m_viewportSplitter.CreateView(1,0,RUNTIME_CLASS(CTempView),CSize(cr.Width()/2,0),pContext);m_viewportSplitter.CreateView(1,1,RUNTIME_CLASS(CTempView),CSize(0,0),pContext);但是程序运行之后四个拆分出的视图并不是平分了程序框架除了ControlBar和状态栏的空间,我看了一下运行之后的客户区大小,并不是除了除了ControlBar和状态栏的空间。请帮我看看是为什么?怎么解决?另外再问一下,我的拆分窗口类CSplitterWnd是我的程序里的CMainFrame的一个成员类,CSplitterWnd的成员函数能调用CMainFrame里的成员函数吗?
把它放到OnCreateClient里面去怎么样。
原来做过一个程序,客户区应该是除了BAR之后的的吧。