Окна диалога являются важными и популярными элементами пользовательского интерфейса Windows. Редкое оконное приложение обходится без окон этого типа. Физически окно диалога представляет собой специфическое окно, работа с кото- рым поддерживается на уровне интерфейса Win32 API Windows. Основное назна- чение этого окна — помочь пользователю сформировать информацию, необходи- мую для управления работой приложения. Наиболее наглядные примеры окон этого типа — окна диалога в текстовом редакторе. С их помощью можно задать параметры шрифта, страницы или печати. Очень важно, что разработка таких окон не требует программирования. Для описания окон диалога система Windows под- держивает специальный тип ресурса. Более подробно о том, как в программе долж- ны выглядеть окна диалога, из каких элементов они состоят, а также о деталях управления этими окнами вы можете почитать в других источниках. Наша цель — показать, каким образом работа с окнами диалога организуется программой, напи- санной на языке ассемблера. С точки зрения технологии, организация работы с окнами диалога, реализуе- мая программой на ассемблере, ничем не отличается от того, как это делается на любом другом языке. Чтобы создать окно диалога на языке ассемблера, необходи- мо выполнить следующие шаги. 1. Описать окно диалога в файле ресурсов. 2. Разработать диалоговую функцию, которая будет обрабатывать сообщения, пред- назначенные для определенного в файле ресурсов окна диалога. 3. Активизировать окно диалога в приложении. Для того чтобы разговор был предметным, поставим себе цель разработать кон- кретную программу. В последней программе (см. листинг 16.8) мы предусмотрели возможность ее расширения. Сейчас для этого настало время. Дополним програм- му из листинга 16.8 фрагментами, обеспечивающими работу подменю Примитивы в меню Графика (см. рис. 16.2). Это подменю обебпечивает доступ к пунктам меню Отрезок и Прямоугольник. Пусть они инициируют открытие окон диалога, предна- значенных для настройки параметров простейших фигур (отрезка и прямоуголь- ника) и прорисовки их в окне приложения в соответствии с заданными параметра- ми. Параллельно мы разберемся с некоторыми общими принципами работы с гра- фикой, понимая которые, вы сможете реализовать более сложные алгоритмы.