MFC分割窗口的问题

willy8686 2011-11-23 07:35:12
首先给CmainFrame类增加了成员变量CSplitterWnd m_wndSPlitter;
然后给CmainFrane类增加onCreateClient消息,最后在处理消息的代码如下:

BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)

    //创建2*2分割窗口
if(m_wndSplitter.Create(this,
2, 2,
CSize(100, 100), // 显示最小号20 * 20
pContext))
{
return TRUE;
}
else
{
TRACE0("创建切分窗体失败!");
return FALSE;
}
  return CFrameWnd::OnCreateClient(lpcs, pContext);


为什么运行以后看不到分割的窗口??希望高手能给予解决方案。谢谢!!
...全文
103 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lilithxuan 2011-11-24
  • 打赏
  • 举报
回复
网上一段代码:
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
//创建一个静态分栏窗口,分为一行二列
if(m_splitter.CreateStatic(this,1,2)==NULL)
return FALSE;

//将CCSplitterWndView连接到0行0列窗格上
m_splitter.CreateView(0,0,RUNTIME_CLASS(CCViewView),CSize(600,600), pContext);

if(m_splitter1.CreateStatic(&m_splitter,2,1,WS_CHILD|WS_VISIBLE,
m_splitter.IdFromRowCol(0, 1))==NULL)
return FALSE; //将第0行1列再分开2行1列
//将FormView1类连接到第二个分栏对象的0行0列
m_splitter1.CreateView(0,0,RUNTIME_CLASS(FormView1),CSize(200,400),pContext);
//将FormView2类连接到第二个分栏对象的1行0列
m_splitter1.CreateView(1,0,RUNTIME_CLASS(FormView2),CSize(200,200),pContext);
return TRUE;

}
跟你的对照下?
willy8686 2011-11-24
  • 打赏
  • 举报
回复
我做的是动态分割,不是静态分割,问题解决了,不过分给你们吧
非知名码农 2011-11-23
  • 打赏
  • 举报
回复
哥们, 你这肯定不对啊,还要CreateStatic CreateView呢。。看看书吧
  • 打赏
  • 举报
回复
还需要CreateView

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧