Н.А. Литвиненко | Технология программирования на С++. Win32 API-приложения [2010] [DJVU, PDF] [Листинги]
#777 Автор: Н.А. Литвиненко Название: Технология программирования на С++. Win32 API-приложения Год: 2010 Издательство: СПб, БХВ-Петербург ISBN: 978-5-9775-0600-7 Отрасль (жанр): Учебное пособие Формат: DJVU Качество: OCR с ошибками
Описание: Книга Технология программирования на C++. Win32 API-приложения является учебным пособием по начальному курсу низкоуровневого программирования на C++ для Windows с использованием библиотеки Программного интерфейса приложений (Application Program Interface). Книга предназначена для студентов и преподавателей технических вузов (специальности "Информационные системы", "Информатика и вычислительная техника" и т.п.), а также с успехом может быть использована для самообразования.
Книга включает шесть глав текста с большим количеством практических примеров. В главе 1 "Интерфейс Windows-приложения" изложены сведения о скелете Windows-приложения, по обработке сообщений, выводу текста и простейшей графике. Глава 2 "Работа с файлами" посвящена вопросам выбора имени файла, назначения шрифта и организации скроллинга. Все это демонстрируется на примере разработки программы - просмотрщика текстовых файлов. Глава 3 "Окна и элементы управления" рассматривает технику создании дочерних и всплывающих окон, а также использование диалоговых окон в качестве контейнеров дли стандартных и общих элементов управления. В главе 4 "Растровая графика" на многочисленных примерах продемонстрирована методика вывода в окно растровых изображений. Здесь же рассмотрены примеры создания виртуальных окон и метафайлов. Глава 5 "Библиотеки динамической компоновки DLL" посвящена технике создания пользовательских динамических библиотек и их использованию при явном и неявном связывании. В главе 6 "Процессы и потоки" рассматриваются порядок создания процессов и потоков, механизмы их синхронизации, объекты ядра и обмен данными между процессами.
Введение 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 Задания для самостоятельной работы . 101
Глава 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 Функции C++ для создания и завершения потока . 219 Измерение времени работы потока . 220 Высокоточное измерение времени . 223 Приоритеты потоков . 225 Синхронизация потоков в пользовательском режиме . 228 Interlocked-функции . 228 Критические секции (critical section) . 230 Синхронизация с использованием объектов ядра . 232 Семафоры . 233 События . 238 Мьютексы . 241 Ожидаемые таймеры . 242 Обмен данными между процессами . 247 Разделяемая память для нескольких экземпляров ехе-файла . 247 Файлы, проецируемые в память . 249 Совместный доступ к данным нескольких процессов . 256 Передача данных через сообщение . 260 Вопросы к главе . 264 Задания для самостоятельной работы . 265
Приложение Поиск окна . 266 Поиск всех окон, зарегистрированных в системе . 266 Поиск главного окна созданного процесса . 268 Литература . 271 Дополнительная литература . 271 Предметный указатель . 272 содержание . 278
Доп. информация: В раздаче книга в двух форматах: djvu и pdf (выбирайте). Ошибок не так много как можно было бы подумать, но они есть. На этот случай прилагаются листинги, тоже в двух форматах: txt и doc.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения
Ресурс не предоставляет электронные версии произведений, а занимается лишь коллекционированием и каталогизацией ссылок, присылаемых и публикуемых на форуме нашими читателями. Если вы являетесь правообладателем какого-либо представленного материала и не желаете чтобы ссылка на него находилась в нашем каталоге, свяжитесь с нами и мы незамедлительно удалим её. Файлы для обмена на трекере предоставлены пользователями сайта, и администрация не несёт ответственности за их содержание. Просьба не заливать файлы, защищенные авторскими правами, а также файлы нелегального содержания!