Динамический разделитель после создания проекта мождо добавить двумя способами:
Давайте создадим проект как MFC AppWizard с именем TestSL1, потом SDI и все. Разделитель мы добавим позднее. Сейчас мы воспользуемся VC++ Components. Идем в Project, дальше Add to Project -> Component and Controls. Идем в папку Visual C++ Components. Находим Splitter Bar.
И нажимаем Insert. Вас спросят будем вставлять или нет. Скажите ДА, следующим окном будет окно настройки разделителя.
Выберите Both и нажмите OK. После этого все необходимое для класса использования будет создано. Давайте создадим пункт меню в View с именем Splitter и обработкой в CMainFrame:
void CMainFrame::OnViewSplitter() { m_wndSplitter.DoKeyboardSplit(); }
Функция DoKeyboardSplit() позволяет Вам установить разделитель.
virtual BOOL DoKeyboardSplit( );
Если Вы хотите устанавливать разделитель скажем по двойному щелчку правой кнопки, то Вам придется сначала добраться до класса CMainFrame. В классе CMainFrame написать публичную функцию, скажем, ViewSliptter() и там написать код. В файле реализации класса вида объявляем заголовок класса CMainFrame:
// TestSL1View.cpp : implementation of the CTestSL1View class // #include "stdafx.h" #include "TestSL1.h"
Создаем доступную функцию в классе CMainFrame:
void CMainFrame::ViewSliptter() { m_wndSplitter.DoKeyboardSplit(); }
Перехватываем двойной щелчок мышью и добираемся из View в Frame. Там вызываем функцию:
///////////////////////////////////// // CTestSL1View message handlers void CTestSL1View::OnRButtonDblClk(UINT nFlags, CPoint point) { CMainFrame* cm=(CMainFrame*) AfxGetApp()->m_pMainWnd; cm->ViewSliptter(); CView::OnRButtonDblClk(nFlags, point); }
Напоминаю, что удаляется разделитель двойным щелчком.