弱问:创建静态切分窗口时候
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
if (!m_wndSplitter.CreateStatic(this, 1, 2))
return FALSE;
if (!m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(CSSplitView),CSize(150,100),pContext)||
!m_wndSplitter.CreateView(0,1,RUNTIME_CLASS(CArtView),CSize(100,100),pContext))
{
m_wndSplitter.DestroyWindow();
return FALSE;
}
return TRUE;
在第一个if语句添加上{}的话,运行时候就出错,去掉{}就运行正确,这是为什么呢?
谢谢~~
------解决方案--------------------------------------------------------
if (!m_wndSplitter.CreateStatic(this, 1, 2))
表示创建失败,加上{}后,在创建成功时{}中的代码不会执行,CreateStatic成功但没有CreateView当然出错。
------解决方案--------------------------------------------------------
呵呵}位置错了
if (!m_wndSplitter.CreateStatic(this, 1, 2))
{
return FALSE;
if (!m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(CSSplitView),CSize(150,100),pContext)||
!m_wndSplitter.CreateView(0,1,RUNTIME_CLASS(CArtView),CSize(100,100),pContext))
{
m_wndSplitter.DestroyWindow();
return FALSE;
}
}
改为
if (!m_wndSplitter.CreateStatic(this, 1, 2))
{
return FALSE;
}
if (!m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(CSSplitView),CSize(150,100),pContext)||
!m_wndSplitter.CreateView(0,1,RUNTIME_CLASS(CArtView),CSize(100,100),pContext))
{
m_wndSplitter.DestroyWindow();
return FALSE;
}