为什么用CSplitterWnd分割的窗口不显示

directxm 2006-08-03 01:08:04
我用CSplitterWnd分割的窗口,分好后不显示,视窗还是一个
if (!m_wndSplitterH.CreateStatic(this, 2, 1))
return -1;

if (!m_wndSplitterH.CreateView(0, 0, RUNTIME_CLASS(CSQLDoc), CSize(100, 30), pContext) ||
!m_wndSplitterH.CreateView(1, 0, RUNTIME_CLASS(CRecordsView), CSize(0, 100), pContext))
{
m_wndSplitterH.DestroyWindow();
return -1;
}
内容如上,
CSQLDoc和CRecordsView都是用类向导生成的view类,没有进行改动。
...全文
316 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
lucifer_hx 2006-09-25
  • 打赏
  • 举报
回复
楼主的这种情况的类似情况我遇到过,我当时用的是单视图,怎么分都不行,后来换成单文档视图就好了
thesuper 2006-09-25
  • 打赏
  • 举报
回复
应该是最后 retrun TRUE
我是潘东东 2006-09-25
  • 打赏
  • 举报
回复
最后return CFrameWnd::OnCreateClient(lpcs, pContext);
改为return TRUE;就好了
我是潘东东 2006-09-25
  • 打赏
  • 举报
回复
我也跟LZ的问题一样~~
我在ONCREATECLIENT下写的

if (!m_split.CreateStatic(this,1,2)||!m_split.CreateView(0,0,RUNTIME_CLASS(CViewI),CSize(100,100),pContext)||!m_split.CreateView(0,1,RUNTIME_CLASS(CViewII),CSize(200,200),pContext))
{
return FALSE;
}
没问题吧???
xundeng 2006-08-15
  • 打赏
  • 举报
回复
应该是最后 retrun TRUE
yinyi1985 2006-08-03
  • 打赏
  • 举报
回复
应该没问题的吧。

你确定那个一定是个view?
而且你确定你这段代码是放在MainFrame的OnCreateClient里吗?

建一个splitterwnd就三部,在mainframe里加一个CSplitterWnd对象
在OnCreateClient里创建这个对象,CreateStatic,然后给创建的对象创建view(CreateView)

对了,我把你代码copy过来我可以用的,所以也不是那几个数字参数的问题
你看看是不是你没加在OnCreateClient吧。。
thesuper 2006-08-03
  • 打赏
  • 举报
回复
在VIEW的最上面有没有看到滚动条?
directxm 2006-08-03
  • 打赏
  • 举报
回复
没有问题的,我只是名子这么起的,肯定都是view类,要不程序会crash的。
ignoramuspp 2006-08-03
  • 打赏
  • 举报
回复
你确定CSQLDoc是view类?
看名字象是doc类啊
不是CSQLView么?
directxm 2006-08-03
  • 打赏
  • 举报
回复
我在分割的窗口的代码下面写了如SetRowInfo()了,可是还不成,我还是看不到窗体被分割了。还会是哪的问题。
thesuper 2006-08-03
  • 打赏
  • 举报
回复
用SetRowInfo()
如:
m_wndSplitter1.SetRowInfo(0,rc.Height()/5*4,10);

15,976

社区成员

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

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