Визуальное программирование и MFC
Визуальное программирование и MFC
Глава 1. Введение в Visual C++
Некоторые сведения о программировании Windows-приложений
Программная среда Windows
Основы программирования под Windows
Преимущества использования MFC
Обзор среды Microsoft Developer Studio
Библиотека MFC
Архитектура приложения
Каркас приложения
Каркас приложений
Проект приложения
Использование средств разработки
Типы мастеров проектов
Преимущества мастеров проектов
Обзор возможностей ClassWizard
Имена, используемые в MFC
Глава 2. Краткий обзор классов MFC
Самый базовый класс библиотека MFC (класс CObject)
Основа структуры приложения (класс CCmdTarget)
Подзадачи приложения (классы CWinThread и CWinApp)
Документ приложения (класс CDocument)
Шаблон документов (классы CDocTemplate, CSingleDocTemplate и CMultiDocTemplate)
Окна (класс CWnd)
Массивы, списки, словари
Файловая система (класс CFile)
Контекст отображения (класс CDC)
Объекты графического интерфейса (класс CGdiObject)
Меню (класс CMenu)
Другие классы
Классы, не имеющие базового класса
Глава 3. Простейшие MFC-приложения
Приложение без главного окна
Приложение с главным окном
Обработка окном сообщений
Группы сообщений
Таблица сообщений
Приложение, обрабатывающее сообщения
Глава 4. Диалоговые панели (использование ClassWizard)
Модальная диалоговая панель
Диалоговая панель - главное окно приложения
Немодальная диалоговая панель
Глава 5. Приложение, основанное на диалоге (использование AppWizard)
Создание шаблона приложения
Главный класс приложения
Класс диалоговой панели
Глава 6. Обзор классов окон библиотеки MFC
Объекты класса CWnd и Windows-окна
Создание и уничтожение Windows-окон
Методы инициализации
Методы управления состоянием окна
Методы управления размером и положением окна
Методы взаимодействия Windows-окон
Методы управления текстом окна
Некоторые методы класса CButton
Некоторые методы класса CEdit
Некоторые методы класса CListBox
Стандартные диалоговые панели
Панель выбора цвета (класс CColorDialog)
Панель выбора файлов (класс CFileDialog)
Панель выбора шрифта (класс CFontDialog)
Панель для вывода документов на печать (класс CPrintDialog)
Панель для выполнения поиска и замены (класс CFindReplaceDialog)
Глава 7. Архитектура Document-View
Документы и облики
Создание документов и обликов
Взаимодействие документов и обликов
Глава 8. Приложение с однодокументным интерфейсом (использование AppWizard)
Ресурсы приложения
Классы приложения
Класс документа
Класс окна просмотра документа
Класс главного окна приложения
Глава 9. Приложение с многодокументным интерфейсом (использование AppWizard)
Класс дочернего окна MDI
Глава 10. Работа с документами и окнами просмотра документов
Редактирование документа
Синхронизация окон просмотра документа
Создание нового документа
Сохранение и восстановление документа на диске
Создание нового класса документа
Создание шаблона документа
Ресурсы документа
Глава 11. Обработка командных сообщений
Порядок обработки командых сообщений
Стандартные последовательности обработки сообщений
Стандартные командные сообщения
Глава 12. Работа с графикой
Замечание о классе CView
Атрибуты контекста устройства
Системы координат
Объекты GDI
GDI-атрибуты контекста устройства
Методы для рисования линий и фигур
Глава 13. Работа с файловой системой
Класс CFile
Визуальное программирование и MFC
Класс CMemFile
Класс CStdioFile
Примеры записи и чтения из файла
Глава 14. Сохранение и восстановление состояния объектов
Создание класса, обеспечивающего сериализацию данных
Механизм записи и восстановления объектов
Методы класса CArchive
Глава 15. Меню приложения
Меню без явного создания объекта класса CMenu
Создание объекта класса CMenu
Глава 16. Панель управления
Ресурсы панели управления
Создание панели управления
Форма панели и режимы работы кнопок
Положение панели управления
Пример создания панели управления
Дополнительные возможности панели управления
Глава 17. Диалоговая панель управления
Методы класса диалоговой панели управления
Создание диалоговой панели управления
Глава 18. Панель состояния
Создание панели состояния
Изменение характеристик индикаторов
Отображение текста в панели состояния
Дополнительные возможности панели состояния
Глава 19. Ресурсы клавиш-акселераторов
Глава 20. Обновление пользовательского интерфейса
Макрокоманда ON_UPDATE_COMMAND_UI
Методы класса CCmdUI
Глава 21. Потоковая многозадачность
Использование потоков
Потоки MFC
Создание рабочего потока
Использование нескольких потоков
Остановка и возобновление выполнения потоков
Управление приоритетами потоков
Синхронизация потоков
Объекты синхронизации и классы MFC
Работа с семафорами
Работа с объектами событий
Использование критических секций
Глава 22. Библиотеки динамической компоновки
Использование DLL
Библиотеки импортирования
Согласование интерфейсов
Загрузка неявно подключаемой DLL
Динамическая загрузка и выгрузка DLL
Пример обычной DLL и способов загрузки
Создание DLL
Функция DllMain
Экспортирование функций из DLL
Экспортирование классов
Память DLL
Полная компиляция DLL
DLL и MFC
Обычные MFC DLL
Динамические расширения MFC
Загрузка динамических расширений MFC
Экспортирование функций из динамических расширений
Глава 23. Управление памятью
Процессы и адресное пространство
Как устроена виртуальная память
Функция VirtualAlloc: переданная и зарезервированная память
Куча Windows и семейство функций GlobalAlloc
Куча библиотеки С периода выполнения, _heapmin и С++-операторы new и delete
Отображаемые в память файлы и разделяемая память
Несколько советов по работе с динамической памятью
Глава 24. Введение в технологии OLE и ActiveX
От OLE к ActiveX
Понятие СОМ
Как работает СОМ
СОМ и объектно-ориентированный подход
СОМ и многокомпонентные программы
Преимущества СОМ
Доступность СОМ
Обзор технологий ActiveX и OLE
Автоматизация
Перманентность
Моникеры
Единообразная передача данных и объекты с подключением
Составные документы
Управляющие элементы ActiveX
Распределенная СОМ
СОМ и технологии Интернета
Перспективы ActiveX и OLE
Точка зрения конечного пользователя
Точка зрения разработчика приложения
Точка зрения создателя управляющего элемента
Использование готовых компонентов и элементов управления
Галерея компонентов и элементов управления
Использование управляющих элементов в приложении
Глава 26. Создание элемента управления ActiveX
Создание проекта
Главный класс модуля OCX-объекта
Класс OLE-элемента управления
Класс страницы свойств OLE-элемента управления
Добавление нового свойства
Типы свойств
Добавление свойств
Добавление нового метода
Методы автоматизации
Добавление различных методов
Добавление нового события
Типы событий
Добавление события
Корректировка страниц свойств
Связь данных
Глава 27. Модель COM/DCOM
Модель COM
Визуальное программирование и MFC
Описание объектов СОМ
Интерфейсы
IUnknown — фундаментальный интерфейс
Классы
Серверы объектов СОМ
СОМ и многопоточность
Создание объектов СОМ
Библиотека СОМ
Создание одного объекта
Создание нескольких объектов одного класса: фабрики классов
Эмуляция
Инициализация объектов СОМ
Повторное применение объектов СОМ
Включение
Агрегирование
Распределенная COM (DCOM)
Создание удаленного объекта
Использование CoCreatelnstance
Использование CoCreatelnstanceEx
Объединение создания и инициализации
Использование моникера
Доступ к удаленному объекту
Объектный RPC
OXID и разрешатели OXID
OBJREF: передача указателей интерфейсов
Роль SCM
Оптимизация IUnknown
Тестовый опрос
Обеспечение безопасного доступа к удаленному объекту
Защита активизации
Защита вызовов
Глава 28. COM-cерверы и их клиенты
Введение в серверы ActiveX
Автоматизация как механизм обмена информацией
Разработка трехуровневых приложений с помощью компонентов серверов
Сравнение библиотек MFC и ATL
MFC-cерверы автоматизации
DLL-сервер автоматизации
Класс сервера
Регистрация сервера
Усовершенствование сервера – добавление COM-объекта
EXE-сервер автоматизации
ATL-cерверы автоматизации
Создание сервера автоматизации
Усовершенствование сервера
MFC-контроллер автоматизации
StdAfx.h
StdAfx.cpp
Resource.h
Dlg.rc
Dlg.h
Dlg.cpp
DlgDlg.h
DlgDlg.cpp
Single.rc
Single.h
Single.cpp
MainFrm.h
MainFrm.cpp
SingleDoc.h
SingleDoc.cpp
SingleView.h
SingleView.cpp
Multi.rc
Multi.h
Multi.cpp
ChildFrm.h
ChildFrm.cpp
MultiDoc.h
MultiDoc.cpp
MultiView.h
MultiView.cpp
Name.rc
Name.h
Name.cpp
NameCtl.h
NameCtl.cpp
NamePpg.h
NamePpg.cpp
Name.odl
Создание шаблона приложений
Редактирование документов (и обликов)
Инициализация нового документа
Сохранение и восстановление документов
TCP-IP крупным планом
см. раздел
Компьютер (железо) - статьи
см. раздел