Читать онлайн «Win32 API. Эффективная разработка приложений»

Автор Юрий Щупак

Юрий Щупак фщ^Зшжш H!*fi#M^ Win32 API Эффективная разработка приложений 1^ППТЕР* Москва • Санкт-Петербург ¦ Нижний Новгород ¦ Воронеж Новосибирск ¦ Ростов-на-Дону • Екатеринбург ¦ Самара Киев ¦ Харьков ¦ Минск 2007 ББК 32. 973-018. 2 УДК 004. 451 Щ96 Щупак Ю. А. Щ96 Win32 API. Эффективная разработка приложений. — СПб. : Питер, 2007. — 572 с: ил. ISBN 5-469-01361-8 В этой книге изложены основополагающие принципы программирования для Windows на языке С/С++ с применением Win32 API. Книга ориентирована на широкий круг читателей: от начинающих программистов, студентов вузов, аспирантов и преподавателей до профессионалов в области программирования, желающих освоить специальные средства Win32 API. Практика показывает, что те программисты, которые начинают осваивать программирование для Windows сразу на уровне MFC или Windows Forms, не имея никакого опыта работы с Win32 API, сталкиваются с серьезными проблемами, как только дело доходит до создания реальных приложений. Напротив, опыт программирования с Win32 API позволяет осваивать более высокие технологии гораздо гармоничней и продуктивней. Владение базовыми знаниями Win32 API является надежной основой для вашего профессионального роста в сфере программирования. ББК 32. 973-018. 2 УДК 004. 451 Все права защищены. Никакая часть данной книги не может быть воспроизведена в какой бы то ни было форме без письменного разрешения владельцев авторских прав. Тем не менее, имея в виду возможные человеческие или технические ошибки, издательство не может гарантировать абсолютную точность и полноту приводимых сведений и не несет ответственности за возможные ошибки, связанные с использованием книги. ISBN 5-469-01361-8 © ЗАО Издательский дом «Питер», 2007 Краткое содержание Предисловие 15 Глава 1. «Hello, World!», или Первые шаги к пониманию основных концепций Windows 18 Глава 2.
GDI — графический интерфейс устройства. Рисование линий, фигур, текста 60 Глава 3. GDI. Палитры, растры, метафайлы 161 Глава 4. Средства ввода 215 Глава 5. Ресурсы Windows-приложения 244 Глава 6. Меню и быстрые клавиши 274 Глава 7. Диалоговые окна 306 Глава 8. Элементы управления общего пользования 381 Глава 9. Многозадачность 444 Глава 10. Таймеры и время 488 Глава 11. Специальные приложения 517 Приложение 1. Интегрированная среда Visual C++ 6. 0 541 Приложение 2. Интегрированная среда Visual Studio. NET. . 555 Приложение 3. Работа с утилитой Spy++ 562 Литература 565 Алфавитный указатель 566 Содержание Предисловие 15 Кому адресована эта книга 16 Как работать с книгой 16 Благодарности 17 От издательства 17 Глава 1. «Hello, World!», или Первые шаги к пониманию основных концепций Windows 18 Базовые концепции 18 Графический интерфейс пользователя 18 Многозадачность 19 Управление памятью 20 Независимость от аппаратных средств 21 Вызовы функций и DLL 21 Объектно-ориентированное программирование 22 Типы данных Win32 22 Архитектура, управляемая событиями 23 Оконная процедура 24 Оконные классы 25 Цикл обработки сообщений 26 Наипростейшая программа для Windows 26 Программа «Hello, world!» — первый вариант 31 Файл исходного текста программы 33 Регистрация класса окна 34 Создание окна 37 Использование функции CreateWindowEx 40 Отображение окна на экране 41 Обработка сообщений 42 Оконная процедура 44 Содержание 7 Программа «Hello, world!» — второй вариант 48 Функции поддержки окон 51 Часто используемые сообщения 52 Модификация характеристик окна 53 Особенности программирования для Windows 54 Синхронные и асинхронные сообщения 55 Посылка сообщений из приложения 56 Использование глобальных или статических переменных 57 Получение дескриптора экземпляра приложения 57 Предотвращение зависания приложения в случае медленной обработки отдельных событий 58 Использование утилиты Spy++ 59 Глава 2.