722 ___________________________Часть V. Инструментарий программиста

вашего везения и вкуса окно может показаться хаотически вибрирующим или кричаще ярким.

Последнее окно, возможно, наиболее симпатичное (если только окно можно так называть). В окне выводится улыбающееся лицо, непрерывно меняющее свои размеры. Из этих трех окон окно с улыбкой оказывается наиболее сложным для программирования. Причины этого будут показаны

далее.

h07221.jpg

Рис. 25.11. Программа Picdemo.exe. Демонстрация возможностей OWL 5.0 GDI

Структура программы

Перед началом изучения всех подробностей кода, ответственных за рисование конкретных объектов, полезно понять, как структурирована вся программа. Хотя в целом в структуре программы нет ничего необычного, использование таймера вносит дополнительные особенности.

Совет

Структура механизма контроля времени, использованная в программе Picdemo, взята из программы GDI Demo, которая поставляется с Borland C++ 5. Программа GDIDemo, в свою очередь — хороший источник для изучения возможностей программирования GDI с помощью OWL., Программа находится в каталоге \Bc5\Examples\Owl\Owlapps\Gdidemo.

Листинг 25.1 приводит главный заголовочный файл программы Picdemo. Здесь определяются два класса: DemoMDiwindow и GraphicsApp. Эти классы ответственны, в основном, за инициализацию графических окон и за взаи-