IDD_DIALOG_DIALOG DIALOGEX 0, 0, 185, 92

STYLE DS_MODALFRAME|WS_POPUP|WS_VISIBLE|WS_CAPTION|WS_SYSMENU

EXSTYLE WS_EX_APPWINDOW

CAPTION 'Dialog'

FONT 8, 'MS Sans Serif'

BEGIN

 PUSHBUTTON 'Cancel',IDCANCEL,128,23,50,14

 DEFPUSHBUTTON 'OK',IDOK,128,7,50,14

 LTEXT 'TODO: Place dialog controls here.', IDC_STATIC,5,34,113,8

END

Пиктограмма

В файле ресурсов приложения указана единственная пиктограмма, имеющая идентификатор IDR_MAINFRAME. Эта пиктограмма содержится в файле Dialog.ico, в каталоге res.

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

// Пиктограмма

IDR_MAINFRAME ICON DISCARDABLE 'res\Dialog.ico'

Пиктограмма IDR_MAINFRAME содержит два цветных изображения с разрешением 32×32 и 16×16 пикселов (рис. 4.7). Вы можете изменить эти пиктограммы по своему усмотрению.

Рис. 4.7. Пиктограммы приложения Dialog

Таблица текстовых строк

В таблице текстовых строк проекта Dialog определена только одна текстовая строка &About Dialog…, имеющая идентификатор IDS_ABOUTBOX. Эта строка содержит текст нового элемента, который будет добавлен к системному меню главной диалоговой панели приложения. Если пользователь выберет эту строку меню, приложение выведет на экран небольшую диалоговую панель, с краткой информацией о приложении.

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

// Таблица строк

STRINGTABLE DISCARDABLE

BEGIN

 IDS_ABOUTBOX '&About Dialog…'

END

Версия

Во всех приложениях, созданных с использованием MFC AppWizard, определен специальный ресурс, содержащий различные сведения о версии приложения (4.8). Приложение Dialog также содержит такой ресурс, который имеет идентификатор VS_VERSION_INFO.

Рис. 4.8. Информация о версии приложения

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

Исходные тексты приложения

Рассмотрим исходные тексты приложения более подробно. Из главы “Введение в MFC” вы уже знаете, что приложения, созданные на основе библиотеки MFC, как правило, не имеют главной функции приложения WinMain.

Функция WinMain скрыта от программиста внутри методов класса CWinApp. Каждое приложение должно иметь один объект класса, наследованного от базового класса CWinApp. Поэтому свой рассказ мы начнем с главного класса приложения.

Главный класс приложения 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

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату