Введение
Часть I. Обзор Visual C++ 6
Глава 1. Знакомьтесь Visual C++ 6
Глава 2. Интегрированная среда разработки (IDE)
Часть II. Программирование под MS Windows
Глава 3. Знакомство с Windows
Пользовательский интерфейс
- Окна, элементы управления, модальные и
немодальные блоки диалога
- Ресурсы приложения
Система, управляемая сообщениями
Интерфейс прикладного программирования
Управление графическим выводом
- Графические объекты
- Аппаратно-независимый графический
вывод
- Контекст устройства
- Графические режимы
- Работа со шрифтами
APIShell - пример приложения
Глава 4. Структура приложений для Windows
Часть III. Библиотека классов Microsoft Foundation Classes
(MFC)
Глава 5. Обзор библиотеки MFC
Иерархия классов MFC
CObject - основа всех классов
Классы, определяющие архитектуру приложения
- Классы приложения и поддержки потоков
- Классы маршрутизации команд
- Классы документов
- Классы шаблонов документов
Окна, блоки диалога и элементы управления
- Классы фреймов окон
- Классы представлений
- Классы блоков диалога
- Классы элементов управления
- Классы панелей элементов управления
Классы для вывода на экран и печать
- Классы контекста устройства
- Классы графических объектов
Классы простых типов данных
Массивы, списки и ассоциативные списки
- Классы шаблонов массивов, списков и
ассоциативных списков
- Готовые к использованию классы массивов
- Готовые к использованию классы списков
- Готовые к использованию классы
ассоциативных списков
Классы для работы с файлами и базами данных
- Классы файлов ввода/вывода
- Классы для работы с DAO
- Классы для работы с ODBC
Классы для работы в Internet и сетях
- Классы ISAPI
- Классы сокетов Windows
Классы для работы с OLE
- Контейнерные классы OLE
- Серверные классы OLE
- Классы OLE для передачи данных и drag-and-drop
- Классы автоматизации OLE
- Классы, связанные с OLE
Классы для отладки и обработки исключений
- Классы поддержки отладки
- Классы обработки исключений
Глава 6. Макросы, глобальные функции и
переменные
Типы данных
Получение информации о приложении
Модель объекта времени выполнения
Диагностика объектов
Форматирование строк и окно сообщения
Часть IV. Программирование с использованием
библиотеки MFC
Глава 7. Основные составляющие приложения на
базе библиотеки классов MFC
Соглашения об именах MFC
Включаемые файлы
Функция WinMain
Минимальная программа для Windows
Регистрация класса окна
Создание окна
Глава 8. Обработка сообщений в библиотеке
классов MFC
Цикл обработки сообщений MFC
Категории сообщений
Карта сообщений
- Компоненты карты сообщений
Класс CCmdTarget
Стандартный маршрут команды
- Команды обновления и класс CCmdUI
Функции для работы с сообщениями
Часть V. Создание SDI- и MDI-приложений на базе
библиотеки MFC
Глава 9. Классы окон библиотеки MFC
Окна, определенные в ОС Windows
Класс CWnd
Класс CFrameWnd
Создание окна и библиотека MFC
- Создание главного окна SDI-приложения
- Создание дочерних окон
- Ограничение размеров окна
- Функция GetSystemMetrics
- Ограничение доступа к окну
Глава 10. Создание многодокументных
приложений
Часть VI. Элементы интерфейса пользователя
Глава 11. Панели элементов управления
Класс CControlBar
Класс CToolBar
Класс CToolBarCtrl
Класс CStatusBar
Класс CStatusBarCtrl
Класс CDialogBar
Класс CReBar
Класс CReBarCtrl
ControlBars - пример приложения
Глава 12. Меню
Глава 13. Акселераторы, графические и другие
ресурсы
Акселераторы
Графические ресурсы
Строковые ресурсы
Ресурсы, определяемые программистом
Часть VII. Блоки диалога
Глава 14. Модальные и немодальные блоки
диалога
Класс CDialog
Template - пример приложения
Блок диалога в качестве главного окна приложения
Обмен данными с блоком диалога
Создание блока диалога на основе шаблона в
памяти
Глава 15. Стандартные блоки диалога
Класс CFileDialog
Класс CColorDialog
Класс CFontDialog
Класс CFindReplaceDialog
Класс CPrintDialog
Класс CPageSetupDialog
Часть VIII. Графический интерфейс устройств (GDI)
Глава 16. Классы графического интерфейса
Глава 17. Классы контекстов устройств
Класс CDC
- Создание объекта класса и его связь с
контекстом устройства
- Настройка процесса рисования
- Режимы отображения
- Функции рисования
- Отображение битовых массивов
- Управление выводом текста
- Дополнительные функции
Глава 18. Классы графических объектов
Класс CGdiObject
Карандаш (класс CPen)
Кисть (класс CBrush)
Шрифт (класс CFont)
Битовый массив (класс CBitmap)
Регион (класс CRgn)
- Создание регионов
- Комбинирование регионов
PQClock - пример приложения
- Класс приложения
- Класс окна
Часть IX. Архитектура "документ/представление"(Document/view)
Глава 19. Основные положения
Место объекта-приложения в архитектуре "документ/представление"
- Класс CDocTemplate
- Класс CSingleDocTemplate
- Класс CMultiDocTemplate
Роль фреймов в архитектуре "документ/представление"
Сериализация
Глава 20. Документ и его представления
Документы
Представления
- Класс CView
- Класс CCtrlView
- Класс CEditView
- Классы CListView и CTreeView
- Класс CScrollView
- Класс CSplitterWnd
Глава 21. Печать и предварительный просмотр
документов
Выбор и настройка параметров принтера
Создание контекста устройства
Печать документов и библиотека MFC
Предварительный просмотр документа
Часть X. Элементы управления
Глава 22. Обзор стандартных элементов
управления
Глава 23. Классы стандартных элементов
управления
Статические элементы управления
- Создание
- Отображение битового массива
- Отображение значка
- Отображение курсора
- Отображение расширенных метафайлов
- Изменение цвета
Кнопки
- Создание
- Определение и изменение текущего
состояния кнопок
- Определение и изменение стиля кнопки
- Назначение изображений
- Переопределяемые функции
Простейший текстовый редактор
- Инициализация
- Выделение текста
- Работа со строками
- Работа с блоками текста
- Параметры и флаги
- Дополнительные функции
Список
- Инициализация
- Изменение параметров списка
- Функции для работы с содержимым списка
- Операции над элементами списка
- Переопределяемые функции
- Пример самоотображаемого списка
Комбинированный список
- Инициализация
- Основные операции с комбинированным
списком
- Операции со строками и виртуальные
функции
Полоса прокрутки
- Создание
- Работа с полосой прокрутки
Глава 24. Классы элементов управления с
расширенными возможностями
Кнопки с нанесенным битовым изображением
- Кнопки в блоке диалога
- Кнопки, созданные программным путем
- Функции класса
Список, имеющий флажки
- Инициализация
- Функции для работы с расширенным
списком
- Виртуальные функции
Комбинированный список с поддержкой списка
образов
- Создание комбинированного списка
- Основные операции
- Функции работы с атрибутами
Список с возможностью перетаскивания
элементов
- Ограничения на использование
- Создание списка
- Функции, предназначенные для
перемещения элементов
- Методика обхода ограничений
- Реализация копирования элементов
списка
Глава 25. Вспомогательные элементы управления
Просмотр видеоклипов
- Элемент управления "анимация"
- Класс CAnimateCtrl
- Уведомления
"Горячая клавиша"
- Глобальные "горячие клавиши"
- Поточно-ориентированные "горячие
клавиши"
- Пример использования класса CHotKeyCtrl
Индикатор
- Использование индикатора в панели
диалога
Линейка с ползунком
- Уведомления
- Создание элемента управления
- Параметры элемента управления
- Положение меток
- Положение ползунка
Счетчик
- Уведомления
- Автоматическое изменение
- Создание счетчика
- Параметры элемента управления
Всплывающая подсказка
- Оконная поддержка
- Возвращаемся к классу CToolTipCtrl
Глава 26. Комплексные элементы управления
Список изображений
- Создание списка
- Изменение содержимого списка
- Рисование изображений
- Перемещение изображений
- Информация о списке
Заголовок
- Создание элемента заголовка
- Атрибуты элементов заголовка
- Обработка извещений элемента заголовка
- Элемент заголовка, определяемый
пользователем
Просмотр списка
- Режимы вывода
- Создание просмотра списка
- Работа со столбцами
- Параметры просмотра списка
- Функции для работы со списком в целом
- Рабочие области просмотра списка
- Списки изображений
- Виртуальные списки
- Основные и дополнительные поля
- Записи по запросу
- Поиск и сортировка записей
- Редактирование надписей записей
- Обработка уведомлений
- Просмотр списка с возможностью
перемещения записей
- Переопределяемые функции
- ListCtrl - пример приложения
Просмотр дерева
- Создание просмотра дерева
- Списки изображений
- Изменение содержимого дерева
- Поиск и сортировка записей дерева
- Обработка уведомлений
Класс CMonthCalCtrl
Класс CDateTimeCtrl
Глава 27. Расширенный текстовый редактор
Глава 28. Наборы свойств
Создание набора свойств
- Создание страницы свойств
- Создание объекта "набор свойств"
- Настройка окна набора свойств
- Добавление страниц
- Создание модального окна свойств
- Создание немодального окна набора
свойств
- Обмен данными
- Операция Apply
Класс CPropertySheet
- Операции над набором свойств
- Вспомогательные функции
- Изменение параметров отображения
Класс CPropertySheetEx
Класс CPropertyPage
- Создание страницы свойств
- Переопределяемые функции
Класс CPropertyPageEx
Вкладки
- Создание вкладок
- Вспомогательные функции
- Изменение вкладок
Мастера
- Создание мастеров
- Переопределяемые функции
Часть XI. Поддержка многозадачности
Глава 29. Вытесняющая многозадачность
Общие положения
Классы процессов и приоритеты потоков
- Класс Idle
- Класс Normal
- Класс High
- Класс Realtime
- Относительные приоритеты потоков
Взаимодействие программ
Синхронизация потоков
- Критические секции
- Ожидающие функции
- Объекты синхронизации
Библиотека MFC и многозадачность
- Класс и функции для поддержки
многопотоковых приложений
- Классы и функции для поддержки
взаимодействия потоков и процессов
Глава 30. Создание потоков
Пример создания наследуемых потоков
Создание интерфейсных потоков
Класс CWinThread
Создание интерфейсных потоков (продолжение)
- CUIThreadApp - класс всего приложения
- CUIThreadFrame - класс основного окна
- CLineThread - класс дополнительного потока
- CLineWnd - класс окна "бегущая строка"
- CEditWnd - класс окна редактора
Создание рабочих потоков
- Управляющая функция и ее параметр
- Пример управляющей функции
Завершение потоков
- Нормальное завершение
- Экстренное завершение
- Код завершения
- Права доступа к потоку
Глава 31. Взаимодействие потоков
Взаимоисключение доступа
- Организация доступа к объектам классов
MFC
- Списки дескрипторов объектов Windows
- Graphics - пример приложения
Использование классов объектов синхронизации
- Создание класса разделяемых объектов
- Использование классов объектов
синхронизации
Классы объектов синхронизации
- Класс CSyncObject - базовый класс объектов
синхронизации
- Критическая секция (класс CCriticalSection)
- Взаимоисключение (класс CMutex)
- Событие (класс CEvent)
- Семафор (класс CSemaphore)
Классы, обеспечивающие синхронизацию
Terminal - многопотоковое приложение,
взаимодействующее с последовательным портом
- Класс блока диалога и функции потоков
- Окно редактора
- Работа с последовательным портом
- Кольцевой буфер общего доступа
Часть XII. Internet и базы данных
Глава 32. Работа с информационным сервером
Internet
Обзор ISAPI (API сервера Internet)
Классы ISAPI
- Класс CHttpServer
- Класс CHttpServerContext
- Карта разбора
Создание расширения ISAPI
Глава 33. Классы библиотеки MFC для работы с
базами данных
Классы для работы с ODBC
- Класс CDatabase
- Класс CRecordset
Глава 34. Использование расширения ISAPI
Описание сопроводительной дискеты
Предметный указатель