Чтение онлайн

на главную - закладки

Жанры

Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT. Часть 2

Фролов Григорий Вячеславович

Шрифт:

 // управления, убрав некоторые флаги CBRS_

 m_wndToolBar.SetBarStyle(m_wndToolBar.GetBarStyle | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);

 // TODO: вы можете запретить перемещение панели управления,

 // если удалите следующие три строки программы

 m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);

 EnableDocking(CBRS_ALIGN_ANY);

 DockControlBar(&m_wndToolBar);

 // CG: The following line was added by the Splash Screen

 // component.

 CSplashWnd::ShowSplashScreen(this);

 return 0;

}

Класс CSplashWnd

Практически

весь программный код, отвечающий за отображение заставки Splash Screen, содержится в классе CSplashWnd. Этот класс включается в состав проекта и вы можете просмотреть его содержимое в окне проекта Project Workspace на странице ClassView (рис. 2.4).

Рис. 2.4. Окно Project Workspace, класс CSplashWnd

Определение класса CSplashWnd находится в файле Splash.h. Мы привели его полностью в листинге 2.1.

Класс CSplashWnd создан на основе базового класса CWnd. Он включает в себя ряд методов и несколько элементов данных. Класс CSplashWnd может обрабатывать сообщения, поэтому для него в файле Splash.h определена макрокоманда DECLARE_MESSAGE_MAP, а в файле реализации — Splash.cpp — таблица сообщений класса.

Листинг2.1. Файл Splash.h

// CG: This file was added by the Splash Screen component.

#ifndef _SPLASH_SCRN_

#define _SPLASH_SCRN_

// Splash.h : header file

//

//////////////////////////////////////////////////////////////

// Splash Screen class

class CSplashWnd : public CWnd {

// Construction

protected:

 CSplashWnd;

// Attributes:

public:

 CBitmap m_bitmap;

// Operations

public:

 static void EnableSplashScreen(BOOL bEnable = TRUE);

 static void ShowSplashScreen(CWnd* pParentWnd = NULL);

 static void PreTranslateAppMessage(MSG* pMsg);

// Overrides

 // ClassWizard generated virtual function overrides

 //{{AFX_VIRTUAL(CSplashWnd)

 //}}AFX_VIRTUAL

// Implementation

public:

 ~CSplashWnd;

 virtual void PostNcDestroy;

protected:

 BOOL Create(CWnd* pParentWnd = NULL);

 void HideSplashScreen;

 static BOOL c_bShowSplashWnd;

 static CSplashWnd* c_pSplashWnd;

// Generated message map functions

protected:

 //{{AFX_MSG(CSplashWnd)

 afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);

 afx_msg void OnPaint;

 afx_msg void OnTimer(UINT nIDEvent);

 //}}AFX_MSG

 DECLARE_MESSAGE_MAP

};

#endif

Методы

класса CSplashWnd определены в файле реализации – Splash.cpp. Этот файл также добавляется к проекту Multi. Мы привели полный исходный текст этого файла в листинге 2.2.

Листинг2.2. Файл Splash.cpp

Листинг 2.2. Файл Splash.cpp

// CG: Файл Splash.cpp добавляется в проект во время вставки

// компонента Splash Screen и содержит реализацию класса

// CSplashWnd

#include "stdafx.h"

#include "resource.h"

#include "Splash.h"

#ifdef _DEBUG

#define new DEBUG_NEW

#undef THIS_FILE

static char BASED_CODE THIS_FILE[] = __FILE__;

#endif

//////////////////////////////////////////////////////////////

// Splash Screen class

BOOL CSplashWnd::c_bShowSplashWnd;

CSplashWnd* CSplashWnd::c_pSplashWnd;

CSplashWnd::CSplashWnd {}

CSplashWnd::~CSplashWnd {

 // Clear the static window pointer.

 ASSERT(c_pSplashWnd == this);

 c_pSplashWnd = NULL;

}

BEGIN_MESSAGE_MAP(CSplashWnd, CWnd)

 //{{AFX_MSG_MAP(CSplashWnd)

Поделиться:
Популярные книги

Эпоха Опустошителя. Том VI

Павлов Вел
6. Вечное Ристалище
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Эпоха Опустошителя. Том VI

Я уже князь. Книга XIX

Дрейк Сириус
19. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я уже князь. Книга XIX

Три `Д` для миллиардера. Свадебный салон

Тоцка Тала
Любовные романы:
современные любовные романы
короткие любовные романы
7.14
рейтинг книги
Три `Д` для миллиардера. Свадебный салон

Лебединая Дорога (сборник)

Семёнова Мария Васильевна
Приключения:
исторические приключения
9.04
рейтинг книги
Лебединая Дорога (сборник)

Алекс и Алекс

Афанасьев Семен
1. Алекс и Алекс
Фантастика:
боевая фантастика
6.83
рейтинг книги
Алекс и Алекс

Князь Андер Арес 2

Грехов Тимофей
2. Андер Арес
Фантастика:
рпг
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Князь Андер Арес 2

Чайлдфри

Тоцка Тала
Любовные романы:
современные любовные романы
6.51
рейтинг книги
Чайлдфри

Враг из прошлого тысячелетия

Еслер Андрей
4. Соприкосновение миров
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Враг из прошлого тысячелетия

Вечный. Книга IV

Рокотов Алексей
4. Вечный
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Вечный. Книга IV

Вампир. Английская готика. XIX век

Стивенсон Роберт Льюис
Фантастика:
ужасы и мистика
7.67
рейтинг книги
Вампир. Английская готика. XIX век

Изгой Проклятого Клана. Том 2

Пламенев Владимир
2. Изгой
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Изгой Проклятого Клана. Том 2

Вечный. Книга II

Рокотов Алексей
2. Вечный
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Вечный. Книга II

Кодекс Крови. Книга ХVI

Борзых М.
16. РОС: Кодекс Крови
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Кодекс Крови. Книга ХVI

Путь Шедара

Кораблев Родион
4. Другая сторона
Фантастика:
боевая фантастика
6.83
рейтинг книги
Путь Шедара