Введение

Часть I. Введение в Microsoft Visual C++ 6

Глава 1. Установка программного обеспечения
Установка Microsoft Visual C++ 6
Установка справочной системы Visual C++
Что входит в пакет Visual C++ 6
Компонент VC++ Developer Studio
Компонент VC++ Runtime Libraries
Компонент VC++ MFC and Template Libraries
Компонент VC++ Build Tools
Компонент ActiveX
Компонент Data Access
Компонент Enterprise Tools
Компонент Graphics
Компонент Tools
Итоги

Глава 2. Создание программ в среде Developer Studio
Создание проекта
Создание и редактирование исходного файла программы
Использование вкладок FileView и ClassView
Доступ к справочной системе
Изменение установок проекта
Построение программы
Выполнение программы
Отладка программы
Итоги


Часть II. Введение в C++

Глава 3. Переходим к языку C++
Преобразование программ, написанных на языке С, в программы на C++
Новые средства языка C++
Комментарии
Операторы объявления переменных
Операция расширения области видимости
Встроенные функции
Стандартные параметры функции
Ссылки
Константы
Перегруженные функции
Операторы new и delete
Итоги

Глава 4. Определение классов C++
Определение класса
Создание экземпляра класса
Доступ к членам класса
Инкапсуляция
Преимущества инкапсуляции
Конструкторы и деструкторы
Конструкторы
Деструкторы
Когда вызываются конструкторы и деструкторы
Встроенные функции-члены
Организация исходных файлов
Указатель this
Статические члены класса
Итоги

Глава 5. Производные классы C++
Производные классы
Конструкторы производных классов
Доступ к наследуемым переменным
Создание иерархии классов
Преимущества наследования
Просмотр иерархии классов с помощью вкладки ClassView
Применение виртуальных функций
Применение виртуальных функций для управления объектами классов
Применение виртуальных функций для модификации базовых классов
Итоги

Глава 6. Перегрузка, копирование и преобразование
Перегрузка операторов
Определение дополнительных функций-операторов
Общие принципы перегрузки операторов
Перегрузка оператора присваивания
Применение конструкторов копирования и преобразования
Конструкторы копирования
Конструкторы преобразования
Инициализация массивов
Итоги

Глава 7. Использование шаблонов языка C++
Определение шаблонов функций
Переопределение шаблонов
Определение шаблонов классов
Создание объектов по шаблонам
Включение конструкторов в шаблон функции
Итоги

Глава 8. Обработка исключительных ситуаций в C++
Обработка программных исключений
Программирование блоков Catch
Размещение обработчиков исключений
Обработчики вложенных исключений
Обработка исключений Win32
Итоги


Часть III. Программирование графического интерфейса с использованием
библиотеки MFC

Глава 9. Создание программ с графическим интерфейсом
Программирование графического интерфейса
Создание и построение программы
Генерация исходного кода
Изменение исходного кода
Построение и запуск программ
Классы и файлы программы
Как работает программа
Этапы выполнения программы
Функция InitInstance
Завершение функции InitInstance
Итоги

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

Глава 11. Реализация документа
Сохранение графических данных
Перерисовка окна
Добавление команд в меню
Удаление данных документа
Реализация команд меню
Обработка команды Delete All
Обработка команды Undo
Текст программы MiniDraw
Итоги

Глава 12. Хранение документов
Добавление средств ввода-вывода в программу MiniDraw
Добавление команд в меню File
Поддержка команд меню File
Исходный текст программы MiniDraw
Добавление средств ввода-вывода в программу MiniEdit
Определение ресурсов
Добавление кода поддержки
Исходный текст программы MiniEdit
Другие способы ввода-вывода файлов
Итоги

Глава 13. Прокрутка и разделение окон представления
Добавление средств прокрутки окна
Преобразование координат
Ограничение размера рисунка
Добавление средств разделения окна
Добавление средств разделения в новое приложение
Обновление окна представления
Эффективная перерисовка
Текст программы MiniDraw
Итоги

Глава 14. Перемешаемые панели и строки состояния
Добавление в новую программу перемещаемой панели и строки состояния
Добавление перемещаемой панели инструментов в программу MiniDraw
Определение ресурсов
Изменение текста программы
Добавление строки состояния в программу MiniDraw
Завершение создания меню View и построение программы
Текст программы MiniDraw
Итоги

Глава 15. Создание диалоговых окон
Создание модальных диалоговых окон
Создание программы
Проектирование диалогового окна Format
Создание класса для управления диалоговым окном
Определение переменных-членов класса
Определение обработчиков сообщений
Управление диалоговым окном класса CFormat
Отображение диалогового окна
Изменение заголовка программы
Исходный текст программы FontDemo
Создание немодальных иалоговых окон
Создание диалоговых окон с вкладками
Исходный текст программы TabDemo
Диалоговые окна общего назначения
Итоги

Глава 16. Разработка диалоговых приложений
Создание простых диалоговых программ
Генерация программы DlgDemo мастером AppWizard
Настройка программы DlgDemo
Исходный текст программы DlgDemo
Создание программы просмотра формы
Создание программы FormDemo с помощью AppWizard
Настройка программы FormDemo
Исходный текст программы FormDemo
Итоги

Глава 17. Создание многодокументных приложений
Многодокументный интерфейс
Создание многодокументной программы
Классы, файлы и код программы
Настройка ресурсов
Текст программы MiniEdit
Итоги

Глава 18. Ввод/вывод символов
Отображение текста
Генерация программы
Составление фрагмента программы отображения строк
Создание объекта Font и сохранение текста
Поддержка средств прокрутки
Изменение функции InitInstance
Чтение кодов символов, вводимых с клавиатуры
Обработка сообщения WM_KEYDOWN
Обработка сообщения WM_CHAR
Управление курсором при редактировании
Текст программы TextDemo
Текст программы Echo
Итоги

Глава 19. Использование функций рисования
Создание объекта контекста устройства
Выбор инструментов рисования
Выбор стандартных инструментов рисования
Создание инструментов рисования
Установка графических атрибутов
Режим отображения
Создание графических изображений
Рисование точек
Рисование прямых и кривых линий
Другие функции рисования
Программа MiniDraw
Определение классов для фигур
Другие модификации программы
Текст программы MiniDraw
Итоги

Глава 20. Использование растровых изображений и битовых операций
Создание растрового изображения
Загрузка растрового изображения из ресурсов
Создание растрового изображения с использованием
функций рисования
Отображение растрового изображения
Другие способы использования растрового изображения
Выполнение битовых операций
Функция PatBlt
Функция BitBlt
Функция StretchBlt
Отображение значков
Программа BitDemo
Проектирование растровых изображений
Модификация программы
Текст программы BitDemo
Итоги

Глава 21. Печать и предварительный просмотр
Основы печати и предварительный просмотр
Модификация ресурсов
Модификация текста программы
Усовершенствованная печать
Изменение размера рисунка
Переопределение виртуальных функций печати
Модификация функции OnDraw
Текст программы MiniDraw
Итоги

Глава 22. Использование множественных потоков
Создание и управление вторичными потоками
Прекращение выполнения потока
Управление потоком
Ограничения на использование MFC-классов
Синхронизация потоков
Другие объекты синхронизации
Другие типы синхронизации
Многопотоковая версия программы Mandel
Текст программы MandelMT
Итоги

Глава 23. Связи между процессами
Запуск новых процессов
Синхронизация процессов и получение дескрипторов общих объектов
Обмен данными по каналам
Совместное использование памяти
Использование буфера обмена
Команды буфера обмена
Использование буфера обмена для переноса текста
Использование буфера обмена для передачи графических изображений
Использование буфера обмена для передачи данных
зарегистрированных форматов
Итоги

Глава 24. Использование механизма OLE
Внедрение, связывание и автоматизация
Создание программы-сервера
Создание программы-сервера с помощью мастера AppWizard
Добавление специального кода приложения-сервера
Текст программы ServDemo
Создание программы-контейнера
Класс приложения
Класс документа
Класс компонента контейнера
Класс представления
Ресурсы
Построение и выполнение программы ContDemo
Текст программы ContDemo
Итоги

Глава 25. Создание и применение элементов ActiveX
Создание элементов ActiveX
Генерация файлов программы
Настройка программы элемента ActiveX
Определение свойств
Определение методов
Определение событий
Построение элемента
Исходный текст AXCtrl
Создание программы-контейнера элемента ActiveX
Генерация файлов с исходным текстом
Добавление элемента ActiveX в проект
Проектирование диалогового окна программы
Присоединение компонента ActiveX к объекту класса-упаковки
Определение обработчиков сообщений для кнопок
Добавление обработчика события Click
Построение и тестирование программы AXCont
Итоги