社区
界面
帖子详情
调用CView* pView=(CView*)m_wndSplitter.GetPane(0,1)出错误
afairycell
2011-09-13 02:25:29
一直都是没事的,今天突然在切换窗口时弹出这个错误。
0x78fdef48 (mfc100d.dll) 处有未经处理的异常: 0xC0000005: 读取位置 0xcdce52bd 时发生访问冲突
其他的切换就没问题,就是这里突然调用不了,求指教。。
...全文
523
6
打赏
收藏
调用CView* pView=(CView*)m_wndSplitter.GetPane(0,1)出错误
一直都是没事的,今天突然在切换窗口时弹出这个错误。 0x78fdef48 (mfc100d.dll) 处有未经处理的异常: 0xC0000005: 读取位置 0xcdce52bd 时发生访问冲突 其他的切换就没问题,就是这里突然调用不了,求指教。。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
向立天
2011-10-08
打赏
举报
回复
您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了
疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知
见此回复三日内无回应
我们将强制结帖
相关规定详见界面
界面版关于版主结帖工作的具体办法
afairycell
2011-09-13
打赏
举报
回复
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs,CCreateContext *pContext)
{
if (!m_wndSplitter.CreateStatic(this,1,2))
{
return FALSE;
}
CRect rect;
GetClientRect(rect);
if (!m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(CTreeList),CSize(180,100),pContext)
||!m_wndSplitter.CreateView(0,1,RUNTIME_CLASS(CDefault),CSize(100,100),pContext))
{
m_wndSplitter.DestroyWindow();
return FALSE;
}
CView* pView=(CView*)m_wndSplitter.GetPane(0,0);
((CTreeList *)pView)->takeM(this);
return TRUE;
}
恶汗,贴错了。。
dushun1000
2011-09-13
打赏
举报
回复
单个语句应该是没问题的,可能响应上不对吧
窗口划分是写在OnCreateClient中的,贴OnCreate有什么用啊
afairycell
2011-09-13
打赏
举报
回复
不会错的吧,一直这么用,就是改着改着突然出现这个错误,神奇了,我跳过那步直接收数据解决了问题,但是还是很想知道原因,有人和我出现过同样错误吗?
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;
if (!m_wndStatusBar.Create(this) ||
!m_wndStatusBar.SetIndicators(indicators,
sizeof(indicators)/sizeof(UINT)))
{
TRACE0("未能创建状态栏\n");
return -1; // 未能创建
}
// TODO: 如果不需要工具栏可停靠,则删除这三行
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
// EnableDocking(CBRS_ALIGN_ANY);
// DockControlBar(&m_wndToolBar);
// 获取窗口的菜单句柄
//SetMenu(NULL);
return 0;
}
zjjhglem
2011-09-13
打赏
举报
回复
是这条语句错了,还是在那个整个函数中错了?
LZ贴下createclient()的代码吧
oyljerry
2011-09-13
打赏
举报
回复
这个时候调用的时候先看m_wndSplitter是否正确.才能调用后面的GetPane
视图间通信方法
在CMainFrame类中
调用
成员变量m_
wn
dSp
litter
的Get
Pane
()方法,得到需要的视图的指针并做强制类型转换即可。 或者先
调用
CMainFrame* pMainFrame = (CMainFrame*)AfxGetMain
Wn
d();得到CMainFrame的指针,再做...
问题集锦(36-40)
1.前言 在gcc编程中,我们比较经常用到的字符格式化输
出
函数是printf的,实际上gcc继承了c语言处理字符具有强大功能的风格,它提供了一系列的格式化输
出
函数,主要存在两个库函数文件stdio.h/stdarg.h中...
MFC分割窗口知识
知识点滴积累 勿喷! 一、CREATE
VIEW
(百度百科) http://baike.baidu.com/link?url=x2KYwDJeYNgSEnIxrgUmp8iO5gzE7R0Ed8QeV_S4MCp_EyfruammLQq7AsX4BzA2fkDX3buuj6Kny8OJyed0ta
获取视图句柄
CMainFrame* main = (CMainFrame*)AfxGetApp()->m_pMain
Wn
d;...
wn
dSp
litter
.Get
Pane
(0,0);//获得CMsmonitor
View
窗口指针 H
WN
D mh
wn
d = p
Pane
Show->m_h
Wn
d;//由指针获得句柄 ------------------...
切换视图
void CMainFrame::OnOrderSearch(){ C
View
* p
View
= NULL ; CRuntimeClass* pNew
View
Class; pNew
View
Class = RUNTIME_CLASS(CSearchInfo
View
); CCreateContext context; context.m_pNew
View
Class = pNew
View
界面
15,979
社区成员
115,896
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章