请问如何实现拆分视图? 请问如何实现拆分视图?谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在CMainFrame类中声明: CSplitterWnd m_wndSplitter;BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT /*lpcs*/, CCreateContext* pContext){/////////////////////////// 设置每个视图的位置 //////////////////////////////// // create splitter window//将整个客户区划分为一行两列 if (!m_wndSplitter.CreateStatic(this, 1, 2)) return FALSE; //设置左边宽度 m_wndSplitter.SetColumnInfo(0, 200, 100); m_wndSplitter.SetColumnInfo(1, 232, 100); m_wndSplitter.CreateView(0, 0, RUNTIME_CLASS(CLeftView), CSize(0, 150), pContext); //加载右下视图 m_wndSplitter.CreateView(1, 0, RUNTIME_CLASS(CRightView), CSize(0, 0), pContext); return TRUE;} 要想增加窗口分割功能, 则必须修改主窗口类。首先,在主窗口类的头文件 MainFrm.h中添加以下代码:CsplitterWnd m-SWnd;Virtual BOOL OnCreateClient (LPCREATESTRUCTcs,CcreateContext *pContext);再在 MainFrm.cpp中添加成员函数 OnCreateClient的定义:BOOL CmainFrame::OnCreateCline(LPCREATESTRUCTcs,CcreateContext *p Context){ return m-SWnd.Creat(this,2,2,Csize(20,20),pContext);}新的CsplitterWnd类对象m-SWnd用于创建和管理分割窗口,该窗口中可以包含一个或多个面板。首次创建主窗口时,将调用成员函数 OnCreateClient。在缺省情况下,该函数创建一个填充主框窗口客户区的视图窗口。覆盖该函数后,将调用 CsplitterWnd的成员函数 Create来创建分割窗口。其中,第一个参数用于指定分割的父窗口(主窗口);第二个参数指定垂直方向上的面板个数为 2;第三个参数指定水平方向上的面板的个数;第四个参数用于设置每个面板的最小尺寸;第五个参数传递描述信息。上述分割窗口的每个面板都是由视图类对象管理的,当用户在某一面板内显示文档和图形时,必须在其它面板中重新绘制,从而在多个面板中均显示相同的内容。为此,必须调用显示文档类的 UpdateALLView成员函数来更新其它面板。此时,只需加入 pdoc->UpdataALLView(NULL) 即可。 VC如何用MYSQL提供的DLL函数删除已有的表 主窗口函数调用ExitThrea、TerminateThread程序无法退出 为什么RAS拨号后在通知区域没有连接状态的图标? 关于List上触发OnMouseMove搞定 总结感谢 无法显示自定义光标 完成端口 拼包 VC++里用ODBC连接数据库,为什么时间类型(CTime)无法显示 请问怎么把Picture控件跟CStatic联系起来? 第二次提问:odbc方式调用存储过程的疑问 真的没人会吗:有分请教:如何在CChildFrame框架中绘制按钮 简单的问题! 如何改变ListBox的背景色
CSplitterWnd m_wndSplitter;BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT /*lpcs*/,
CCreateContext* pContext)
{
/////////////////////////// 设置每个视图的位置 //////////////////////////////// // create splitter window//将整个客户区划分为一行两列
if (!m_wndSplitter.CreateStatic(this, 1, 2))
return FALSE; //设置左边宽度
m_wndSplitter.SetColumnInfo(0, 200, 100);
m_wndSplitter.SetColumnInfo(1, 232, 100);
m_wndSplitter.CreateView(0, 0, RUNTIME_CLASS(CLeftView), CSize(0, 150), pContext); //加载右下视图
m_wndSplitter.CreateView(1, 0, RUNTIME_CLASS(CRightView), CSize(0, 0), pContext);
return TRUE;
}
CsplitterWnd m-SWnd;
Virtual BOOL OnCreateClient (LPCREATESTRUCTcs,CcreateContext *pContext);
再在 MainFrm.cpp中添加成员函数 OnCreateClient的定义:
BOOL CmainFrame::OnCreateCline(LPCREATESTRUCTcs,CcreateContext *p Context)
{
return m-SWnd.Creat(this,2,2,Csize(20,20),pContext);
}
新的CsplitterWnd类对象m-SWnd用于创建和管理分割窗口,该窗口中可以包含一个或多个面板。首次创建主窗口时,将调用成员函数 OnCreateClient。在缺省情况下,该函数创建一个填充主框窗口客户区的视图窗口。覆盖该函数后,将调用 CsplitterWnd的成员函数 Create来创建分割窗口。其中,第一个参数用于指定分割的父窗口(主窗口);第二个参数指定垂直方向上的面板个数为 2;第三个参数指定水平方向上的面板的个数;第四个参数用于设置每个面板的最小尺寸;第五个参数传递描述信息。上述分割窗口的每个面板都是由视图类对象管理的,当用户在某一面板内显示文档和图形时,必须在其它面板中重新绘制,从而在多个面板中均显示相同的内容。为此,必须调用显示文档类的 UpdateALLView成员函数来更新其它面板。此时,只需加入 pdoc->UpdataALLView(NULL) 即可。