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



Возможности ClassView можно использовать даже на этапе отладки приложения. Так, из временного меню метода можно установить точку прерывания непосредственно на начало метода. Для этого выберите из меню строку Set Breakpoint.

Редактирование элементов данных класса

Временное меню данных класса отличается от временного меню метода. Если выбрать из списка элементов класса данные и нажать правую кнопку мыши, на экране появится меню, представленное на рисунке 2.19.

Рис. 2.19. Временное меню метода

Приложение с единственным окном

Первое созданное нами приложение не имело главного окна. Для вывода сообщения на экран мы использовали функцию AfxMessageBox, которая очень похожа на функцию MessageBox программного интерфейса операционной системы Windows.

Следующее приложение, которое мы будем рассматривать, немного сложнее. При запуске оно будет отображать на экране компьютера обычное окно, имеющее заголовок, системное меню и кнопки управления.

Точно так же как в приложении MFHello, в нашем втором приложении мы будем использовать класс CWinApp в качестве главного класса приложения. Для управления окном приложения мы создадим еще один класс, наследуемый от базового класса CFrameWnd , входящего в библиотеку MFС.

Создайте новый проект, как мы рассказывали выше, и назовите его именем MFStart. В качестве типа приложения выберите из списка Type строку Application (рис. 4.1 из главы “Приложение с главной диалоговой панелью”). Автоматизированные средства разработки приложений MFC AppWizard мы рассмотрим позже.

Наберите в редакторе исходный текст приложения и сохраните его в файле MFStart.cpp (листинг 2.2). Наш пример без учета строк комментариев состоит всего из двадцати строк исходного текста, поэтому набор текста не займет у вас много времени. Включите набранный файл в проект.

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

>// Включаемый файл для MFC

>#include


>//=====================================================

>// Класс CMFStartApp

>// Наследуем от базового класса CWinApp главный

>// класс приложения CMFStartApp

>//=====================================================

>class CMFStartApp : public CWinApp {

>public:

> // Мы будем переопределять метод InitInstance,

> // предназначенный для инициализации приложения

> virtual BOOL InitInstance();

>};


>// Создаем объект приложение класса CMFStartApp

>CMFStartApp MFStartApp;


>//=====================================================

>// Класс CMFStartWindow

>// Наследуем от базового класса CFrameWnd класс