Шаг 281 - Динамический разделитель после создания проекта VС++ Components

Динамический разделитель после создания проекта мождо добавить двумя способами:

Давайте создадим проект как MFC AppWizard с именем TestSL1, потом SDI и все. Разделитель мы добавим позднее. Сейчас мы воспользуемся VC++ Components. Идем в Project, дальше Add to Project -> Component and Controls. Идем в папку Visual C++ Components. Находим Splitter Bar.

281_1.gif (6106 b)

И нажимаем Insert. Вас спросят будем вставлять или нет. Скажите ДА, следующим окном будет окно настройки разделителя.

281_2.gif (2223 b)

Выберите 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);
}

Напоминаю, что удаляется разделитель двойным щелчком.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 14.11.2000