Введение

ЧАСТЬ I. БИБЛИОТЕКА MICROSOFT FOUNDATION
CLASSES (MFC)

Глава 1. Знакомьтесь - библиотека классов MFC
Макросы, глобальные функции и переменные
Типы данных
Получение информации о приложении
Модель объекта времени выполнения
(run-time object)
Диагностика объектов
Основные макросы
Основные глобальные переменные
Форматирование строк и окна сообщений
Иерархия классов MFC
СObject - вершина иерархии классов

Глава 2. Создание приложений на базе
библиотеки классов MFC
Соглашения об именах библиотеки MFC
Включаемые файлы

ЧАСТЬ II. ПРОГРАММИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ
БИБЛИОТЕКИ MFC

Глава 3. Основные составляющие приложения на
базе библиотеки классов MFC
Функция WinMain
Минимальная программа для Windows
Создание окна

Глава 4. Классы окон библиотеки MFC
Окна, определенные в системе Windows
Окна Windows и библиотека MFC
Создание главного окна SDI-приложения
Создание простейшего меню
Создание главного окна приложения
(продолжение)
Создание дочерних окон
Ограничение размеров окна
Функция GetSystem Metrics
Ограничение доступа к окну

Глава 5. Поговорим о сообщениях
Обработка сообщений в библиотеке MFC
Цикл обработки сообщений MFC
Типы сообщений MFC
Карта сообщений
Компоненты карты сообщений
Стандартный маршрут команды
Команды обновления и класс CCmdUI
Функции для работы с сообщениями

Глава 6. Каждый должен заниматься своим делом

ЧАСТЬ III. MFC И ГРАФИЧЕСКИЙ ВЫВОД

Глава 7. Управление графическим выводом
Идеология графического вывода
Аппаратно-независимый графический вывод
Контексты устройств
Типы контекстов устройств
Контексты экрана
Контекст принтера
Объект в памяти
Информационный контекст
Графические объекты
Графические режимы
Работа со шрифтами. Шрифты TrueType
Классы графического интерфейса
Классы контекстов устройств
Графические объекты

Глава 8. Кисти, карандаши и многое другое
Изменение начального размера окна
Создание графических объектов Windows
Создание шрифтов
Создание кистей
Создание битовых массивов
Создание карандашей
Работа с регионами
Создание регионов
Создание прямоугольных регионов
Создание эллиптических регионов
Создание сложных регионов на базе
многоугольников
Создание регионов с закругленными
углами
Комбинирование регионов
Изменение размеров окна
Обработка сообщения WM_PAINT
Организация процесса рисования

Глава 9. Класс поддержки рисования
Создание объекта класса и его связь с
контекстом устройства
Компоненты класса
Конструктор
Инициализация
Доступ к объектам рисования
Функции контекста устройства
Настройка процесса рисования
Функции средств рисования
Установка объектов рисования
Функции настройки цветов и палитр
Режимы рисования
Режим отображения
Настройка режимов отображения
Преобразование координат
Функции рисования
Отображение регионов
Отсечения
Рисование линий
Базовые функции рисования
Битовые массивы
Пиктограммы
Строки
"Управляемый вывод" изображений
Общие параметры функций
Отображение эллипсов и многоугольников
Контуры
Отображение битовых массивов
Функции, использующие битовые массивы
Прокрутка
Управление выводом текста
Вывод текста
Информация о шрифтах
Дополнительные функции
Интерфейс низкого уровня с устройствами
Управление процессом печати документов
Метафайлы

Глава 10. Рисуем графические объекты
Проверка того, что окно свернуто
Установка системы координат
Рисование циферблата часов
Вывод текста
Рисование стрелок

ЧАСТЬ IV. MFC И ВЗАИМОДЕЙСТВИЕ С
ПОЛЬЗОВАТЕЛЕМ

Глава 11. Вводим элементы пользовательского
интерфейса
Работа с панелями инструментов
Класс CToolBar
Класс CToolBarCtrl
Работа со строкой состояния
Класс CStatusBar
Работа с таймером
Рисование с помощью мыши

Глава 12. В глубине меню
Основные типы меню
Создание меню на основе шаблона
Добавление элемента в системное меню
Создание контекстного меню
Самоотображение элементов меню
Создание собственных маркеров состояния

Глава 13. Создание многодокументных
приложений
Класс CMDIFrameWnd
Класс CMDIChildWnd
Пример MDI-приложения
Поиск запущенного экземпляра приложения
Изменение полосы меню
Стандарт Unicode
Еще раз о сообщении WM_PAINT

ЧАСТЬ V. ИНТЕРАКТИВНОЕ ВЗАИМОДЕЙСТВИЕ С
ПРИЛОЖЕНИЕМ

Глава 14. Модальные и немодальные блоки
диалога
Класс CDialog
Создаем простейший блок диалога
Блок диалога в качестве главного окна
приложения
Обмен данными с блоком диалога
Создание блока диалога на основе шаблона в
памяти
Стандартные блоки диалога
Для выбора цветов не обязательно
создавать новый класс

Глава 15. Наборы свойств
Создание набора свойств
Создание объекта "набор свойств"
Настройка окна набора свойств
Добавление страниц
Создание модального окна свойств
Создание немодального окна набора
свойств
Обмен данными
Операция Apply
Операции над набором свойств
Изменение параметров отображения
Настройка страниц набора свойств
Создание страницы свойств
Изменение состояния
Переопределяемые функции
Мастера
Создание мастеров
Переопределяемые функции

Глава 16. Эти разнообразные элементы
управления
Создание элементов управления
Создание элементов управления в
редакторе ресурсов
Создание элементов управления в тексте
приложения
Статические элементы управления
Изменение цвета
Список
Изменение параметров списка
Функции для работы с содержимым списка
Операции над элементами списка
Переопределяемые функции
Список, имеющий флажки
Функции для работы с расширенным списком
Виртуальные функции
Комбинированный список
Просмотр видеоклипов
Элемент управления "анимация"
Уведомления
Индикатор
Пример использования просмотра видеоклипов
и индикатора
Счетчик
Уведомления
Автоматическое изменение
Параметры элемента управления
Просмотр списка
Режимы вывода
Создание элемента "просмотр списка"
Работа со столбцами
Параметры просмотра списка
Работа со списком в целом
Списки изображений
Виртуальные списки
Основные и дополнительные поля
Записи по запросу (Callback Items)
Изменение содержимого списка
Поиск и сортировка записей
Редактирование надписей записей
Обработка уведомлений
Реализация просмотра списка с
возможностью перемещения записей
Переопределяемые функции
Пример реализации просмотра списка
Просмотр дерева
Создание элемента управления "просмотр
дерева"
Списки изображений
Функции для работы с просмотром дерева в
целом
Изменения содержимого дерева
Поиск и сортировка записей дерева
Обработка уведомлений
Пример реализации просмотра дерева

ЧАСТЬ VI. АРХИТЕКТУРА
"ДОКУМЕНТ/ПРЕДСТАВЛЕНИЕ"

Глава 17. Основы архитектуры
"документ/представление"

Создание различных типов документов
Шаблоны однодокументных приложений
Шаблоны многодокументных приложений
Место объекта-приложения в архитектуре
"документ/представление"
Роль фреймов в архитектуре
"документ/представление"
Создание каркаса приложения на базе
архитектуры "документ/представление

Глава 18. Документ и его представления
Документы
Класс СDocument
Сериализация
Представления
Класс CView
Класс CCtrlView
Класс CEditView
Класс CScroHView
Класс CSplitterWnd

Глава 19. Печать и предварительный просмотр
документов
Выбор и настройка параметров принтера
Создание контекста устройства
Печать документов и библиотека MFC
Предварительный просмотр документа

ЧАСТЬ VII. РАБОТАЕМ С БАЗАМИ ДАННЫХ

Глава 20. Библиотека MFC и базы данных
Что такое ODBC
Проект MFC AppWizard
Классы для работы с ODBC
Класс CDatabase
Создание соединения
Атрибуты данных
Операции
Класс CRecordset
Компоненты данных
Конструирование
Атрибуты результирующего набора
Операции обновления результирующего
набора
Операции перемещения по
результирующему набору
Другие операции над результирующим
набором
Переопределяемые методы
Класс CRecord View
Создание объекта
Атрибуты данных
Операции
Класс CFieldExchange

Глава 21. Настройка приложения на работу с
базами данных
Извлечение информации из базы данных
Подготовка формы для отображения данных
Отображение и обновление содержимого
базы данных
Добавление и удаление записей в таблице
Добавление записей в таблицу
Удаление записей из таблицы
Сортировка записей
Поиск информации в базе данных

ЧАСТЬ VIII. ПРИЛОЖЕНИЯ

Приложение 1. Основы языка программирования
C++
Дополнительные сведения
Комментарии
Ключевые слова
Константы
Блочные объявления
Ссылки
Имена перечислений, структур и
объединений
Распределение памяти
Встраиваемые функции
Перегрузка функций
Задание параметров функции по умолчанию
Операции
Библиотеки потоков
Классы
Инкапсуляция
Разграничение доступа (скрытие данных и
методов)
Друзья классов
Конструкторы и деструкторы
Конструктор по умолчанию
Конструктор копирования
Несколько слов о деструкторах
Наследование
Виртуальные функции - полиморфизм
Перегрузка операций
Шаблоны
Обработка исключений
Исключения C++
Типы исключений
Специальные функции
Порядок обработки исключений
Рекомендации по использованию

Приложение 2. Основные типы сообщений Windows
Аппаратные сообщения
Сообщения обслуживания окна
Сообщения об организации интерфейса
пользователя
Сообщения о завершении
Частные сообщения
Информационные сообщения системных ресурсов
Сообщения о совместном использовании данных
Внутрисистемные сообщения

Приложение 3. Описание сопроводительной
дискеты.
Установка примеров
Использование примеров
Список приложений

Предметный указатель