拆分CVIEW视图的困惑-不在OnCreateClient中调用 - 100分。

tomPeakz 2002-08-14 12:02:53
是这样的,我这个程序是单文档框架 + 多个视图
其中各个视图是由MFC扩展DLL提供的,也就是我自己做了动态的替换,比如用户点击
一个按钮,就换成某个DLL中的视图。
现在的问题是,我在某个DLL 视图中需要分割窗口,比如分成左右两个,
所以,我在这个视图的OnCreate中写了:
//创建窗口
VERIFY(m_spWnd.CreateStatic(this,1,2));
VERIFY(m_spWnd.CreateView(0,0,RUNTIME_CLASS(CLeftView),
CSize(0,0),(CCreateContext*)lpCreateStruct->lpCreateParams));
VERIFY(m_spWnd.CreateView(0,1,RUNTIME_CLASS(CRightView),
CSize(0,0),(CCreateContext*)lpCreateStruct->lpCreateParams));
m_spWnd.RecalcLayout();
AfxMessageBox("Create"); //执行正常

问题是,我测试点击按钮更换视图的时候,无法看到任何分割条、窗口,还是空白
的?这是怎么回事?如何解决?100分。
...全文
121 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
tomPeakz 2002-08-14
  • 打赏
  • 举报
回复
又查了一下,可以创建左边的窗口,改错了。
tomPeakz 2002-08-14
  • 打赏
  • 举报
回复
刚才检查了运行结果,发现VERIFY(m_spWnd.CreateView(0,0,RUNTIME_CLASS(CLeftView),
CSize(0,0),(CCreateContext*)lpCreateStruct->lpCreateParams));
返回是错误的,无法创建左边的窗口。
tomPeakz 2002-08-14
  • 打赏
  • 举报
回复
to scklotz(晓春) 有代码示例吗?
好像主意不错。
scklotz 2002-08-14
  • 打赏
  • 举报
回复
我建议你一种方案:

新建立一个派生自CFrameWnd的框架,你在里面用OnCreateClient创建分割条和view。

至于新Frame 的创建,你只需要给他就可以了(CCreateContext*)lpCreateStruct->lpCreateParams))

切换视图的时候,直接切换到另一个新的Frame
或者只有一个新Frame, 用CSplitterWnd::CreateView/DeleteView
================================================================
长恨此身非我有/何时忘却营营/夜阑风静觳纹平/小舟从此逝/江海寄余生
================================================================
tomPeakz 2002-08-14
  • 打赏
  • 举报
回复
倒。。。
我要问的是,拆分视图,但是不在框架里面。
拆分出来的有问题:
1:分割条无法拖动?
2:动态替换的视图大小有问题,改变框架大小时,它不动。
scklotz 2002-08-14
  • 打赏
  • 举报
回复
你究竟想要问什么。。。
================================================================
长恨此身非我有/何时忘却营营/夜阑风静觳纹平/小舟从此逝/江海寄余生
================================================================

16,467

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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