Чтение онлайн

на главную - закладки

Жанры

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

Фролов Григорий Вячеславович

Шрифт:

 AFX_IDS_SCPREVWINDOW "Switch to the previous document window"

 AFX_IDS_SCCLOSE "Close the active window and prompts to save the documents"

END

STRINGTABLE DISCARDABLE

BEGIN

 AFX_IDS_SCRESTORE "Restore the window to normal size"

 AFX_IDS_SCTASKLIST "Activate Task List"

END

//#endif // English (U.S.) resources

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

#ifndef APSTUDIO_INVOKED

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

//

// Generated from the TEXTINCLUDE 3 resource.

//

#define _AFX_NO_SPLITTER_RESOURCES

#define _AFX_NO_OLE_RESOURCES

#define _AFX_NO_TRACKER_RESOURCES

#define _AFX_NO_PROPERTY_RESOURCES

#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)

#ifdef _WIN32

LANGUAGE 9, 1

#pragma code_page(1252)

#endif

#include "res\Dater.rc2" // non-Microsoft Visual C++ edited resources

#include "afxres.rc" // Standard components

#include "afxdb.rc" // Database resources

#endif

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

#endif // not APSTUDIO_INVOKED

Идентификаторы

ресурсов приложения Dater определены в файле resource.h. Этот файл создается автоматически редактором ресурсов Microsoft Visual C++. Исходный текст файла resource.h представлен в листинге 3.15.

Листинг 5.4. Файл resource.h

//{{NO_DEPENDENCIES}}

// Microsoft Developer Studio generated include file.

// Used by Dater.rc

//

#define IDD_ABOUTBOX 100

#define IDD_DATER_FORM 101

#define IDP_FAILED_OPEN_DATABASE 103

#define IDR_MAINFRAME 128

#define IDR_DATERTYPE 129

#define IDC_NAME 1000

#define IDC_ADDRESS 1001

#define IDC_PRIORITY 1002

#define IDC_PHONE 1003

// Next default values for new objects

//

#ifdef APSTUDIO_INVOKED

#ifndef APSTUDIO_READONLY_SYMBOLS

#define _APS_3D_CONTROLS 1

#define _APS_NEXT_RESOURCE_VALUE 130

#define _APS_NEXT_COMMAND_VALUE 32771

#define _APS_NEXT_CONTROL_VALUE 1004

#define _APS_NEXT_SYMED_VALUE 101

#endif

#endif

Наибольший

интерес в файле ресурсов приложения Dater представляют строки меню Record и соответствующие им кнопки панели управления. Эти строки и кнопки позволяют просматривать в окне приложения все записи базы данных.

Строка меню Record Идентификатор Описание
First Record ID_RECORD_FIRST Перейти к первой записи
Previous Record ID_RECORD_PREV Перейти к предыдущей записи
Next Record ID_RECORD_NEXT Перейти к следующей записи
Last Record ID_RECORD_LAST Перейти к последней записи 

Командные сообщения с идентификаторами ID_RECORD_FIRST, ID_RECORD_PREV, ID_RECORD_NEXT и ID_RECORD_LAST обрабатываются виртуальным методом OnMove класса окна просмотра CRecordView.

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

Обнаруженные опечатки

Во время подготовки этой книги мы обнаружили несколько опечаток в томе 24 из серии “Библиотека системного программиста”, посвященном библиотеке MFC. Мы приносим вам свои извенения и недеемся, что они не ввели вас в заблуждение. На дискетах, которые вы можете приобрести вместе с книгой, все перечисленные ошибки исправлены.

На странице 17 метод ConvertString, объявленный как int, неверно определен как void. Этот метод должен возвращать значение типа int.

На странице 21 метод GetPi, объявлен как static void. На самом деле метод GetPi возвращает числовое значение и должен быть объявлен как static float.

На странице 22, в определении метода SetTitle, следует указать для переменной title имя соответствующего класса – CWindow::title.

На странице 32 следует взять текстовые строки, вводимые на экран, и символы \n в двойные кавычки. Следует также исправить ошибку в определении указателей ptrRectObject и ptrFigObject. Символ * должен быть расположен перед именами этих переменных. На странице 33 предпоследняя строка, выводимая на экран программой, должна выглядеть, не как Figure PrintName, а как Rectangle PrintName.

На странице 106, в конструкторе класса CMyDialog, в качестве параметра конструктора класса CDialog, должен передаваться не идентификатор CMyDialog::IDD, а имя шаблона диалоговой панели DIALOGPANEL. Правильный конструктор класса CMyDialog, представлен на странице 116.

На рисунках 2.3, 2.4 и 2.5, представляющих деревья наследования классов CWnd, CView и CDialog , пропущен базовый класс CCmdTarget. Правильный порядок наследования следующий: CWnd←CCmdTarget←CObject. Правильный порядок наследования классов также представлен на рисунке 2.2.

Поделиться:
Популярные книги

История западной философии

Рассел Бертран Артур Уильям
Пути философии
Научно-образовательная:
история
философия
культурология
5.00
рейтинг книги
История западной философии

Брак по-драконьи

Ардова Алиса
Фантастика:
фэнтези
8.60
рейтинг книги
Брак по-драконьи

Царь царей

Билик Дмитрий Александрович
9. Бедовый
Фантастика:
фэнтези
мистика
5.00
рейтинг книги
Царь царей

Тринадцатый

Северский Андрей
Фантастика:
фэнтези
рпг
7.12
рейтинг книги
Тринадцатый

Страж Кодекса. Книга V

Романов Илья Николаевич
5. КО: Страж Кодекса
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Страж Кодекса. Книга V

Личный аптекарь императора. Том 6

Карелин Сергей Витальевич
6. Личный аптекарь императора
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Личный аптекарь императора. Том 6

Дважды одаренный. Том V

Тарс Элиан
5. Дважды одаренный
Фантастика:
аниме
альтернативная история
городское фэнтези
5.00
рейтинг книги
Дважды одаренный. Том V

Наследие Маозари 4

Панежин Евгений
4. Наследие Маозари
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Наследие Маозари 4

Хранилище

Старухин Евгений
5. Лесовик
Фантастика:
фэнтези
рпг
7.43
рейтинг книги
Хранилище

На границе империй. Том 3

INDIGO
3. Фортуна дама переменчивая
Фантастика:
космическая фантастика
5.63
рейтинг книги
На границе империй. Том 3

Осколки маски

Метельский Николай Александрович
7. Унесенный ветром
Фантастика:
боевая фантастика
альтернативная история
6.71
рейтинг книги
Осколки маски

Двойник короля 14

Скабер Артемий
14. Двойник Короля
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Двойник короля 14

Изгой Проклятого Клана

Пламенев Владимир
1. Изгой
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Изгой Проклятого Клана

Гримуар темного лорда IX

Грехов Тимофей
9. Гримуар темного лорда
Фантастика:
попаданцы
альтернативная история
аниме
фэнтези
5.00
рейтинг книги
Гримуар темного лорда IX