Исходные тексты примера
simpwin.hpp #include <afxwin.h> // Класс основного окна приложения class CMainWin: public CFrameWnd { public: CMainWin(); // Декларирование карты сообщений DECLARE_MESSAGE_MAP() }; // Класс приложения. Должен существовать только // один экземпляр этого класса. // Член-функция InitInstance() вызывается при запуске // приложения. class CApp: public CWinApp { public: BOOL InitInstance(); }; simpwin.cpp #include <afxwin.h> #include <string.h> #include "SIMPWIN.HPP" // Создание одного и только одного экземпляра // приложения CApp App; // Реализация BOOL CApp::InitInstance() { // Создание главного окна приложения и его // отображение. // Член CApp::m_pMainWnd - это указатель на объект // главного окна. m_pMainWnd = new CMainWin; m_pMainWnd->ShowWindow(SW_RESTORE); m_pMainWnd->UpdateWindow(); // Сигнализируем MFC об успешной инициализации // приложения. return TRUE; } CMainWin::CMainWin() { // Создание окна с заголовком. Используется // встроенный в MFC // класс окна, поэтому первый параметр 0. this->Create(0, "Простейшее приложение на MFC"); } // Реализация карты сообщений BEGIN_MESSAGE_MAP(CMainWin /*класс окна*/, CFrameWnd /*класс-предок*/) END_MESSAGE_MAP()
Рис. 2. Окно, созданное простейшим приложением на MFC
Результат выполнения программы показан на рис. 2. Рассмотрим программу подробнее.
Для создания стандартного окна в приложении должен наследоваться класс от CFrameWnd. В данном примере он называется CMainWin. Он содержит конструктор и макрос DECLARE_MESSAGE_MAP(). Макрос на самом деле разворачивается в декларацию карты сообщений, которая определяет, какая член-функция класса должна вызываться в ответ на сообщение Windows. Этот макрос применяется для любого окна, в котором обрабатываются сообщения. Он должен быть последним в декларации класса.
Само окно создается в конструкторе с помощью вызова функции Create(). Эта функция используется почти во всех приложениях. Она выполняет действия по созданию окна. В этом примере приведен самый простой случай ее использования. Пока нам нужно знать, что второй параметр определяет заголовок окна, а первый чаще всего равен NULL.
Дата добавления: 2015-07-20; просмотров: 128 | Нарушение авторских прав
Читайте в этой же книге: Сообщение WM_PAINT | Пример программы | Пример программы | ТЕМАТИКА РЕФЕРАТІВ | Методичні рекомендації щодо написання рефератів |
mybiblioteka.su - 2015-2024 год. (0.005 сек.)