使用CSplitterWnd切分窗口,但是大小总是不对.什么原因呢?(附工程源码)
现在在学校做一个项目,使用了CSplitterWnd类,我想做的事情很简单,就是把一个view分成上下两个窗口,上面的高度为 窗口高度Height()*9/10,下面的为Height()*/10,但是我得到的界面里,上下两个窗口的高度总是不能符合这个比例,附件有工程文件,VC 6.0的,谢谢!
这是主要的代码:
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
// TODO: Add your specialized code here and/or call the base class
CRect cr;
GetWindowRect( &cr );
// 分成两行一列
m_splitter.CreateStatic(this, 2, 1 ) ;
//第一行的高度为.Height()*9/10 ,而第二行为.Height()/10
m_splitter.CreateView( 0, 0, RUNTIME_CLASS(CSplitterWindowView),
CSize(cr.Width(), cr.Height()*9/10), pContext);
m_splitter.CreateView( 1, 0, RUNTIME_CLASS(CFormViewDown),
CSize(cr.Width(), cr.Height()/10), pContext );
m_splitter.RecalcLayout();
return TRUE;
}
请达人们指点迷津....谢谢!
这是主要的代码:
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
// TODO: Add your specialized code here and/or call the base class
CRect cr;
GetWindowRect( &cr );
// 分成两行一列
m_splitter.CreateStatic(this, 2, 1 ) ;
//第一行的高度为.Height()*9/10 ,而第二行为.Height()/10
m_splitter.CreateView( 0, 0, RUNTIME_CLASS(CSplitterWindowView),
CSize(cr.Width(), cr.Height()*9/10), pContext);
m_splitter.CreateView( 1, 0, RUNTIME_CLASS(CFormViewDown),
CSize(cr.Width(), cr.Height()/10), pContext );
m_splitter.RecalcLayout();
return TRUE;
}
请达人们指点迷津....谢谢!
...全文
相关推荐
CSPlitterWnd_Demo.rar_CSplitterWnd_DEMO_wnd_切分窗口
对Visual C++中的切分窗口的示范使用,这是一个完整的功能,虽然功能简单,但对CSplitterWnd类的使用却是清晰明了!
使用CSplitterWnd切割窗口的方法和步骤
今天使用了下CSplitterWnd这个类,在网上看了很多相关资料,但是遗憾的是绝大部分不适合初学者来学习使用,因此特别写了个简单的demo供参考,其中还有一些截图,可以让人迅速学会如何使用这个类。
如何在MDI中动态切分窗口
如何在SDI中动态切分窗口
MFC 静态窗口切分
MFC 静态窗口切分,使用VC++6.0编译
MFC静态切分窗口与插入树型控件的组合
单文档切割窗口后,在切割后的窗口添加树型控件,根据左侧树形控件,调整右侧的视图,中间采用CSplitter静态切分


界面
