Класс - разделитель окнаАвтор: Ran Wainstein
IntroductionОбычно для разделения окна в "T"-образном
виде требуется использовать обычный сплиттер, но
когда необходимо быстро это сделать, то приходит
на помощь класс
Для создания одного из предложенных вариантов разбиения необходимо :
typedef enum { PATTERN_1 , PATTERN_2 , PATTERN_3 , PATTERN_4 , PATTERN_5 , PATTERN_6 , }SPLIT_PATTERN; Пример: BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs,CCreateContext* pContext)
{
// TODO: Add your specialized code here and/or call the base class
m_pTopWndSplitter = new CExSplitter3Wnd;
m_pTopWndSplitter->SetStyle(WS_CHILD | WS_VISIBLE | WS_BORDER);
m_pTopWndSplitter->SetFirstViewSize(CSize(100,100));
m_pTopWndSplitter->SetSecondViewSize(CSize(100,200));
m_pTopWndSplitter->SetThirdViewSize(CSize(100,100));
m_pTopWndSplitter->SetPattern(this,PATTERN_1,
RUNTIME_CLASS(CTestSplitView),RUNTIME_CLASS(CSecView),
RUNTIME_CLASS(CThirdView),pContext);
return TRUE;
}
Вы так же можете получить размеры каждого окошка путём вызова следующих функций (для каждого окошка First, second, third, имеется своя функция: void GetFirsWndDim(int* nCurrDim,int* nMinDim); void GetSecWndDim(int* nCurrDim,int* nMinDim); void GetThirdWndDim(int* nCurrDim,int* nMinDim);
|