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 руб./мес


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




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

Шаг 283 - Статический разделитель после создания проекта ручками

Преимущество статического разделителя в том, что он может в разных частях использовать разные виды. Создаем приложение как MFC AppWizard с именем TestStatic и типом SDI. Добавим ссылку на класс разделителя в класс рамки:

class CMainFrame : public CFrameWnd
{
	......
protected:  // control bar embedded members
	CStatusBar m_wndStatusBar;
	CToolBar m_wndToolBar;
	CSplitterWnd m_wndSplitter;
// Generated message map functions
	......
};

Перегрузим OnCreateClient() для создания разделителя:

BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) 
{
// TODO: Add your specialized code here and/or call the base class
	return CFrameWnd::OnCreateClient(lpcs, pContext);
}

Пока оставим так. Нам теперь нужен второй класс вида. Добавляем класс Insert - New Class с именем CTwoView и родителем CView. Теперь в коде реализации класса CMainFrame нужно добавить ссылки на эти классы видов.

// MainFrm.cpp : implementation of the CMainFrame class
//

#include "stdafx.h"
#include "TestStatic.h"

#include "MainFrm.h"

#include "TwoView.h"
#include "TestStaticView.h" 

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

А в описание класса CTestStaticView описание класса документа для GetDocument():

#include "TestStaticDoc.h"

Пора создавать разделитель:

BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) 
{
	m_wndSplitter.CreateStatic(this,1,2);
	m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(CTestStaticView),
		CSize(50,50),pContext);
	return m_wndSplitter.CreateView(0,1,RUNTIME_CLASS(CTwoView),
		CSize(50,50),pContext);
}

Будет вертикальный разделитель.


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