毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 开发语言 >> 正文

vc分割视图导致OnCreateclinet崩溃

更新时间:2012-11-29:  来源:毕业论文

BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) {     // TODO: 在此添加专用代码和/或调用基类       m_splitterWnd.CreateStatic(this,2,1);     m_splitterWnd2.CreateStatic(&m_splitterWnd,1,2);       CRect rect;     GetClientRect(&rect);       /*m_splitterWnd.CreateView(0,0,RUNTIME_CLASS(CSpiltterWndView),CSize(0,0),pContext);     m_splitterWnd.CreateView(0,1,RUNTIME_CLASS(CMyFormView),CSize(0,0),pContext);       m_splitterWnd2.CreateView(1,0,RUNTIME_CLASS(CMyScrollView),CSize(0,0),pContext);*/      return CFrameWnd::OnCreateClient(lpcs, pContext); }

//if (!pDocTemplate)     //  return FALSE;     //AddDocTemplate(pDocTemplate);           //// 分析标准外壳命令、DDE、打开文件操作的命令行     //CCommandLineInfo cmdInfo;     //ParseCommandLine(cmdInfo);         //// 调度在命令行中指定的命令。如果     //// 用 /RegServer、/Register、/Unregserver 或 /Unregister 启动应用程序,则返回 FALSE。     //if (!ProcessShellCommand(cmdInfo))     //  return FALSE;       CMainFrame* pTmpMainFrame=new CMainFrame;     pTmpMainFrame->LoadFrame(IDR_MAINFRAME);     m_pMainWnd=pTmpMainFrame;       // 唯一的一个窗口已初始化,因此显示它并对其进行更新     m_pMainWnd->ShowWindow(SW_SHOW);     m_pMainWnd->UpdateWindow();     // 仅当具有后缀时才调用 DragAcceptFiles     //  在 SDI 应用程序中,这应在 ProcessShellCommand 之后发生     return TRUE; }


m_splitterWnd2.CreateStatic(&m_splitterWnd,1,2);
你的最后一个默认参数是把m_splitterWnd的第一个空位给占了
m_splitterWnd.CreateView(0,0,RUNTIME_CLASS(CSpiltterWndView),CSize(0,0),pContext);也是占第一个空位,所以出现故障.
如果你的split2是嵌套在split1里面的,应该使用CSplitterWnd::IdFromRowCol()规划一下
split2和view1在split1里面,view2,view3在split2里面...

以下是我以前程序中实现的窗口切分代码,楼主可以参考下:

if (!m_wndSplitter.CreateStatic(this, 1, 2))
   return false;

CRect rect;
GetClientRect(&rect);
if (!m_wndSplitter.CreateView(0, 0, RUNTIME_CLASS(CViewParam), CSize(rect.Width()- 220, rect.Height()), pContext))
return false;
m_pviewparam = (CViewParam*)m_wndSplitter.GetPane(0,0);


if (!m_wndSplitter.CreateView(0, 1, RUNTIME_CLASS(CViewInfo), CSize(220, rect.Height()), pContext))
return false;
m_pviewinfo = (CViewInfo*)m_wndSplitter.GetPane(0,1);


return CFrameWnd::OnCreateClient(lpcs, pContext);

if(!m_wndSplitter.CreateStatic(this,1,2))
{
TRACE("Failed to Create m_wndSplitter");
return false;
}

if(!m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(CDeviceTreeView),CSize(0,0),pContext))
{
TRACE("Failed to Create CDeviceTreeView!");
return false;
}

if(!m_wndSplitter2.CreateStatic(&m_wndSplitter,2,1,WS_CHILD|WS_VISIBLE|TCS_FLATBUTTONS,m_wndSplitter.IdFromRowCol(0,1)))
{
TRACE("Failed to Create COperatorTabCtrl!");
return false;
}

if(!m_wndSplitter2.CreateView(1,0,RUNTIME_CLASS(CMsgListView),CSize(0,0),pContext))
{
TRACE("Failed to Create CMsgListView!");
return false;
}

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。