切分窗口通信与线程冲突

fisi793419093 fisi793419093 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
// TODO: 在此添加专用代码和/或调用基类
m_wndSplitter.CreateStatic(this,2,2);
int Screen_Width = GetSystemMetrics(SM_CXSCREEN);
int Screen_Height = GetSystemMetrics(SM_CYSCREEN);
CSize panesize1(Screen_Width,72*Screen_Height/100);
CSize panesize2(Screen_Width,28*Screen_Height/100);
m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(CSeismic_CudaView), panesize1,pContext);
m_wndSplitter.CreateView(0,1,RUNTIME_CLASS(CSliceViw), panesize1,pContext);
m_wndSplitter.CreateView(1,0,RUNTIME_CLASS(CControlView), panesize2,pContext);
m_wndSplitter.CreateView(1,1,RUNTIME_CLASS(CSliceControl), panesize2,pContext);
m_wndSplitter.HideSplitter();
return TRUE;
}


CView *CSeismic_CudaView::GetVolumeControlView()
{
CSeismic_CudaApp *pApp = (CSeismic_CudaApp *)AfxGetApp();
CMainFrame *pFrame = (CMainFrame *)pApp->m_pMainWnd;
CFormView *pView = (CFormView *)pFrame->m_wndSplitter.GetPane(1,0);
return pView;
}

我新开了个线程实现CSeismic_CudaView视图的显示,并与CControlView建立通信,用CControlView控制CSeismic_CudaView的显示, 在线程函数里调用了GetVolumeControlView() ,在执行到CFormView *pView = (CFormView *)pFrame->m_wndSplitter.GetPane(1,0);就中断了!在网上搜了好几天了,实在找不到好的解决方法!who can help me?
...全文

相关推荐

评论 7
收藏 已收藏
分享
返回顶部
fisi793419093
VC/MFC 16,550 成员 421,606 内容