Как сделать отдельное окно и сплитер?
От: qwedsazxc  
Дата: 13.12.09 13:07
Оценка:
Здравствуйте!
У меня 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;
}

Вопрос:
Как создавать и отдельно окно (несколько отдельных окон), и сплитер, и чтоб можно было программно переключаться
между ними.
Re: Как сделать отдельное окно и сплитер?
От: Pest  
Дата: 14.12.09 07:29
Оценка:
Попробуйте создавать сразу сплиттер и другие ваши окна и делать их скрытыми. А в дальнейшем изменяйте это свойство.
if(!m_wndSplitter2.CreateStatic(this, 2, 1))
        return FALSE;
...
m_wndSplitter2.ShowWindow(0);

a=this->CreateView(pContext,59648);
a.ShowWindow(0);
Re[2]: Как сделать отдельное окно и сплитер?
От: qwedsazxc  
Дата: 14.12.09 17:23
Оценка:
Здравствуйте, 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>

Так пробавал. Окна открываются, но не перерисовываются. При открытии отдельных окон и тыкании на них мышкой — проступают окна со сплитером. А сами отдельные окна почему-то слегка выступают за рамки клиентской области. Чего делать-то? Где бы хотя бы прочитать про подобные вещи или пример какой-нибудь увидеть...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.