// 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.
// 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 и содержит реализацию класса