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


Главный класс приложения Dialog


Главный класс приложения CDialogApp, наследованный от базового класса CWinApp, определен во включаемом файле Dialog.h. Исходный текст этого файла содержится в листинге 4.1.

Первые строки файла содержат директиву #ifndef, которая проверяет, определен ли символ __AFXWIN_H__. Символ __AFXWIN_H__ определен в файле afxwin.h. Если на этапе обработки файла Dialog.h символ не определен, то при построении проекта выдается сообщение об ошибке. Это гарантирует, что включаемый файл afxwin.h будет обработан до Dialog.h.

Следующая директива #include включает файл resource.h. Этот файл создается MFC AppWizard и содержит определение идентификаторов, задействованных для ресурсов приложения.

Листинг 4.1. Файл Dialog.h

// Dialog.h : Главный включаемый файл для приложения Dialog

//

#ifndef __AFXWIN_H__

      #error include 'stdafx.h' before including this file for PCH

#endif

 

#include "resource.h"   // включаемый файл содержащий

                        // идентификаторы ресурсов приложения

 

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

// Класс CDialogApp:

// Методы класса CDialogApp определены в файле Dialog.cpp

//

class CDialogApp : public CWinApp

{

public:

      CDialogApp();

 

// Overrides

      // В следующем блоке ClassWizard помещает описания

      // переопределенных виртуальных методов класса

      //{{AFX_VIRTUAL(CDialogApp)

public:

      virtual BOOL InitInstance();

      //}}AFX_VIRTUAL

 

// Implementation

 

      //{{AFX_MSG(CDialogApp)

             // В этом блоке ClassWizard размещает описания методов

             // класса. Не редактируйте содержимое этого блока вручную

      //}}AFX_MSG

      DECLARE_MESSAGE_MAP()

};

Для класса CDialogApp описан конструктор CDialogApp, не имеющий параметров. Этот конструктор будет использоваться в момент запуска приложения для создания объекта класса CDialogApp.

Кроме конструктора, в классе CDialogApp, переопределяется виртуальный метод InitInstance базового класса CWinApp. Как видите, метод InitInstance находится, после комментария // Overrides, который обозначает секцию переопределения виртуальных методов.




Начало  Назад  Вперед



Книжный магазин