VC分割窗口后限制分割条移动范围
添加时间: 2006-2-10 23:53:23 作者: VC教程 阅读次数:253 来源: http://www.d9soft.com
一、新建一个类CMySplitter,基类为CSplitterWnd
二、重载该类的OnMouseMove函数:
void CMySplitter::OnMouseMove(UINT nFlags, CPoint point)
{
// 限制切分条的运动范围。
if(point.x<228point.x>600)
{
CWnd::OnMouseMove(nFlags, point);
}
else
{
CSplitterWnd::OnMouseMove(nFlags, point);
}
}
三、 然后就可以跟一般的窗口分割那样去做了,if(point.x<228point.x>600)这里的范围可以随你去设置了,够简单吧。
四、切分窗口
切分窗口就不用讲那么详细了,在MaiFram.h建立切分条对象:
protected:
CMySplitter m_wndSplitter; //切分窗口对象
//在MaiFram.cpp中实现窗口切分:
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT /*lpcs*/,CCreateContext* pContext)
{
// 创建拆分器窗口
if (!m_wndSplitter.CreateStatic(this, 1, 2))
return FALSE;
if (!m_wndSplitter.CreateView(0, 0, RUNTIME_CLASS(CLeftView), CSize(228, 100), pContext)
!m_wndSplitter.CreateView(0, 1, RUNTIME_CLASS(CDataEditView), CSize(100, 100), pContext))
{
m_wndSplitter.DestroyWindow();
return FALSE;
}
return TRUE;
}
上下文章:
上一篇文章: VC++中查找/替换对话框的使用 下一篇文章: VC文件扩展名解读大全

