Программирование для Windows 95 в двух томах

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Эта книга для тех, кто будучи искусным программистом языка С, хотел бы научиться писать приложения для операционной системы Microsoft Windows 95. Близкое знакомство с языком С является первым из трех необходимых условий пользования этой книгой. Вторым условием является инсталляция 32-разрядной системы программирования Microsoft Visual C++ версии 4.0. И третье — реальное использование операционной системы Windows 95 и умение работать с ее пользовательским интерфейсом.

Author(s): Петзолд Ч.
Year: 2003

Language: Russian
Pages: 495
City: М
Tags: Библиотека;Компьютерная литература;WinAPI;

Содержание......Page 3
Часть I Введение......Page 9
Вызов, брошенный программистам......Page 11
Основные правила......Page 12
Краткая история Windows......Page 13
Краткая история этой книги......Page 14
Начнем......Page 15
Графический интерфейс пользователя......Page 17
Преимущество многозадачности......Page 18
Соглашения операционной системы Windows......Page 19
Архитектура, управляемая событиями......Page 20
Ваша первая программа для Windows......Page 21
Файлы HELLOWIN......Page 22
Файл исходного текста программы на языке C......Page 25
Идентификаторы, написанные прописными буквами......Page 26
Описатели......Page 27
Точка входа программы......Page 28
Регистрация класса окна......Page 29
Создание окна......Page 31
Отображение окна......Page 32
Цикл обработки сообщений......Page 33
Обработка сообщений......Page 34
Сообщение WM_PAINT......Page 35
Сообщение WM_DESTROY......Page 36
Не вызывай меня, я вызову тебя......Page 37
Синхронные и асинхронные сообщения......Page 38
Кривая обучения......Page 39
Рисование и обновление......Page 41
Действительные и недействительные прямоугольники......Page 42
Получение описателя контекства устройства. Первый метод......Page 43
Структура информации о рисовании......Page 44
Получение описателя контекста устройства. Второй метод......Page 45
Функция TextOut. Подробности......Page 46
Размер символа......Page 47
Метрические параметры текста. Подробности......Page 48
Форматирование текста......Page 49
Соединим все вместе......Page 50
Оконная процедура программы SYSMETS1.C......Page 53
Не хватает места!......Page 54
Полосы прокрутки......Page 55
Диапазон и положение полос прокрутки......Page 56
Сообщения полос прокрутки......Page 57
Прокрутка в программе SYSMETS......Page 58
Создание улучшенной прокрутки......Page 62
Мне не нравится пользоваться мышью......Page 67
Концепция GDI......Page 69
Типы функций......Page 70
Примитивы GDI......Page 71
Получение описателя контекста устройства......Page 72
Программа DEVCAPS1......Page 74
О цветах......Page 77
Атрибуты контекста устройства......Page 78
Сохранение контекста устройства......Page 79
Рисование отрезков......Page 80
Ограничивающий прямоугольник......Page 84
Сплайны Безье......Page 89
Использование стандартных перьев......Page 93
Создание, выбор и удаление перьев......Page 94
Режимы рисования......Page 96
Рисование закрашенных областей......Page 97
Функция Polygon и режим закрашивания многоугольника......Page 98
Закрашивание внутренней области......Page 99
Режим отображения......Page 100
Координаты устройства (физические координаты) и логические координаты......Page 101
Область вывода и окно......Page 102
Работа в режиме MM_TEXT......Page 103
Метрические режимы отображения......Page 105
Ваши собственные режимы отображения......Page 106
Программа WHATSIZE......Page 109
Работа с прямоугольниками......Page 112
Случайные прямоугольники......Page 113
Создание и рисование регионов......Page 117
Программа CLOVER......Page 118
Создание и воспроизведение путей......Page 121
Расширенные перья......Page 122
Bits and Blts......Page 125
Битовые образы, независящие от устройства (DIB)......Page 126
Файл DIB......Page 127
Преобразование DIB в объекты "битовые образы"......Page 128
Создание битовых образов в программе......Page 129
Формат монохромного битового образа......Page 130
Контекст памяти......Page 131
Мощная функция BitBlt......Page 132
Перенос битов с помощью функции BitBlt......Page 135
Использование других ROP кодов......Page 136
Дополнительные сведения о контексте памяти......Page 138
Растяжение битовых образов с помощью функции StretchBlt......Page 141
Кисти и битовые образы......Page 142
Метафайлы......Page 143
Простое использование метафайлов памяти......Page 144
Делаем это лучше......Page 147
Базовая процедура......Page 148
Заглянем внутрь......Page 151
Вывод точных изображений......Page 153
Вывод простого текста......Page 154
Атрибуты контекста устройства и текст......Page 156
Типы шрифтов......Page 157
Система EZFONT......Page 158
Внутренняя работа......Page 161
Форматирование простого текста......Page 162
Работа с абзацами......Page 163
Часть II Средства ввода......Page 169
Игнорирование клавиатуры......Page 171
Аппаратные и символьные сообщения......Page 172
Переменная lParam......Page 173
Виртуальные коды клавиш......Page 175
Положение клавиш сдвига и клавиш-переключателей......Page 177
Логика обработки сообщений WM_KEYDOWN......Page 178
Посылка асинхронных сообщений......Page 179
Символьные сообщения......Page 184
Сообщения WM_CHAR......Page 185
Взгляд на сообщения клавиатуры......Page 186
Функции работы с кареткой......Page 190
Программа TYPER......Page 191
Наборы символов Windows......Page 196
Набор символов OEM......Page 197
Наборы символов OEM, ANSI и шрифты......Page 198
Связь с MS-DOS......Page 199
Использование цифровой клавиатуры......Page 200
Решение проблемы с использованием системы UNICODE в Windows NT......Page 201
Несколько кратких определений......Page 203
Сообщения мыши, связанные с рабочей областью окна......Page 204
Простой пример обработки сообщений мыши......Page 205
Обработка клавиш ......Page 208
Сообщения мыши нерабочей области......Page 209
Сообщение теста попадания......Page 210
Гипотетический пример......Page 211
Пример программы......Page 212
Эмуляция мыши с помощью клавиатуры......Page 215
Добавление интерфейса клавиатуры к программе CHECKER......Page 216
Использование дочерних окон для тестирования попадания......Page 219
Дочерние окна в программе CHECKER......Page 220
Захват мыши......Page 223
Рисование прямоугольника......Page 224
Программа BLOKOUT2......Page 227
Основы использования таймера......Page 231
Таймерные сообщения не являются асинхронными......Page 232
Первый способ......Page 233
Второй способ......Page 237
Третий способ......Page 239
Использование таймера для часов......Page 240
Обеспечение международной поддержки......Page 243
Создание аналоговых часов......Page 244
Стандартное время Windows......Page 248
Анимация......Page 249
Глава 8 Дочерние окна управления......Page 253
Класс кнопок......Page 254
Создание дочерних окон......Page 257
Сообщения родительского окна дочерним окнам......Page 258
Флажки......Page 259
Изменение текста кнопки......Page 260
Кнопки и фокус ввода......Page 261
Системные цвета......Page 262
Сообщение WM_CTLCOLORBTN......Page 263
Кнопки, определяемые пользователем......Page 264
Класс статических дочерних окон......Page 269
Класс полос прокрутки......Page 270
Программа COLORS1......Page 271
Введение новой оконной процедуры......Page 276
Закрашивание фона......Page 277
Класс редактирования......Page 278
Стили класса редактирования......Page 280
Сообщения управляющему окну редактирования......Page 281
Класс окна списка......Page 282
Добавление строк в окно списка......Page 283
Выбор и извлечение элементов списка......Page 284
Простое приложение, использующее окно списка......Page 285
Список файлов......Page 288
Утилита Head для Windows......Page 289
Часть III Использование ресурсов......Page 293
Компиляция ресурсов......Page 295
Значки и курсоры......Page 296
Редактор изображений......Page 298
Получение описателя значков......Page 300
Использование альтернативных курсоров......Page 301
Использование битовых образов и кистей......Page 302
Использование символьных строк в функции MessageBox......Page 305
Ресурсы, опеределяемые пользователем......Page 306
Меню......Page 313
Шаблон меню......Page 314
Ссылки на меню в вашей программе......Page 315
Меню и сообщения......Page 316
Образец программы......Page 318
Сложный способ определения меню......Page 322
Независимые всплывающие меню......Page 324
Использование системного меню......Page 328
Другие команды меню......Page 330
Нестандартный подход меню......Page 331
Использование в меню битовых образов......Page 335
Создание битового образа, содержащего текст......Page 341
Масштабирование битовых образов......Page 342
Соберем все вместе......Page 343
Зачем нужны быстрые клавиши?......Page 344
Таблица быстрых клавиш......Page 345
Преобразование нажатий клавиш клавиатуры......Page 346
Получение сообщений быстрых клавиш......Page 347
Программа POPPAD, имеющая меню и быстрые клавиши......Page 348
Разрешение пунктов меню......Page 352
Обработка опций меню......Page 353
Создание окна диалога About......Page 355
Шаблон окна диалога......Page 358
Диалоговая процедура......Page 359
Вызов окна диалога......Page 360
Дополнительная информация о стиле окна диалога......Page 361
Дополнительная информация об определении дочерних окон элементов управления......Page 362
Более сложное окно диалога......Page 364
Работа с дочерними элементами управления окна диалога......Page 368
Кнопки OK и Cancel......Page 370
Позиции табуляции и группы......Page 371
Определение собственных окон управления......Page 373
Окна сообщений......Page 378
Немодальные окна диалога......Page 379
Различия между модальными и немодальными окнами диалога......Page 380
Новая программа COLORS......Page 381
Программа HEXCALC: обычное окно или окно диалога?......Page 385
Творческое использование идентификаторов дочерних окон элементов управления......Page 390
Модернизированная программа POPPAD......Page 391
Изменение шрифта......Page 407
Программа для Windows, содержащая всего один вызов функции......Page 408
Глава 12 Современный пользовательский интерфейс......Page 411
Основы элементов управления общего пользования......Page 412
Создание элементов управления общего пользования......Page 413
Стили элементов управления общего пользования......Page 414
Восылка сообщений элементам управления общего пользования......Page 417
Уведомляющие сообщения от элементов управления общего пользования......Page 418
Панели инструментов......Page 421
Создание панели инструментов......Page 422
Строка состояния......Page 434
Программа GADGETS......Page 438
Наборы страниц свойств......Page 465
Создание набора страниц свойств......Page 466
Процедуры диалогового окна страницы свойств......Page 470
Программа PROPERTY......Page 475