SDI程序拆分窗口问题

EisenHammer 2005-10-01 12:48:47
做了一个SDI程序,已经把CSplitterWnd成员变量加入了CMainFrame类中,且已经重载了OnCreateClient并且在其中已经有了代码:m_wndSplitter.Create(this, 2, 1, CSize(2, 2), pContext)。可是程序运行时,并没有被拆分成2行1列,而是跟没有拆分一个样。书上说这样就可以了,而我不知道我的程序为什么不行。

我想将窗口拆分成3块,上面2块用于显示2幅图片(一幅是另一幅的计算结果,不知道是不是需要2个Doc类或者2个Doc类实例),下面一块用于显示一个FormView,不知可不可以,哪位指点一下该怎么做。
...全文
282 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
pedestrian829 2005-11-07
  • 打赏
  • 举报
回复
对,加头文件,我昨天也和你出现的问题一样,后来加头文件就好了!
goodboyws 2005-11-07
  • 打赏
  • 举报
回复
第二没什么特别的,直接在OnCreateClient处理就可以了
zll_hit 2005-10-24
  • 打赏
  • 举报
回复
同问第二个问题
没有人能回答吗
EisenHammer 2005-10-05
  • 打赏
  • 举报
回复
我用了两个Splitter,第一个分成2行1列,第二个在第一个的(0,0)处分成1行2列。都是用的CreateStatic函数拆分的。这个时候不管先在哪里CreateView,第一个Splitter的(0,0)高度总是0(只拆分1次的时候高度是可以正常设置的)。
EisenHammer 2005-10-01
  • 打赏
  • 举报
回复
我照这个代码,可是不行!

在RUNTIME_CLASS那里出错:

F:\PROJECT\CPP\VIDEOPRO\BMPProc\MainFrm.cpp(82) : error C2653: 'CFormParamView' : is not a class or namespace name
F:\PROJECT\CPP\VIDEOPRO\BMPProc\MainFrm.cpp(82) : error C2065: 'classCFormParamView' : undeclared identifier

CFormParamView是我从CFormView继承的类。其他从CScrollView继承的类也报同样的错误!不知道为什么!——哪位高手指点一下!非常感谢!
sungodjava 2005-10-01
  • 打赏
  • 举报
回复
需要给他们创建视图,比如下面
BOOL CMainFrame::OnCreateClient( LPCREATESTRUCT /*lpcs*/, CCreateContext* pContext)
{ //创建一个静态分栏窗口,分为三行一列
if(m_wndSplitter1.CreateStatic(this,3,1)==NULL)
return FALSE;
//将CCuteFTPView连接到0行0列窗格上
m_wndSplitter1.CreateView(0,0,RUNTIME_CLASS(CCuteFTPView),CSize(100,100), pContext);
m_wndSplitter1.CreateView(2,0,RUNTIME_CLASS(CView4),CSize(100,100),pContext);
//将CView4连接到0行2列
if(m_wndSplitter2.CreateStatic(&m_wndSplitter,1,2,WS_CHILD|WS_VISIBLE,
m_wndSplitter.IdFromRowCol(1, 0))==NULL)
return FALSE; //将第1行0列再分开1行2列
//将CView2类连接到第二个分栏对象的0行0列
m_wndSplitter2.CreateView(0,0,RUNTIME_CLASS(CView2),CSize(400,300),pContext);
//将CView3类连接到第二个分栏对象的0行1列
m_wndSplitter2.CreateView(0,1,RUNTIME_CLASS(CView3),CSize(400,300),pContext);
return TRUE;
}
只是一个例子,并不是针对你的需求,参考改动一下就可以了。
sungodjava 2005-10-01
  • 打赏
  • 举报
回复
加上'CFormParamView' 它的头文件,或在MainFrm.h中public部分加上class FormParamView,类似这个意思,参考一下。
总的来说应该是你没有把需要的类关联进来。

15,979

社区成员

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

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