15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту

 

Visual C++ и MFC, 2-е издание (+ дискета)
Мешков А., Тихомиров Ю.

Содержание

Введение
Часть I. Обзор Visual C++ 6

    Глава 1. Знакомьтесь Visual C++ 6

      Что нового в этой версии?
      Настройки проекта

      • Настройка опций компилятора
      • Настройка опций компоновщика

    Глава 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

Описание сопроводительной дискеты
Предметный указатель