Visual C++ и MFC — Книга посвящена оъектно - ориентированному программированию для 32 - разрядных систем Windows 95/98 и Windows NT с использованием компилятора Visual C++ 6 и библиотеки классов MFC версии 4.23. Книга содержит исчерпывающую информацию о библиотеке классов MFC (Microsoft Foundation Classes) и методах создания приложений Windows на основе классов этой библиотеки, а также большое количество наглядных и подробно прокомментированных примеров приложений, полные тексты которых приведены на сопроводительной дискете. Для программистов, владеющих языками С и С++ и имеющих опыт программирования в системе Windows.
Название: Visual C++ и MFC Автор: Александр Мешков, Юрий Тихомиров Издательство: БХВ-Петербург Год: 1999 Страниц: 1035 Формат: PDF Размер: 10,0 МБ ISBN: 5-8206-0073-8 Качество: Отличное Серия или Выпуск: Мастер. Руководство для профессионалов Язык: Русский
Содержание:
Введение Часть I. Обзор Visual C++ Глава 1. Знакомьтесь - Visual C++ Что нового в этой версии? Настройки проекта Настройка опций компилятора Настройка опций компоновщика Глава 2. Интегрированная среда разработки (IDE) Часть II. Программирование под MS Windows Глава 3. Знакомство с Windows Пользовательский интерфейс Окна, элементы управления, модальные и немодальные блоки диалога Ресурсы приложения Система, управляемая сообщениями Интерфейс прикладного программирования Управление графическим выводом Графические объекты Аппаратно-независимый графический вывод Контекст устройства Графические режимы Работа со шрифтами APIShell - пример приложения Глава 4. Структура приложений для Windows Стандартный цикл обработки сообщений Оконная процедура Основные типы оконных сообщений Windows APIWin - пример приложения Часть 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 Класс CWinApp Минимальная программа для windows Регистрация класса окна Создание окна Глава 8. Обработка сообщений в библиотеке классов MFC Цикл обработки сообщений MFC Категории сообщений Карта сообщений Компоненты карты сообщений Класс CCmdTarget Стандартный маршрут команды Команды обновления и класс ccmdui Функции для работы с сообщениями Часть V. Создание SDI- и MDI-приложений на базе библиотеки MFC Глава 9. Классы окон библиотеки MFC Окна, определенные в ОС Windows Класс CWnd Класс CFrameWnd Создание окна и библиотека MFC Создание главного окна SDI-приложения Создание дочерних окон Ограничение размеров окна Функция GetSystemMetrics Ограничение доступа к окну Глава 10. Создание многодокументных приложений Класс CMDIFrameWnd Класс CMDIChildWnd MDI - пример приложения Обработка команд меню Unicode Обработка команд меню (продолжение) Обработка сообщения wm_paint Часть VI. Элементы интерфейса пользователя Глава 11. Панели элементов управления Класс CControlBar Класс CToolBar Класс CToolBarCtrl Класс CStatusBar Класс CStatusBarCtrl Класс CDialogBar Класс CReBar Класс CReBarCtrl ControlBars - пример приложения Глава 12. Меню Основные типы меню Класс CMenu Создание меню на основе шаблона Динамическое создание меню Динамическое изменение меню Системное меню Контекстное меню Создание собственных маркеров состояния Самоотображение элементов меню Глава 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 Роль фреймов в архитектуре "документ/представление" Сериализация Класс CArchive Глава 20. Документ и его представления Документы Класс CDocument Представления Класс CView Класс CCtrlView Класс CEditView Классы CListView и CTreeView Класс CScrollView Класс CSplitterWnd Глава 21. Печать и предварительный просмотр документов Выбор и настройка параметров принтера Создание контекста устройства Печать документов и библиотека MFC Предварительный просмотр документа Часть X. Элементы управления Глава 22. Обзор стандартных элементов управления Создание элементов управления Создание элементов управления в редакторе ресурсов Создание элементов управления в тексте приложения Глава 23. Классы стандартных элементов управления Статические элементы управления Создание Отображение битового массива Отображение значка Отображение курсора Отображение расширенных метафайлов Изменение цвета Кнопки Создание Определение и изменение текущего состояния кнопок Определение и изменение стиля кнопки Назначение изображений Переопределяемые функции Простейший текстовый редактор Инициализация Выделение текста Работа со строками Работа с блоками текста Параметры и флаги Дополнительные функции Список Инициализация Изменение параметров списка Функции для работы с содержимым списка Операции над элементами списка Переопределяемые функции Пример самоотображаемого списка Комбинированный список Инициализация Основные операции с комбинированным списком Операции со строками и виртуальные функции Полоса прокрутки Создание Работа с полосой прокрутки Глава 24. Классы элементов управления с расширенными возможностями Кнопки с нанесенным битовым изображением Кнопки в блоке диалога Кнопки, созданные программным путем Функции класса Список, имеющий флажки Инициализация Функции для работы с расширенным списком Виртуальные функции Комбинированный список с поддержкой списка образов Создание комбинированного списка Основные операции Функции работы с атрибутами Список с возможностью перетаскивания элементов Ограничения на использование Создание списка Функции, предназначенные для перемещения элементов Методика обхода ограничений Реализация копирования элементов списка Глава 25. Вспомогательные элементы управления Просмотр видеоклипов Элемент управления "анимация" Класс CAnimateCtrl Уведомления "Горячая клавиша" Глобальные "горячие клавиши" Поточно-ориентированные "горячие клавиши" Пример использования класса CHotKeyCtrl Индикатор Использование индикатора в панели диалога Линейка с ползунком Уведомления Создание элемента управления Параметры элемента управления Положение меток Положение ползунка Счетчик Уведомления Автоматическое изменение Создание счетчика Параметры элемента управления Всплывающая подсказка Оконная поддержка Возвращаемся к классу CToolTipCtrl Глава 26. Комплексные элементы управления Список изображений Создание списка Изменение содержимого списка Рисование изображений Перемещение изображений Информация о списке Заголовок Создание элемента заголовка Атрибуты элементов заголовка Обработка извещений элемента заголовка Элемент заголовка, определяемый пользователем Просмотр списка Режимы вывода Создание просмотра списка Работа со столбцами Параметры просмотра списка Функции для работы со списком в целом Рабочие области просмотра списка Списки изображений Виртуальные списки Основные и дополнительные поля Записи по запросу Поиск и сортировка записей Редактирование надписей записей Обработка уведомлений Просмотр списка с возможностью перемещения записей Переопределяемые функции Listctrl - пример приложения Просмотр дерева Создание просмотра дерева Списки изображений Изменение содержимого дерева Поиск и сортировка записей дерева Обработка уведомлений Класс CMonthCalCtrl Обработка уведомлений Класс CDateTimeCtrl Обработка уведомлений Глава 27. Расширенный текстовый редактор Класс CRichEditCtrl Создание объекта класса CRichEditCtrl Изменение параметров редактора Настройка окна редактора Размер содержимого редактора Работа со строками Выделение содержимого редактора Работа с буфером обмена Печать содержимого редактора Уведомляющие сообщения Расширенные возможности Расширенный редактор в рамках архитектуры "документ/представление" Класс CRichEditView Класс CRichEditDoc Глава 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 Описание сопроводительной дискеты Предметный указатель