请教CSplitterWnd分割窗体的问题

budfly 2005-03-15 09:19:32
在单文档中使用CSplitterWnd.CreateStatic(this,2,1)分割窗体时,总是出现:“该内存不能为"read"。”的错误,而我以前在mdi中使用过这个方法是没有问题的,请问是什么原因?
...全文
185 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
侠雨飞飞 2005-06-28
  • 打赏
  • 举报
回复
俺也遇到同样问题
>_<
budfly 2005-03-16
  • 打赏
  • 举报
回复
错了,是在某个菜单上调用m_wndSplitterSystem.CreateStatic(this ,1, 2);没有问题
budfly 2005-03-16
  • 打赏
  • 举报
回复
即使什么都不做,也出现同样的问题。大家也可以试试看。我怀疑是不是MainFrame还没有创建,就已经开始调用BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)这个方法了,因为我在某个菜单上调用m_wndSplitterSystem.CreateView(0, 0, RUNTIME_CLASS(CSystemView), CSize(200, 0), pContext);是没有问题的。
whs1980 2005-03-16
  • 打赏
  • 举报
回复
那你新建一个项目,什么都不做,只做一个拆分窗口,看看还有没有问题.
budfly 2005-03-16
  • 打赏
  • 举报
回复
我也这样认为,但这句话没有涉及到其他的地方了,会不会是vc的设置有问题?我在两台机上调试,都出现相同的问题。 Unhandled exeption in xxxxxx.exe(MFC42.dll):0xC0000005:Access Violation
whs1980 2005-03-16
  • 打赏
  • 举报
回复
这句话看起来不会有错,楼主看看其他哪个地方是不是还有操作有问题呢
budfly 2005-03-15
  • 打赏
  • 举报
回复
呵呵,因为m_wndSplitterSystem.CreateStatic( this,1, 2);就出错,我把下面的部分注释掉了:
m_wndSplitterSystem.CreateView(0, 0, RUNTIME_CLASS(CSystemView), CSize(200, 0), pContext);
菜牛 2005-03-15
  • 打赏
  • 举报
回复
太简单了吧,还没有CreateView呢。
budfly 2005-03-15
  • 打赏
  • 举报
回复
MainFrame.h
private:(或者protected:)
CSplitterWnd m_wndSplitterSystem;

MainFrame.cpp
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
// TODO: Add your specialized code here and/or call the base class
m_wndSplitterSystem.CreateStatic( this,1, 2);
return true;
}
就这么简单已经出错了
mahatma_cn 2005-03-15
  • 打赏
  • 举报
回复
怎么控制分割后的两个窗体
-------------------
vc向导提供你说的控制~~~~~~

to 搂住:
多点代码出来!!
tganan 2005-03-15
  • 打赏
  • 举报
回复
跟着你的问题问一下,怎么控制分割后的两个窗体!谢谢!有会的告诉我啊!谢谢!

15,980

社区成员

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

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