В книге Технология программирования на С++. Win32 API-приложения. Литвиненко изложен начальный курс низкоуровневого программирования на C++ для Windows с использованием библиотеки Win32 API. Подробно рассмотрены графический интерфейс Windows-приложения, стандартные диалоговые окна, элементы управления, растровая графика, DLL-библиотеки, процессы и потоки. Материал иллюстрирован многочисленными примерами, выполненными в Visual Studio 2010 под управлением Windows 7.
Содержание книги
Технология программирования на С++. Win32 API-приложения. Литвиненко
Оглавление Введение 1
Глава 1. Интерфейс Windows-приложения
3
Каркас Windows-приложения 4
Исследование каркаса Windows-приложения 9
Стандартная заготовка Windows-приложения 15
Обработка сообщений 21
Нажатие клавиши 21
Сообщение мыши 25
Создание окна 27
Таймер 27
Рисование в окне 29
Рисование линии 29
Прямоугольники, регионы и пути 46
Прямоугольники 46
Регионы 47
Пути 50
Области отсечения 52
Вывод текста 53
Цвет текста и фона 53
Получение метрики текста 54
Определение длины строки 55
Системные шрифты 56
Определение произвольных шрифтов 57
Диалог с пользователем 59
Окно сообщений 60
Меню 61
Пример интерактивной графики 63
Вопросы к главе 68
Задания для самостоятельной работы 69
Глава 2. Работа с файлами
71
Диалог выбора файлов 71
Простой просмотрщик файлов 72
Организация скроллинга 78
Панель инструментов 85
Выбор шрифтов 89
Чтение и запись файлов в библиотеке Win32 API 96
Вопросы к главе 100
Задания для самостоятельной работы 100
Глава 3. Окна и элементы управления
103
Дочерние окна 104
Всплывающие окна 109
Диалоговые окна 116
Тестирование элементов управления 118
Общие элементы управления 128
Окно редактирования 134
Строка состояния 140
Простой текстовый редактор на элементе управления Edit Box Control 141
Немодальные окна 148
Стандартное диалоговое окно выбора цвета 152
Вопросы к главе 155
Задания для самостоятельной работы 156
Глава 4. Растровая графика
157
Функция BitBlt() 157
Вывод изображения в заданный прямоугольник 160
Загрузка изображения из файла 161
Растровые операции 164
Анимация 167
Функция PlgBlt() 172
Функция MaskBlt() 177
Вращение графического образа 180
Виртуальное окно 183
Метафайлы 187
Создание дискового файла 190
Растровое изображение в метафайле 190
Расширенные метафайлы 192
Вопросы к главе 196
Задания для самостоятельной работы 196
Глава 5. Библиотеки динамической компоновки DLL
197
Создание DLL 197
Использование DLL 199
Неявное связывание 199
DLL общего использования 202
Явная загрузка DLL 204
Загрузка ресурсов из DLL 207
Вопросы к главе 210
Задания для самостоятельной работы 210
Глава 6. Процессы и потоки
211
Создание процесса 211
Создание потока 216
Функции С++ для создания и завершения потока 219
Измерение времени работы потока 220
Высокоточное измерение времени 223
Приоритеты потоков 225
Синхронизация потоков в пользовательском режиме 228
Interlocked-функции 228
Критические секции (critical section) 230
Синхронизация с использованием объектов ядра 232
Семафоры 233
События 238
Мьютексы 241
Ожидаемые таймеры 242
Обмен данными между процессами 247
Разделяемая память для нескольких экземпляров exe-файла 247
Файлы, проецируемые в память 249
Совместный доступ к данным нескольких процессов 256
Передача данных через сообщение 260
Вопросы к главе 264
Задания для самостоятельной работы 265
Приложение. Поиск окна 267
Поиск всех окон, зарегистрированных в системе 267
Поиск главного окна созданного процесса 269
Литература 273
Дополнительная литература 273
Предметный указатель 275
IV Оглавление V Оглавление
Книга представляет собой авторский сокращенный вариант издания «C++ How to Program: Fifth Edition», одного из самых популярных в мире учебников по C++. Сокращение объема обусловлено стремлением авторов максимально приспособить книгу к потребностям студентов и начинающих программистов, для которых C++ являлся бы «первым языком» программирования.
Книга «C# 2010: ускоренный курс для профессионалов» - руководство по созданию эффективного кода на C# 4.0. В ней показано, как пишутся программы, которые характеризуются надежностью, устойчивостью к ошибкам и готовностью быть помещенными в широко доступные библиотеки.