C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




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

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

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

  • Из VC++ 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);
}

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


| |
Автор Каев Артем.
[AD]