10____________________________Программирование в C++Builder 4

5.1.1.2 Простое приложение для просмотра графических файлов . ...... 324

5.1.1.3 Форматы графических файлов ................... 325

5.1.1.4 Классы для хранения графических объектов TPicture, TBitmap,

TIcon и TMetafile ......................... 326

5.1.2 Редактор Изображений Image Editor ............... 328

5.1.2.1 Создание файла изображения .................... 328

5.1.2.2 Создание пиктограммы для шаблона компонента в библиотеке .... 330

5.1.2.3 Создание пиктограммы для кнопки ................. 331

5.1.2.4 Работа с файлами ресурсов ..................... 332

5.1.3 Канва — холст для рисования .................. 333

5.1.3.1 Канва и пиксели .......................... 333

5.1.3.2 Рисование по пикселям. ...................... 334

5.1.3.3 Рисование с помощью пера Pen ................... 335

5.1.3.4 Brush — кисть . .......................... 338

5.1.4 Пример построения собственного простого

графического редактора ..................... 340

5.1.5 Режимы рисования ....................... 344

5.1.5.1 Режимы пера ............................ 344

5.1.5.2 Режимы копирования и рисования канвы .............. 345

5.1.6 Продолжение создания собственного графического редактора. ... 347

5.1.7 События OnPaint ........................ 353

5.2 Мультимедиа и анимация •••••••••••••••••••• 355
5.2.1 Звук .............................. 355

5.2.1.1 Типы звуковых и мультимедиа файлов ............... 355

5.2.1.2 Процедуры воспроизведения звуков Веер, MessageBeep и PlaySound . . 356

5.2.2 Начала анимации — создание собственной мультипликации ...... 359

5.2.3 Воспроизведение немых видео клипов — компонент Animate .... 366

5.2.4 Универсальный проигрыватель MediaPlayer ............ 369

Глава 6. Взаимодействие приложения с внешними

программами. ................... 375

6.1 Запуск из приложения внешних программ •••••••••••• 375

6.1.1 Запуск внешней программы функцией execlp ........... 375

6.1.2 Запуск внешней программы функцией spawnip .......... 377

6.1.3 Запуск внешней программы функцией WinExec ............ 379

6.1.4 Запуск внешней программы и открытие документа

функцией ShellExecute...................... 381

6.2 Управление внешними приложениями •••••••••••••• 384

6.2.1 Определение дескриптора окна приложения ............ 3&4

6.2.2 Некоторые функции API Windows для управления окнами..... 386

6.3 Сообщения Windows и их обработка ••••••••••••••• 386

6.3.1 Обработка сообщений в приложениях C++Builder ......... 386

6.3.2 Посылка сообщений ....................... 388

6.3.2.1 Функция SendMessage ....................... 388

6.3.2.2 Функция PostMessage ....................... 388

6.3.2.3 Пример посылки сообщений .................... 389

6.3.3 Обработка сообщений ...................... 390

6.3.4 Определение собственных сообщений ............... 393

6.4 Внедрение и связывание объектов — OLE •••••••••••• 395

6.4.1 Общие сведения ......................... 395

6.4.2 Внедрение и связывание ..................... 396

6.4.3 Автоматизация OLE ....................... 401

6.5 Динамический обмен данными — DDE •••••••••••••• 403