Здравствуйте!
У меня MDI приложение в нём есть дочернее окно с CListView.
С помощью изменения функции OnCreateClient создаю сплитер с двумя окнами.
BOOL CChildFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
/*return CMDIChildWnd::OnCreateClient(lpcs, pContext);*/
CRect rf;
GetClientRect(rf);
if(!m_wndSplitter2.CreateStatic(this, 2, 1))
return FALSE;
if(!m_wndSplitter2.CreateView(0, 0, RUNTIME_CLASS(CSplitter2View), CSize(0, rf.bottom/2), pContext))
return FALSE;
if(!m_wndSplitter2.CreateView(1, 0, RUNTIME_CLASS(CSplitter2View), CSize(0, rf.bottom/2), pContext))
return FALSE;
return TRUE;
}
Вопрос:
Как создавать и отдельно окно (несколько отдельных окон), и сплитер, и чтоб можно было программно переключаться
между ними.
Попробуйте создавать сразу сплиттер и другие ваши окна и делать их скрытыми. А в дальнейшем изменяйте это свойство.
if(!m_wndSplitter2.CreateStatic(this, 2, 1))
return FALSE;
...
m_wndSplitter2.ShowWindow(0);
a=this->CreateView(pContext,59648);
a.ShowWindow(0);
Здравствуйте, Pest, Вы писали:
P>Попробуйте создавать сразу сплиттер и другие ваши окна и делать их скрытыми. А в дальнейшем изменяйте это свойство.
P>P>if(!m_wndSplitter2.CreateStatic(this, 2, 1))
P> return FALSE;
P>...
P>m_wndSplitter2.ShowWindow(0);
P>a=this->CreateView(pContext,59648);
P>a.ShowWindow(0);
P>
Так пробавал. Окна открываются, но не перерисовываются. При открытии отдельных окон и тыкании на них мышкой — проступают окна со сплитером. А сами отдельные окна почему-то слегка выступают за рамки клиентской области. Чего делать-то? Где бы хотя бы прочитать про подобные вещи или пример какой-нибудь увидеть...