CSplitterWnd
От: Enver  
Дата: 09.05.01 20:06
Оценка:
Кто нить знает как разбить окно
вот таким образом
____________________
| | |
| | |
--------------------
| |
| |
| |
--------------------
С помощью Splittera?
Re: CSplitterWnd
От: Willi  
Дата: 10.05.01 05:59
Оценка:
Здравствуйте Enver, вы писали:

E>Кто нить знает как разбить окно

E>вот таким образом
E>____________________
E>| | |
E>| | |
E>--------------------
E>| |
E>| |
E>| |
E>--------------------
E>С помощью Splittera?

Во фрейм добавляем два сплиттера
и обработчик OnCreateClient

...
class CChildFrame : public CMDIChildWnd
{
...
protected:
CSplitterWnd m_splitHorz;
CSplitterWnd m_splitVertTop;

// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CChildFrame)
...
protected:
virtual BOOL OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext);
//}}AFX_VIRTUAL
...
};

имплементация OnCreateClient

BOOL CChildFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
if(!m_splitHorz.CreateStatic(this, 2, 1))
{
TRACE("Falied to create horizontal splitter!\n");
return FALSE;
}

if(!m_splitVertTop.CreateStatic(&m_splitHorz, 1, 2, WS_CHILD | WS_VISIBLE | WS_BORDER, m_splitHorz.IdFromRowCol(0, 0)))
{
TRACE("Falied to create vertical top splitter!\n");
return FALSE;
}

m_splitHorz.SetRowInfo(0, 150, 50);

if(!m_splitVertTop.CreateView(0, 0, RUNTIME_CLASS(CSplitTestView), CSize(100, 0), pContext))
{
TRACE("Falied to create top view 1!\n");
return FALSE;
}
if(!m_splitVertTop.CreateView(0, 1, RUNTIME_CLASS(CSplitTestView), CSize(100, 0), pContext))
{
TRACE("Falied to create top view 2!\n");
return FALSE;
}

if(!m_splitHorz.CreateView(1, 0, RUNTIME_CLASS(CSplitTestView), CSize(150, 0), pContext))
{
TRACE("Falied to create bottom view!\n");
return FALSE;
}

return TRUE;
}
\/\/i||i
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.