Предлагаемая читателю книга является плодом долгих раздумий автора. Дело в том, что подавляющее большинство книг, посвященных
программированию для Windows, написаны с таким расчетом, чтобы пользователь чуть ли не через пару прочитанных страниц мог начать программировать. Возможно, эта задача успешно выполняется. Но в этом случае возникает другая проблема: у многих программистов после получения первоначальных знаний, достаточных для создания окна и простых диалогов, отпадает желание двигаться дальше. Подавляющее большинство
возможностей, предоставляемых системой, остаются вне поля зрения.
По моему мнению, такой подход к изложению основ Win32 API методологически не верен. Я решил пойти по другому пути: сначала рассказать читателю, какие возможности предоставляет Win32 API, и только потом научить его создавать пользовательский интерфейс. Тем самым я постараюсь достичь того, что программист будет понимать возможности системы. Это позволит ему создавать более интересные программы. Когда я начал изучение
Предисловие 3
GETTING STARTED-ДАВАЙТЕ НАЧНЕМ! “HELLO, WORLD!”
WIN32 API 5
Файлы программы для Windows 5
Что необходимо для получения исполняемого модуля 5
Типы данных, применяемые в Windows 6
Венгерская нотация 7
Windows как объектно-ориентированная система 7
“Кровеносная система” программы для Windows 8
WinMain() + функция окна = минимальная программа для Windows 9
Первая программа для Windows 10
UNICODE 27
Что TaKoeUnicode 27
Unicode в Windows NT и Windows’95 28
ОСНОВЫ РИСОВАНИЯ И КОПИРОВАНИЯ ИЗОБРАЖЕНИЙ 33
Немного лирики 33
Контекст устройстыва 33
Коды растровых операций 47
Полосы прокрутки 50
Контекст устройства и WM PAINT 58
Рисование графических примитивов 58
ВЗАИМОДЕЙСТВИЕ ПРОГРАММЫ С ПОЛЬЗОВАТЕЛЕМ 70
Немного о ресурсах (предсиловие к разговору) 70
Меню и акселераторы 74
Диалоговые окна и их элементы 98
ОБЩИЕ ЭЛЕМЕНТЫ УПРАВЛЕНИЯ 135
Работа со строкой состояния 136
Работа со спином 141
Работа с трекбаром 148
Работа с индикатором (progress Ьаг’ом) 156
Работа с окнам и подсказок 161
Работа со списком изображений 170
Работа с закладками 181
Работа с окном просмотра деревьев 192
Окно редактирования, поддерживающее форматирование текста (Rich Edit Control) 202
РЕЕСТР 222
Структура реестра 222
Работа с реестром 223
309
КОЕ-ЧТО О МНОГОЗНАЧНОСТИ В WINDOWS 236
Запуск процесса 238
Завершение процесса 245
Создание потока 251
Завершение потока 252
Синхронизация 253
ДИНАМИЧЕСКИ ПОДКЛЮЧАЕМЫЕ БИБЛИОТЕКИ 258
Способы присоединения DLL к программе 259
Вывернем программы наизнанку 264
Инициализация и деинициализация DLL 266
КОНСОЛИ 269
Что такое консоль 269
Техника разработки консольной программы 270
Крючки (хуки) 287
Заключение 306