Stworzylem sobie w Visual Studio 2005 nowy projekt aplikacji wizardem (SDI, dok/wid, Windows Explorer, spliter). No i wygenerował mi się piekny spliter tylko, że statyczny. A ja potrzebuję dynamicznego i chcę to zmienić.
W pliku ramki wygenerował się następujący kod splitera statycznego:
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
// create splitter window
if (!m_wndSplitter.CreateStatic(this, 1, 2))
return FALSE;
if (!m_wndSplitter.CreateView(0, 0, RUNTIME_CLASS(CLeftView), CSize(100, 100), pContext) ||
!m_wndSplitter.CreateView(0, 1, RUNTIME_CLASS(CRightView), CSize(100, 100), pContext))
{
m_wndSplitter.DestroyWindow();
return FALSE;
}
return TRUE;
}
Próbowałem zmienić to na dynamiczny mniej więcej tak:
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
// create splitter window
if (!m_wndSplitter.Create(this, 2, 1, CSize(10, 10), pContext))
{
TRACE0("Failed to create split bar ");
return FALSE; // failed to create
}
return TRUE;
}
No i oczywiscie to nie dziala. Prawdopodobnie trzeba cos jeszcze zmienic, moze cos z widokami?
Jesli ktos sie orientuje w czym rzecz, prosze o wskazowki.
</cpp>
Dodam tylko ze pojawia sie brzyskie okienko z jakims bledem:
Debug Assertion Failed
f:/sp/vctools/vc7libs/ship/atlmfc/src/mfc/winsplit.cpp
On Line: 331
i tyle..