MFC切分窗口后固定窗口大小

程序是切分窗口成一个两行一列,上面一行是一行两列的功能。但是切分窗口完成之后我想实现每个窗口固定大小的效果,不知道怎么完成啊!求教大家!下面是程序:BOOLCMainFr... 程序是切分窗口成一个两行一列,上面一行是一行两列的功能。但是切分窗口完成之后我想实现每个窗口固定大小的效果,不知道怎么完成啊!求教大家!
下面是程序:
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT /*lpcs*/,
CCreateContext* pContext)
{

CRect cr;
GetClientRect(&cr);

//创建一个静态分栏窗口,分为2行1列
if (NULL == m_wndSplitter.CreateStatic(this, 2, 1))
return false;

//将CExampleView连接到1行0列窗格上
m_wndSplitter.CreateView(1, 0, RUNTIME_CLASS(CTest1View), CSize(250, 250), pContext);

//将第0行0列再分开1行2列
if(m_wndSplitter1.CreateStatic(&m_wndSplitter,1,2,WS_CHILD|WS_VISIBLE, m_wndSplitter.IdFromRowCol(0, 0))==NULL)
return FALSE;

//将CExample1View类连接到第二个分栏对象的0行0列
m_wndSplitter1.CreateView(0, 0, RUNTIME_CLASS(CTest1Dlg), CSize(250, 250), pContext);

//将CExample2View类连接到第二个分栏对象的0行1列
m_wndSplitter1.CreateView(0, 1, RUNTIME_CLASS(CTest2View), CSize(250, 250), pContext);

return TRUE;
}
展开
 我来答
X51561241
2011-11-11 · 超过12用户采纳过TA的回答
知道小有建树答主
回答量:24
采纳率:0%
帮助的人:25.9万
展开全部
一、新建一个类CMySplitter,基类为CSplitterWnd。(注:在ClassWizard中你可能找不到基类CSplitteWnd,可以先使其派生至generic Wnd,然后手动将文件中Wnd换成CSplitterWnd)

二,使新建的类CMySplitter的对象成为CMainFrame的成员,在CMainFrame::OnCreateClient中建立分割窗口。

三,锁定切分条
当用户创建好分割窗口后,有时并不希望通过拖动切分条来调节窗口的大小。这时就必须锁定切分条。锁定切分条的最简单的方法莫过于不让CSplitterWnd来处理WM_LBUTTONDOWN,WM_MOUSEMOVE,WM_SETCURSOR消息,而是将这些消息交给CWnd窗口进行处理,从而屏蔽掉这些消息。拿WM_LBUTTONDOWN处理过程来说。修改为如下:
void CMySplitterWnd::OnLButtonDown(UINT nFlags,CPoint point) {
CWnd::OnLButtonDown(nFlags,point);
}

其余的处理方法类似。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式