Microsoft Visual C++ и MFC. Программирование для Win95 и WinNT




Приложение с единственным окном - часть 5


Если метод InitInstance вернет значение FALSE, приложение немедленно завершится. Мы использовали эту возможность в приложении MFHello, описанном выше.

//=====================================================

// Метод InitInstance класса CMFStartApp

// Переопределяем виртуальный метод InitInstance

// класса CWinApp. Он вызывается каждый раз при запуске

// приложения

//=====================================================

BOOL CMFStartApp::InitInstance()

{

      // Создаем объект класса CMFStartWindow

      m_pMainWnd = new CMFStartWindow();

      // Отображаем окно на экране. Параметр m_nCmdShow

      // определяет режим в котором оно будет отображаться

      m_pMainWnd -> ShowWindow(m_nCmdShow);

      // Обновляем содержимое окна

      m_pMainWnd -> UpdateWindow();

      return TRUE;

}

Чтобы создать окно, мы создаем объект класса CMFStartWindow. Такой объект не является собственно окном, которое пользователь видит на экране компьютера, а представляет собой внутреннее представление окна. Для создания окна предназначается метод Create, определенный в классе CFrameWnd. Он создает окно и связывает его с объектом Си++, в нашем случае с объектом класса CMFStartWindow:

//=====================================================

// Конструктор класса CMFStartWindow

//=====================================================

CMFStartWindow::CMFStartWindow()

{

      // Создаем окно приложения, соответствующее

      // данному объекту класса CMFStartWindow

      Create(NULL, "Hello MFC");

}

Для упрощения мы поместили описание классов, определения их методов и определения глобальных переменных в одном файле. На практике описания различных классов размещают в отдельных включаемых файлах. А определения методов записывают в программные файлы, имеющие расширение cpp.

Например, мы могли бы поместить описание классов CMFStartApp и CMFStartWindow в файлы MFStartApp.h и MFStartWindow.h. Метод InitInstance класса CMFStartApp и определение глобальной переменной MFStartApp можно поместить в файл MFStartApp.cpp, а определение конструктора класса CMFStartWindow - в файл MFStartWindow.cpp.




Содержание  Назад  Вперед