ЭЛЕКТРОННАЯ БИБЛИОТЕКА КОАПП
Сборники Художественной, Технической, Справочной, Английской, Нормативной, Исторической, и др. литературы.


Смотри здесь самые актуальные новости Украины и РФ в удобном формате.

 

Часть 15


ННННННННННННННННННННННННННННННННННННННННННННННННННННННННННН
   ЦДДДДДДДї  Авторский коллектив "*.*" и "ГермеСофт"
   є  ХНН» і                 ЦДї                      ЦДї
   є  і  є і                 є і                      є і
   є  АДДј АїЦДДДДДїЦДДДДДї  є і   ЦДДДДДїЦДДї ЦДїЦДДДЅ і
   є  ХНН»  іє ХН» іє ХН» і  є і   є ХН» іє  Аїє іє ХН» і
   є  і  є  іє і є іє АДј µ  є і   є АДј іє Х»АЅ іє і є і
   є  АДДј  іє АДј іє ХН» Аї є Аї ЦЅ ХН» іє іИ»  іє АДј і
   ИННННННННѕИНННННѕИНѕ ИННѕ ИННѕ ИННѕ ИНѕИНѕ ИННѕИНННННЩ

               РЕЗИДЕНТНАЯ ПРОГРАММА-СПРАВОЧНИК
                        ПО РУКОВОДСТВУ
ЦДДДДДДДДДДї              ПОЛЬЗОВАТЕЛЯ
є  ХНННН»  і      ПАКЕТА РАЗРАБОТЧИКА РЕСУРСОВ
є  і    є  і ЦДДДДДїЦДДДДДїЦДї ЦДДї  ЦДДДДДї ЦДДДДДїЦДї
є  і    є  і є ХН» іє ХНННѕє АДЅ Хѕ  є ХН» і є ХН» іє АДДДї
є  і    є  і є АДЅ іє і    є ХН» Аї  є АДЅ і є і є іє ХНН»і
є  і    є  іЙј ХН» іє АДДДїє і И» АїЙј ХН» іЙј і є іє АДДЅі
ИННѕ    ИННѕИННѕ ИНѕИНННННѕИНѕ  ИННѕИННѕ ИНѕИННѕ ИНѕИНННННѕ
              г.Москва, 1993 г.           (ВЕРСИЯ 1)
ННННННННННННННННННННННННННННННННННННННННННННННННННННННННННН

                         Оглавление

Введение...................................................

Средства Пакета разработчика ресурсов......................
Требования к аппаратным и программным средствам............
О данном руководстве.......................................
Соглашения, используемые в данном руководстве..............
Команды меню...............................................
Соглашения по обозначениям.................................
Как связаться с фирмой Borland.............................
Библиография...............................................

Глава 1. Начальные сведения................................

Установка Пакета разработчика ресурсов.....................
Запуск Пакета разработчика ресурсов........................
Использование параметром командной строки..................
Выход из Пакета разработчика ресурсов......................
Получение справочной информации............................

Глава 2. Основы работы с Пакетом разработчика ресурсов.....

Понятие ресурсов в Windows.................................
Что такое ресурсы..........................................
Типы ресурсов..............................................
Диалоговые окна............................................
Меню.......................................................
Акселераторы...............................................
Таблицы строк..............................................
Битовые изображения........................................
Пиктограммы................................................
Курсоры....................................................
Шрифты.....................................................
Ресурсы, определенные пользователем, и ресурсные данные....
Два типа редакторов........................................
Типы файлов ресурсов.......................................
Файлы компилятора ресурсов.................................
Файлы ресурсов.............................................
Выполняемые файлы и файлы динамически компонуемых библиотек
Диалоговые файлы...........................................
Файлы битовых массивов.....................................
Файлы пиктограмм...........................................
Файлы курсоров.............................................
Файлы шрифтов..............................................
Файлы идентификаторов......................................
Использование файлов заголовков языка Си...................
Использование включаемых файлов и модулей Паскаля..........
Файлы .DRV.................................................
Совместная работа этих файлов - файл проекта...............
Работа с файлом описания проекта - окно проекта............
Замечания для неопытных пользователей......................

Глава 3. Работа с проектами и ресурсами....................

Создание нового проекта....................................
Открытие существующего файла описания проекта..............
Использование окно проекта.................................
Вывод информации в окне проекта............................
Параметр By File (По файлам)...............................
Параметр By Type (По типу).................................
Параметр Show Identifiers (Вывод идентификаторов)..........
Параметр Show Resources (Вывод ресурсов)...................
Параметр Show Items (Вывод элементов)......................
Параметр Show Unused Types (Вывод неиспользуемых типов)....
Выбор ресурса..............................................
Работа с ресурсами.........................................
Редактирование ресурса.....................................
Использование редактора ресурса............................
Использование внутреннего текстового редактора.............
Добавление ресурса.........................................
Добавление ресурса, записанного в файле....................
Выход из файлов ресурсов...................................
Новые файлы ресурсов.......................................
Сознание нового ресурса....................................
Переименование ресурса.....................................
Задание параметров памяти для ресурсов.....................
Удаление ресурса...........................................
Использование идентификаторов..............................
Добавление файла идентификатора............................
Работа без файла идентификаторов...........................
Добавление, редактирование,................................
Сохранение ресурсов, файлов и проектов.....................
Настройка параметров.......................................
Копирования ресурсов между проектами.......................
Работа с двоичными файлами.................................

Глава 4. Создание диалоговых окон..........................

Запуск редактора диалогов..................................
Создание нового диалогового окна...........................
Редактирование существующего диалогового окна..............
Настройка диалогового окна.................................
Определение диалогового окна...............................
Добавление заголовка.......................................
Выбор типа окна............................................
Выбор типа окна............................................
Задание стиля диалога......................................
Задание шрифтов............................................
Включение меню.............................................
Присваивание диалоговому окну специализированного класса...
Работа с элементами управления.............................
Добавление элементов управления............................
Добавление нескольких копий управляющего элемента..........
Редактирование управляющих элементов.......................
Перемещение управляющих элементов и изменение их размера...
Выравнивание управляющих элементов с помощью координатной
 сетки.....................................................
Изменение внешнего вида управляющих элементов..............
Задание заголовка управляющего элемента....................
Изменение класса управляющих элементов.....................
Задание управляющих элементов,.............................
Переупорядочивание управляющих элементов...................
Редактирование групп управляющих элементов.................
Выравнивание нескольких управляющих элементов..............
Изменение размера нескольких управляющих элементов.........
Размещение управляющих элементов по столбцам и строкам.....
Отмена изменений...........................................
Управление с помощью кнопок................................
Управление с помощью полос прокрутки.......................
Блоки списка...............................................
Редактируемые текстовые управляющие элементы...............
Статические управляющие элементы...........................
Статические управляющие элементы в виде пиктограмм.........
Управляющие элементы в виде комбинированных блоков.........
Специализированные управляющие элементы....................
Добавление специализированного управляющего элемента.......
Проверка диалогового окна..................................
Сохранение диалогового окне................................
Сохранение проекта.........................................
Сохранение диалогового окна в файле........................
Просмотр двух диалоговых окон..............................
Настройка диалогового редактора............................
Пример проекта.............................................
Создание нового диалогового окна...........................
Запуск редактора диалогов..................................
Настройка диалогового окна.................................
Добавление текстового управляющего элемента................
Добавление кнопок с независимой фиксацией..................
Добавление командных кнопок................................
Проверка диалогового окна..................................
Сохранение проекта.........................................

Глава 5. Создание меню.....................................

Экран редактора меню.......................................
Область схемы меню.........................................
Область диалогового окна...................................
Область проверки меню......................................
Запуск редактора меню......................................
Создание нового меню.......................................
Редактирование существующего меню..........................
Настройка меню.............................................
Добавление нового оператора................................
Перемещение и копирование..................................
Отмена в случае ошибок.....................................
Настройка элемента меню....................................
Новые элементы меню........................................
Создание элемента меню.....................................
Выбор элемента меню........................................
Использование диалогового окна.............................
Настройка команд всплывающего меню.........................
Выбор команды вывода всплывающего меню.....................
Использование диалогового окна.............................
Определение разделителя меню...............................
Удаление оператора меню....................................
Проверка меню..............................................
Сохранение изменений.......................................
Сохранение проекта.........................................
Сохранение ресурса меню в виде файла.......................
Редактирование записи ресурса меню.........................
Пример меню................................................
Создание меню с помощью текстового редактора...............
Создание меню с помощью редактора меню.....................

                          Введение
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Пакет разработчика ресурсов - это развитое средство.  позво-
ляющее выполнять весь процесс проектирования и компиляции  ресур-
сов для  прикладной  программы  под управлением Microsoft Windows
(версии 3.0 и старше).  Данное руководство включает в себя главы,
описывающие все средства,  имеющиеся в Пакете разработчика ресур-
сов и их использование.  Здесь можно также найти некоторую  общую
информацию о проектировании и использовании ресурсов в прикладной
программе Windows.

     Если вы пишете прикладные программы, работающие под управле-
нием Windows,  или хотите модифицировать экранный интерфейс прик-
ладной программы Windows,  написанной другими программистами,  то
Пакет разработчика  ресурсов предоставляет вам наиболее простой и
быстрый способ получения нужной программы.

           Средства Пакета разработчика ресурсов
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Пакет разработчика  ресурсов  предоставляет пользователю все
средства,  необходимые  для  создания  и   модификации   ресурсов
Windows, включая следующие:

     - Экранные  редакторы ресурсов,  ориентированные на работу с
       графикой,  позволяющие вам легко проектировать и модифици-
       ровать ресурсы.

     - Текстовый  редактор для работы с текстовыми описаниями ре-
       сурсов.

     - Компилятор,  который позволяет вам инкрементально компили-
       ровать ресурсы и обеспечивает почти полную совместимость с
       компилятором ресурсов фирмы Microsoft.

     Короче говоря,  Пакет разработчика ресурсов - это инструмент
проектирования, который обеспечивает все нужное для  проектирова-
ния всех ресурсов вашей прикладной программы Windows. Кроме всего
прочего пакет разработчика ресурсов представляет собой:

     - Гибкое инструментальное средство,  которое позволяет рабо-
       тать  с  ресурсами  в  текстовом или двоичном формате.  Он
       включает в себя гибкие ориентированные на работу с  графи-
       кой редакторы, позволяющие вам редактировать двоичные фай-
       лы, и текстовый редактор, с помощью которого вы можете ре-
       дактировать файлы, как документы ресурсов.

     - Средство,  выполняющее  за вас рутинные задачи,  такие как
       автоматическая загрузка правильного редактора, когда выби-
       раете ресурс,вставка ссылок на файлы ресурсов, необходимых
       в файле .RC, и добавление определений #define или констант
       идентификаторов ресурсов в соответствующие файлы.

     - Механизм,  включающий все необходимые компиляторы и облег-
       чающий компиляцию ваших ресурсов только в том случае, ког-
       да они необходимы.

     - Средство  декомпиляции  файлов  ресурсов,  позволяющее вам
       вносить изменения в ресурсы программы,  даже  если  вы  не
       имеете доступа к исходному коду.

     - Механизм включения средств,  автоматически проверяющих на-
       личие ошибок в ресурсах (некорректный синтаксис и дублиру-
       емые идентификаторы ресурсов).

     - Легкое  в  использовании  средство,  позволяющее принимать
       участие в  разработке  пользовательского  интерфейса  даже
       тем, кто имеет ограниченную практику программирования.

     - Средства Undo (Отмена) и Redo (Повторное выполнение),  ко-
       торые позволяют вам возвращаться и выполнять внесенные ва-
       ми изменения в обратном порядке.

       Требования к аппаратным и программным средствам
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Для работы  Пакета  разработчика ресурсов необходимо следую-
щее:

     - Компьютер, на котором может работать Windows в стандартном
       или  улучшенном  режиме  386  (необходим процессор 80286 и
       старше). Компьютер должен иметь не менее 2 мегабайт опера-
       тивной  памяти  и графический дисплей и адаптер (Hercules,
       EGA,  VGA или лучшие). Требуется также наличие "мыши"  или
       другого указывающего устройства.

     - На  компьютере  должна быть установлена версия Windows 3.0
       или старше.

     - Вы должны иметь не менее 2 мегабайт  свободного  места  на
       диске  (или  3.5 мегабайта,  если вы загружаете все файлы,
       включая примеры программ).

                    О данном руководстве
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Данное руководство  поясняет,  как использовать Пакет разра-
ботчика ресурсов для разработки ресурсов Windows. Здесь не описы-
вается,  как  писать  программы Windows,  или как писать исходный
код программ, необходимый для доступа к ресурсам. Предполагается,
что  вы знакомы с основами программирования в Windows или изучите
данные вопросы в других книгах (см. далее библиографию).

     В первой части данного руководства рассказывается о ресурсах
Windows и о том как Пакет разработчика ресурсов помогает работать
с ними в файлах описания проектов.

     Глава 1,  "Начало работы", рассказывает о ресурсах Windows и
о том как установить Пакет разработчика ресурсов, начать работу и
как завершить сеанс работы с  Пакетом  разработчика  ресурсов,  а
также о том, как использовать его в файлах описания проектов.

     Глава 2,  "Основы  работы  с Пакетом разработчика ресурсов",
содержит обзор ресурсов и типов файлов, с которыми может работать
Пакет разработчика ресурсов, описание видов редакторов, использу-
ющихся для их редактирования.  Здесь же объясняется как использо-
вать  указанные файлы в процессе построения ресурсов для приклад-
ных программ Windows и какие ресурсы можно в них сохранять. Здесь
вводится также понятие файла описания проекта, который включает в
себя все ресурсы данной программы.

     В Главе 3 "Работа с файлами описания проектов  и  ресурсами"
проекты описываются  более  подробно,  рассказывается о задании и
использовании файлов описания проектов, редактировании и добавле-
нии ресурсов  и координации используемых в ресурсах идентификато-
ров с теми идентификаторами,  которые используются в ваших  прог-
раммах.

     Оставшиеся главы  описывают  различные  редакторы  ресурсов,
содержащиеся в Пакете разработчика ресурсов.

     В Главе 4 "Создание диалоговых  окон"  описывается  редактор
диалогов, включая  все  аспекты создания и модификации диалоговых
окон и элементов управления,  которые они содержат. Редактор диа-
логов позволяет вам разрабатывать, модифицировать и проверять ди-
алоговые окна вне ваших программ.

     В Главе 5 "Создание меню" описывается использование редакто-
ра меню - визуального средства, позволяющего вам создавать, моди-
фицировать и проверять спускающиеся и всплывающие меню  в  правой
части экрана.

     В Главе 6 "Создание акселераторов" описывается редактор, ко-
торый создает акселераторы - командные комбинации клавиш в  прик-
ладной программе  Windows.  С  помощью редактора акселераторов вы
можете назначать клавиши для команд  вашей  прикладной  программы
(оперативные клавиши)  с  помощью описания этих клавиш или факти-
ческого их нажатия.

     В Главе 7 "Создание строковой таблицы" описывается,  как ис-
пользовать строковый редактор,  который позволяет вам создавать и
поддерживать строковую таблицу ресурсов.  Данные ресурсы содержат
группу строк,  представляющих собой используемый прикладной прог-
раммой текст сообщений об ошибках и подсказок.

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

     В главах 9 - 12 подробно описывается редактирование  пиктог-
рамм, курсоров, битовых массивов и шрифтов.

     - Пиктограммы (Глава 6 "Создание пиктограмм") - это  неболь-
       шие квадратные графические образы, используемые для предс-
       тавления программ или минимизированных окон.

     - Курсоры (Глава 10 "Создание курсоров")  представляют собой
       графические образы, используемые для указания позиции ука-
       зателя "мыши" на экране.

     - Битовые массивы (Глава 11 "Создание битовых  массивов")  -
       это различные графические образы,  используемые для многих
       целей,  включая создание фона,  картинок и специальных уп-
       равляющих элементов.

     В Главе  13 "Создание ресурсов,  определенных пользователем"
поясняется, как использовать другие виды ресурсов, которые вы мо-
жете определить.  Все ресурсы, описанные в предыдущих главах, яв-
ляются стандартными - определяемыми  и  обрабатываемыми  Windows.
Если данные ресурсы не отвечают вашим потребностям, вы можете ис-
пользовать ресурсы, определенные пользователям, которые позволяют
записывать для ваших программ другие виды данных ресурсов.

     В Приложении A "Технические замечания" приведены технические
замечания по различным  аспектам  Пакета  разработчика  ресурсов,
включая совместимость  с  компилятором  ресурсов фирмы Microsoft,
использование диалоговых окон в качестве порожденных окон и  про-
чие специальные вопросы.

     Соглашения, используемые в данном руководстве
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Для представления клавиш,  команд меню, исходного кода прог-
рамм и  идентификаторов  языка  в данном руководстве используются
различные соглашения.

                        Команды меню
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     При упоминании последовательности команд меню в данном руко-
водстве  используется сокращение.  Вместо "выберите команду Cut в
меню Edit" мы говорим "выберите команду "EditіCut".

                 Соглашения по обозначениям
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     В квадратные скобки в тексте или в строках команд DOS заклю-
чены необязательные элементы, от которых зависит ваша система.

     Названия клавиш начинаются с буквы верхнего регистра, напри-
мер: "для выхода нажмите Esc".

               Как связаться с фирмой Borland
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Лучший способ  связаться  с  фирмой Borland - это воспользо-
ваться информационными услугами Compuserve.  Наберите команду  GO
BPROGB  из  основного  меню  CompuServe,  чтобы  войти  в Borland
Programming Forum B (языковые средства и  языки).  Оставьте  ваши
вопросы или примечания,  которые будут изучены обслуживающим пер-
соналом.

           Примечание: Можете также оставить сообщения  в  BPROGA
      (информационные услуги Паскаля).

     Если вы предпочитаете, можно написать письмо с замечаниями и
послать его по следующему адресу:

     Borland International
     Technocal Support Group Department - Resource Workshop
     1800 Green Hills Road
     P.O. Box 660001
     Scotts Valley, CA 95067-0001,USA

     408-438-5300 - по этому телефону можно обратиться в наш  от-
дел технического обслуживания по рабочим дням с 6 утра до 5 вече-
ра. Звоните пожалуйста по телефону, который находится недалеко от
компьютера с работающей программой.  Прежде чем позвонить, подго-
товьте следующую информацию:

     1. Название продукта и  серийный  номер  вашей  оригинальной
        дистрибутивной дискеты.  Этот номер обязателен,  иначе мы
        не сможем обслужить вашу заявку.

     2. Номер версии вашего продукта.  Номер версии Пакета разра-
        ботчика ресурсов выводится на дисплей после исходной заг-
        рузки программы,  до того, как вы нажмете какие-либо кла-
        виши.  Если вы находитесь в Пакете разработчика ресурсов,
        выберите команду About в меню Help.

     3. Семейство и модель компьютера,  а также любого используе-
        мого вами дополнительного аппаратного обеспечения.

     4. Название и номер версии операционной системы. (Номер вер-
        сии можно определить,  введя по приглашению  DOS  команду
        VER).

     5. Содержимое вашего файла AUTOEXEC.BAT.

     6. Содержимое вашего файла CONFIG.SYS.

                        Библиография
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Много информации по программированию в Windows можно найти в
руководствах, поставляемых с компилятором.  Кроме того,  о разра-
ботке и использовании Windows рассказывается в следующих книгах:

     Microsoft Windows  Software  Development   Kit,   Guide   to
Programming, Microsoft Corporation (Redmond, WA: 1990).

     Microsoft Windows Software Development Kit Reference, Vol. 1
and 2, Microsoft Corporation (Redmond, WA: 1990).

     Microsoft Windows Software Development Kit, Tools, Microsoft
Corporation (Redmond, WA: 1990).

     Petzold Charles,   Programming   Windows,   Microsoft  Press
(Redmond, WA: 1990).

     Sytem Application Architecture Common User  Access  Advansed
Interface Desing Guide, IBM Corp., 1984).

               Глава 1. Начальные сведения
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

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

         Установка Пакета разработчика ресурсов
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Для установки  Пакета разработчика ресурсов с файлами приме-
ров и  программ  запустите  с  установочной   дискеты   программу
INSTALL. Более  подробно  об  установке  рассказывается  в  файле
README на том же диске.

             Запуск Пакета разработчика ресурсов
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     После того, как вы установите Пакет разработчика ресурсов, и
он выводится в виде пиктограммы в группе программ Windows, дважды
щелкните кнопкой  "мыши" на пиктограмме для запуска Пакета разра-
ботчика ресурсов и вывода его основного окна.

ЪДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДДДВДДДї
і - і                Resource Maneger                   і v і ^ і
ГДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДДДБДДДґ
і File  Help                                                    і
ГДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і                                                               і
і                                                               і
і                                                               і
і                                                               і
і                                                               і
і                                                               і
ГДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і Ready               і                                         і
АДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     Рис. 1.1 Пустое окно Пакета разработчика ресурсов

     Меню File (Файл) используется для создания нового файла опи-
сания проекта или открытия существующего файла описания проекта.

       Использование параметром командной строки
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     При запуске Пакета разработчика ресурсов вы можете использо-
вать ряд  параметров  командной  строки.  Эти параметры командной
строки вы можете вводить следующими способами:

     - С помощью одной и той же командной  строки  DOS  запустите
       Windows  и  Пакет  разработчика  ресурсов  (например,  WIN
       WORKSHOP -X).

     - Используйте команду Пакета разработчика ресурсов FileіRun.

     - Для изменения возможностей  командной  строки  пиктограммы
       Пакета разработчика ресурсов используйте команду Админист-
       ратора программ FileіProperties.

     Параметр командной строки имеют следующий формат:

     WORKSHOP [параметр [аргумент_параметра] ...
          [параметр [аргумент_параметра]]

     - Параметр  - это один из параметров командной строки, пере-
       численных в Таблице 1.1. Перед ним должен указываться сим-
       вол -  или  /.  Параметр может быть любой комбинацией букв
       верхнего и нижнего регистра.

     - "Аргумент_параметра" - это аргумент  параметра,  например,
       имя маршрута, которое указывается после параметра -i.

     Параметры командной  строки Пакета разработчика ресурсов пе-
речислены в следующей таблице:

     Параметры командной строки Пакета разработчика ресурсов
                                                      Таблица 1.1
ЪДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і    Параметр          і Описание                                і
ГДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і    -x                і Очищает маршрут включаемых файлов.      і
і                      і                                         і
і                      і Если вы с помощью окна Preferences уста-і
і                      і новите маршрут поиска  включаемых файлові
і                      і (см. далее), то  данный параметр стираеті
і                      і эти установки.                          і
і                      і                                         і
ГДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і    -iимя_маршрута    і Добавляет к маршруту  поиска  включаемыхі
і                      і файлов новую спецификацию маршрута.     і
і                      і                                         і
і                      і Например:                               і
і                      і                                         і
і                      і   WORKSHOP -i c:\mystaff\include        і
і                      і                                         і
ГДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і    -foимя_файла      і Устанавливает параметр  сохранения  .RESі
і                      і в заданное имя файла (см. далее описаниеі
і                      і диалогового окна Preferences).          і
і                      і                                         і
і                      і Когда данный параметр установлен,  неза-і
і                      і висимо от выполнения Пакетом разработчи-і
і                      і ка  ресурсов компиляции текущего проектаі
і                      і он также сохраняет ресурсы  (в  двоичномі
і                      і формате) в указанном файле .RES.        і
і                      і                                         і
і                      і Например:                               і
і                      і                                         і
і                      і   WORKSHOP -fo c:\mystaff\MYPROJ.RES    і
і                      і                                         і
ГДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і    -fxимя_файла      і Устанавливает параметр  сохранения  .RESі
і                      і в заданное имя файла (см. далее описаниеі
і                      і диалогового окна Preferences).          і
і                      і                                         і
і                      і Когда данный параметр установлен,  неза-і
і                      і висимо от выполнения Пакетом разработчи-і
і                      і ка ресурсов  компиляции текущего проектаі
і                      і он связывает ресурсы (в двоичном  форма-і
і                      і те) с указанным файлом .EXE.            і
і                      і                                         і
і                      і Например:                               і
і                      і                                         і
і                      і   WORKSHOP /fx c:\mystaff\MYPROJ.EXE    і
і                      і                                         і
АДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

            Выход из Пакета разработчика ресурсов
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Когда вы  завершите  работу с Пакетом разработчика ресурсов,
выберите команду FileіExit (ФайліВыход) или дважды щелкните кноп-
кой "мыши"  на  управляющей пиктограмме меню в верхнем левом углу
окна Пакета разработчика ресурсов.

     Если вы внесли какие-либо изменения и не сохранили их, Пакет
разработчика ресурсов  спросит у вас перед выходом,  хотите ли вы
сохранить изменения.

               Получение справочной информации
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Получить в  Пакете разработчика ресурсов справочную информа-
цию можно точно также,  как  в  остальных  прикладных  программах
Windows:

     - Нажмите Alt+H или выберите команду Help (Справка) основно-
       го меню для вывода меню Help.

     - Нажмите клавишу F1 для непосредственного вывода оглавления
       справочника Help (без перехода в меню Help).

     Кроме стандартного справочного средства Windows Пакет разра-
ботчика ресурсов обеспечивает дополнительное  справочное средство
- контекстно-зависимый  справочник.  К этому средству можно обра-
титься двумя путями:

     - Если вы хотите подробнее узнать о выделенном элементе  ме-
       ню, для  непосредственного доступа к справочной информации
       по элементу нажмите клавишу F1.

     - Если вы нажмете  Shift+F1,  курсор  изменяется  на  курсор
       справочника  Help  (вопросительный знак с крестиком).  Для
       получения контекстно-зависимой справки позиционируйте кур-
       сор  на команде меню в области экрана (о которой вы хотите
       получить более подробную информацию)  и  щелкните  кнопкой
       "мыши".

     Справочник Help работает под управлением  Windows,  как  от-
дельная прикладная  программа.  Вы можете оставить справочник ак-
тивным и  перейти  в Пакет разработчика ресурсов,  либо завершить
работу Help,  нажав клавиши Alt+F4, дважды щелкнув кнопкой "мыши"
на управляющем блоке меню, или выбрав команду FileіExit (ФайліВы-
ход).

   Глава 2. Основы работы с Пакетом разработчика ресурсов
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

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

                 Понятие ресурсов в Windows
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Ресурсы -  это данные,  определяющие некоторые видимые части
вашей программы Windows. Например, когда вы открываете диалоговое
окно  и наживаете кнопку "мыши" для выполнения задачи,  в которую
входит программа, вы взаимодействуете с ресурсами программы. Кро-
ме  диалоговых блоков (окон) и программных "кнопок",  другие типы
ресурсов,  которые вы можете использовать в программе, включают в
себя пиктограммы, курсоры, битовые изображения, меню и клавиатур-
ные акселераторы (оперативные клавиши).

     В прикладных программах Windows ресурсы обеспечивают  содер-
жательный и   согласованный   интерфейс   с   пользователем,  что
облегчает пользователю переход от одной программы Windows к  дру-
гой.

     Далее приведен  пример  ресурса  - диалоговое окно,  которое
позволяет пользователю осуществить некоторый выбор:

     Описание специфических  возможностей  каждого  из  редакторов
ресурсов, входящих в состав Пакета разработчика ресурсов, вы може-
те найти в главах 4-9.  Данная глава содержит обзор ресурсов и ти-
пов файлов, с которыми может работать Пакет разработчика ресурсов.
Здесь  же  объясняется как использовать указанные файлы в процессе
построения ресурсов для прикладных программ Windows.

                Что такое ресурсы
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Можно считать,  что ресурс - это файл с данными,  который до-
писывается  в конец исполняемого файла прикладной программы.  Если
ресурс определен корректно, то соответствующие ресурсу данные мож-
но изменять не затрагивая кодов прикладной программы.

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

ЪДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і - і±±±±±±±±±±±±±±±±±±±±±±±Options±±±±±±±±±±±±±±±±±±±±±±±±±±±±±і
ГДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і                                                               і
і  ЪДShapeДДДДДДДДї  ЪДColorsДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї    і
і  і              і  і ЪДї              ЪДї                і    і
і  і  O Square    і  і іXі Blue         і і Red            і    і
і  і              і  і АДЩ ДДДД         АДЩ                і    і
і  і  0 Circle    і  і ЪДї              ЪДї                і    і
і  і              і  і іXі Yellow       і і White          і    і
і  і  O Triangle  і  і АДЩ              АДЩ                і    і
і  і              і  АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ    і
і  АДДДДДДДДДДДДДДЩ                                             і
і                                                               і
і  ±±±±OK±±±±±            ±±Cancel±±±            ±±±Help±±±±    і
і                                                               і
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     Рис. 2.1 Типичное диалоговое окно

     Все диалоговое  окно и все управляющие элементы в нем (вклю-
чая командные кнопки,  кнопки с независимой фиксацией (блоки про-
верки) и  т.  д.  определяются в прикладной программе Windows как
ресурсы.

     В общем случае ресурсы прикладной программы Windows  отделя-
ются от  кода  программы,  что позволяет вам вносить существенные
изменения в интерфейс с пользователем без необходимости открывать
файл, содержащий код программы.

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

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

                        Типы ресурсов
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Пакет разработчика ресурсов поддерживает  следующие  ресурсы
Windows.

                       Диалоговые окна
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Диалоговое окно - это окно (обычно всплывающее) которое  вы-
водит информацию пользователю и позволяет ему сделать выбор (нап-
ример, выбрать файлы для открытия, цвета дисплея, текст для поис-
ка и т. д.).

          Примечание: О диалоговых окнах редактирования рассказы-
     вается в Главе 4.

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

                         Меню
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Прикладные программы Windows обычно включают в  себя  строку
меню, в которой перечисляются элементы, выбираемые пользователем.
В общем случае каждый элемент меню может  выводить дополнительный
список элементов   для  выбора.  Например,  большинство  программ
Windows включает в себя меню File (Файл), которое содержит коман-
ды меню для создания нового файла или открытия существующего.

             ЪДДДДДДДДДДДДДДДДДДДДДДДДДї
             і±±New±±±±±±±±±±±±±±±±±±±±і  Новый файл
             і  Open...                і  Открыть
             і  Save                   і  Сохранить
             і  Save as...             і  Сохранить как...
             ГДДДДДДДДДДДДДДДДДДДДДДДДДґ
             і  Print...               і  Печать
             і  Page Setup...          і  Установка страницы
             і  Printer Setup...       і  Установка принтера
             ГДДДДДДДДДДДДДДДДДДДДДДДДДґ
             і Exit                    і  Выход
             АДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     Рис. 2.2 Типичное файловое меню

     Пакет разработчика ресурсов облегчает создание  меню, выводя
его по мере создания на экран.  Добавляя или модифицируя элементы
меню, вы можете проверить его. Кроме того, Пакет разработчика ре-
сурсов выводит на экран представляющий меню текст, как если бы вы
использовали для создания меню редактор меню.

                        Акселераторы
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Акселераторы -  это клавиатурные комбинации (или оперативные
клавиши), которые пользователь нажимает  для  выполнения  задачи,
как прикладной программы. Например, программа Windows может вклю-
чить акселератор  ShiftIns,  которые  пользователь  нажимает  для
вставки текста  или графических изображений из буфера вырезанного
изображения в открытый программой файла.

             ЪДДДДДДДДДДДДДДДДДДДДДДДДДї
             і  Undo     Alt+Backspace і  Отмена
             ГДДДДДДДДДДДДДДДДДДДДДДДДДґ
             і  Cut          Shift+Del і  Забрать
             і  Copy         Shift+Ins і  Скопировать
             і±±Paste±±±±±±±±±±Cut+Ins±і  Вставить
             ГДДДДДДДДДДДДДДДДДДДДДДДДДґ
             і  Clear                  і  Очистка
             і  Delete                 і  Удаление
             АДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     Рис. 2.3 Меню открытия редактирования с акселераторами

     В общем случае программы Windows используют для дублирования
функций меню  акселераторы,  позволяющие  пользователю   выбирать
функцию с  помощью  выбора  команды меню или путем нажатия клавиш
акселератора. Однако, вы можете создать ресурсы акселератора, оп-
ределяющие новые функции, недоступные из меню основной программы.

     Пакет разработчика ресурсов облегчает создание новых акселе-
раторов и редактирование существующих.  Кроме того,  пакет разра-
ботчика  ресурсов выводит текст ресурса на экран при редактирова-
нии акселератора, и вы можете видеть, что происходит.

                        Таблицы строк
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

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

                     Битовые изображения
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Битовый массив (битовое изображение) - это графический образ
в программе.  Сама  система Windows использует большое количество
битовых изображений.  Примером могут служить изображения,  предс-
тавляющие  различные  элементы  управления типичным окном (полосы
прокрутки,  стрелки полосы прокрутки,  управляющий символ меню  и
символ минимизации).  Каждый бит или группа бит в битовом массиве
представляет один элемент изображения в графическом образе.

     Пример битового изображения представлен на следующем  рисун-
ке. Это  средство  Paintbrush (кисть) из палитры графического ре-
дактора.

             ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
             і±±±±±±±±±±±±±±±±±±±±±±±±±±±±і
             і±±±±±±±±±±±±±±±±±±±±±±±±±±±±і
             і±±±±±±±±±±±±±±  П ±±±±±±±±±±і
             і±±±±±±±±±±±±±±  П ±±±±±±±±±±і
             і±±±±±±±±±±±±±±  П ±±±±±±±±±±і
             і±±±±±±±±±±±±±      ±±±±±±±±±і
             і±±±±±±±±±±± П        ±±±±±±±і
             і±±±±±±±±±±± П        ±±±±±±±і
             і±±±±±±±±±±±± П      ±±±±±±±±і
             і±±±±±±±±±±±±± П    ±±±±±±±±±і
             і±±±±±±±±±±±±± п   ±±±±±±±±±±і
             і±±±±±±±±±±± п    ±±±±±±±±±±±і
             і±±±±±±±±       ±±±±±±±±±±±±±і
             і±±±±±±±±±±±±±±±±±±±±±±±±±±±±і
             і±±±±±±±±±±±±±±±±±±±±±±±±±±±±і
             АДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     Рис. 2.4 Битовый массив Paintbrush (увеличено)

     Создавать битовые  массивы  можно с помощью графического ре-
дактора ресурсов,  который позволяет вам настроить цвета, выбрать
различные изобразительные средства, наблюдая за двумя создаваемы-
ми битовыми массивами и т.д. Этот редактор используется также для
работы с другими графическими ресурсами - пиктограммами, курсора-
ми и шрифтами.

           Примечание: О  графическом  редакторе рассказывается в
      Главе 8.

                         Пиктограммы
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Пиктограммы -  это  небольшие  битовые массивы (обычно 32х32
или 16х32 элемента изображения),  используемые для  представления
минимизированных окон. Пиктограммы можно создавать с помощью гра-
фического редактора (описанного в Главе 8).

           Примечание: О том, как рисовать пиктограммы, рассказы-
      вается в Главе 9.

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

     С демонстрационным файлом описания проекта  RWPDEMO.RC  пос-
тавляется следующая пиктограмма:

             ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
             і±±±±±±±±±±±±±±±±±±±±±±±±ІІІ±і
             і±±±±±±±±±±±±±І±±±±±±±±±±±±±±і
             і±±±±±±±±±°±°°І°°±°°±±±±±±±±±і
             і±±±±±±°°°І°°±І±І±°І°°±±±±±±±і
             і±±±±°°°°°І°±°І°°°°±І±°°±±±±±і
             і±±±°±ІІІІІІІІІІІІІІІІ°І°±±±±і
             і±±°°°І°±І±°°°І±°°°±І±°І±°±±±і
             іІІІІІІІІІІІІІІІІІІІ±І°І°°±±±і
             і±±°°°І±°°І°±ІІ±°°°°І±°°°±±±±і
             і±±±°°°ІІІІІІІІІІІІІІІ±°±±±±±і
             і±І±±°°°°±І±°ІІ±°°°І±°°±±±±±±і
             іІІІІ±±°±°°±І±І°І°°°°±±±±±±±±і
             і±±±±±±±±°±°±°І°±°±±±±±±±±±±±і
             і±±±±±±±±±±±±±±±±±±±±±±±±±±±±і
             АДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     Рис. 2.5 Пиктограмма RWPDEMO (увеличено)

                           Курсоры
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Курсор представляет собой небольшой битовый  массив размером
32х32 элемента изображения,  представляющий позицию "мыши" на эк-
ране. Программы Windows используют специальные курсоры для указа-
ния того, с каким типом задачи работает в данным момент пользова-
тель.  Вы  можете создать курсор с помощью графического редактора
(см. Главу 8).

           Примечание: О  графических  курсорах  рассказывается в
      Главе 10.

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

           Примечание: Курсор  может быть прозрачным или инверти-
      рованным, благодаря чему сквозь него видна фоновая область.

             ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
             і±±±±±±±±±±±±±±±±±±±±±±±±±±±±і
             і±±±±±±±±±±±     ±±±±±±±±±±±±і
             і±±±±±±±±   ±± ±±   ±±±±±±±±±і
             і±±±±±±  ±±±±± ±±±±±  ±±±±±±±і
             і±±±±  ±±±±±±±±±±±±±±±  ±±±±±і
             і±±± ±±±±±±±±±±±±±±±±±±± ±±±±і
             і±± ±±±±±±±±±±±±±±±±±±±±± ±±±і
             і±      ±±±±±±±±±±±±±      ±±і
             і±± ±±±±±±±±±±(/_/±±±±±±± ±±±і
             і±±±  ±±±±±±±.±±±±±±±±±  ±±±±і
             і±±±±±   ±±±±±+±±±±±   ±±±±±±і
             і±±±±±±±±   ±± ±±   ±±±±±±±±±і
             і±±±±±±±±±±±     ±±±±±±±±±±±±і
             і±±±±±±±±±±±±±±±±±±±±±±±±±±±±і
             АДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     Рис. 2.6 Пиктограмма RWPDEMO (cm. в оригинале)

                           Шрифты
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

    Шрифты в программах Windows используются для определения гар-
нитуры, размера и стиля текста. Например, отдельный символ, кото-
рый программа  выводит  на  экран  или  на  принтер,  может  быть
10-point Times Roman bold (гарнитура Times,  10 пунктов,  латинс-
кий,  жирный). В этом случае гарнитурой будет Times Roman, разме-
ром - 10 пунктов, а стилем - жирный (bold).

     Другим использованием ресурсов шрифтов в  программах Windows
является запись наборов битовых массивов,  которые всегда исполь-
зуются вместе.

     Вы можете использовать Пакет разработчика ресурсов для моди-
фикации способа вывода существующих шрифтов или создания новых.

   Ресурсы, определенные пользователем, и ресурсные данные
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

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

           Примечание: О  редактировании  ресурсов,  определенных
      пользователем, рассказывается в Главе 13.

     Одной из общих причин добавления ресурсов определенных поль-
зователем, является то,  что это способствует управлению памятью.
Многие прикладные программы Windows используют среднюю модель па-
мяти, в которой используется один сегмент данных. Если у вас име-
ется относительно большой объем данных, и вы хотите, чтобы данные
постоянно находились в памяти,  вы можете  сохранить  данные  как
пользовательский ресурс,  определенный  как  отбрасываемые данные
(DISCARDABLE). При этом ресурс, определенный пользователем, будет
занимать память только тогда, когда программа его использует.

                     Два типа редакторов
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Пакет разработчика ресурсов предоставляет вам мощные,  прос-
тые в использовании ориентированные на работы с графикой редакто-
ры, которые вы можете использовать для  проектирования  ресурсов.
Однако Пакет разработчика ресурсов дает вам также возможность ис-
пользовать для проектирования ресурсов  текстовый  редактор.  Эта
возможность делает  Пакет разработчика ресурсов гибким продуктом,
доступным работающим в Windows программистам на всех уровнях.

           Примечание: Пакет разработчика ресурсов  позволяет вам
      также задавать внешний редактор,  используемый для редакти-
      рования файлов описания проектов, которые не нужно компили-
      ровать при открытии. Подробности см. далее.

     Например, если   вы   не  имеете  опыта  программирования  в
Windows, то можете быстро построить диалоговое окно, используемое
редактором диалогов.  Создавать  и перемещать элементы управления
здесь также просто, как нажатие кнопки "мыши" и "буксировка".

ЪДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДДДВДДДї
і - і±±±±±±±±±±±±±±±±±±±±±±±Options±±±±±±±±±±±±±±±±±±±±±і v і ^ і
ГДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДДДЕДДДґ
і=  File Edit Resource Control Options Window Help          і   і
ГДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДВДґ
іЪДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї ЪДВДДДДДДДДДДДї   і^і
іі=і             Options                  і і=і Caption   і   ГДґ
іГДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ ГДБДДДДДДДДДДДґ   і±і
ііЪДShapeДДДДДДї ЪДColorsДДДДДДДДДДДДДДДї і ГДВДДДДДВДДДДДґ   і±і
ііі            і і ЪДї        ЪДї       і і і=іAlignіToolsі   і±і
ііі  O Square  і і іXі Blue   і і Red   і і ГДЕДВДВДЕДВДВДґ   і±і
ііі            і і АДЩ ДДДД   АДЩ       і і і<і>і<і>і^іСіОі   і±і
ііі  0 Circle  і і ЪДї        ЪДї       і і ГДЕДЕДЕДЕДЕДЕДґ   іІі
ііі            і і іXі Yellow і і White і і іvі^іvі^іЧіКіѕі   і±і
ііі  O Triangleі і АДЩ        АДЩ       і і АДБДБДБДЕДЕДЕДґ   і±і
ііі            і АДДДДДДДДДДДДДДДДДДДДДДЩ і         іGі"іxі   і±і
ііАДДДДДДДДДДДДЩ                          і         ГДЕДЕДґ   і±і
іі                                        і         і1іХіёі   і±і
іі                                        і         ГДЕДЕДґ   і±і
іі ±±±OK±±±   ±±±Cancel±±±±  ±±±±Help±±±± і         іTіГіUі   і±і
іі                                        і         ГДЕДЕДґ   і±і
іАДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ         іші:і і   і±і
і                                                   ГДЕДЕДґ   і±і
і                                                   іuі іфі   і±і
і                                                   АДБДБДЩ   ГДґ
і                                                             іvі
ГДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДЕДґ
і<і±±±±±±±±±±±±±±±±±±±±±І±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±і>і і
ГДБДДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДБДґ
і Ready                   і Modify                              і
АДДДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     Рис. 2.7 Редактор диалогов (см.  также в оригинале руководс-
тва)

     По следующим причинам иногда желательно вместо редактора ре-
сурсов использовать внутренний редактор Пакета  разработчика  ре-
сурсов:

     - Если  вы  имеете  опыт программирования в Windows,  иногда
       предпочтительнее работать с записями ресурсов.

     - Может оказаться,  что некоторые вещи легче исправить с по-
       мощью текстового редактора,  в то время как крупные правки
       легче выполнять с помощью редактора ресурсов.

     - Иногда желательно использовать текстовый  редактор,  чтобы
       использовать преимущества некоторых минимальных возможнос-
       тей, не поддерживаемых редактором ресурсов, таких как ред-
       ко используемые параметры или отдельные флаги.

     Однако даже  опытные программисты могут обнаружить,  что ре-
дакторы ресурсов  являются более гибким и мощным средством, кото-
рое допускает разнообразное использование при создании ресурсов.

                    Типы файлов ресурсов
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Файл, который вы создаете и редактируете  с  помощью  Пакета
разработчика ресурсов, может иметь двоичный или текстовый формат.
Кроме того,  Пакет разработчика ресурсов может генерировать файлы
в стандартном  формате Windows,  что означает,  что вы можете ис-
пользовать файлы Пакета разработчика ресурсов с любой программой,
которая генерирует  двоичный код из файлов записей ресурсов (нап-
ример, с компилятором ресурсов фирмы Microsoft).

           Примечание: Не все файлы Пакета  разработчика ресурсов
      .RC  будут совместимы с компилятором ресурсов. Компилируйте
      эти файлы с формат .RES с помощью Пакета  разработчика  ре-
      сурсов.

                 Файлы компилятора ресурсов
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Файл компилятора ресурсов (.RC) - это файл  записей ресурсов
(текстовый файл),  содержащий определения одного или более ресур-
сов. Этот файл может содержать ресурсы,  определенные в форме за-
писей, и ссылки на другие содержащие ресурсы файлы.

            Примечание: О  командах записей рассказывается в опе-
     ративном справочнике Help.

     В общем случае вам следует основывать все ваши проекты Паке-
та разработчика ресурсов по крайней мере на одном файле .RC.

                       Файлы ресурсов
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Файл ресурсов (.RES) содержит один или  более  компилируемых
ресурсов.

     Обычно при создании программы Windows все ресурсы прикладной
программы компилируются в одном файле ресурсов .RES,  который за-
тем  связывается с выполняемой программой при компоновке.  Однако
при работе с Пакетом разработчика ресурсов,  если  вы  не  хотите
создавать файл ресурсов .RES,  можно этого не делать, так как Па-
кет разработчика ресурсов может компилировать  файлы  ресурсов  и
связывать их непосредственно с выполняемым файлом.

ыполняемые файлы и файлы динамически компонуемых библиотек
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Выполняемый файл .EXE или файл динамически компонуемой  биб-
лиотеки DLL - это конечная цель определения  всех ресурсов, опре-
деляемых с помощью Пакета разработчика ресурсов.  Обычно файл .RC
компилируется в файл .RES,  затем для связывания файла .RES с вы-
полняемым файлом или с файлом DLL используется  компилятор. Чтобы
связать  ресурсы непосредственно с файлом .EXE или .DLL,  опуская
фазу компилятора RC,  вы можете использовать  Пакет  разработчика
ресурсов.

     Если вы  хотите  изменить  ресурсы  в компилируемом двоичном
файле (выполняемом файле,  файле .DLL или файле .RES),  то  Пакет
разработчика ресурсов  будет декомпилировать этот файл,  чтобы вы
могли внести изменения, а затем сохранит ресурсы обратно в двоич-
ном файле.

                      Диалоговые файлы
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Диалоговый файл (.DLG) - это файл записей ресурсов  (тексто-
вый файл), который обычно содержит описания одного или более диа-
логовых блоков. Эти ресурсы не обязательно должны быть диалоговы-
ми, это могут быть любые ресурсы, найденные в файле .RC.

                   Файлы битовых массивов
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Файлы битовых массивов (.BMP) содержит ресурс битового  мас-
сива в двоичном формате.

                      Файлы пиктограмм
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Файлы пиктограмм (.ICO) содержат пиктограммы в двоичном фор-
мате.

                       Файлы курсоров
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Файлы курсоров  (.BMP) содержат специальный  курсор в двоич-
ном формате.

                        Файлы шрифтов
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
     Файлы шрифтов имеют две формы: двоичную и библиотечную.

     - Двоичный файл шрифта (.FNT) содержит определение специаль-
       ного  шрифта  в двоичном формате.  Для разработки шрифта и
       записи его в файл .FNT вы можете  использовать графический
       редактор Пакета разработчика ресурсов.

    - Файл библиотеки шрифта (.FON) представляет собой динамичес-
       ки компонуемую библиотеку ресурсов, которая содержит ката-
       лог  шрифта  и  один или более шрифтов.  Вы можете создать
       файлы .FON вне Пакета разработчика ресурсов.  Однако после
       создания  файла .FON для модификации этого файла нужно ис-
       пользовать Пакет разработчика ресурсов.

           Примечание: Файлы .FON описываются далее.

                    Файлы идентификаторов
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
     Программы Windows  используют  для  уникальной идентификации
каждого ресурса числа.  Эти числа можно использовать в  программе
для идентификации ресурсов, с которыми вы хотите работать. Однако
такая форма не слишком описательна.  Для прикладных программ, на-
писанных на  языке  Си,  для  присваивания символьных определений
значениям-константам используются определения #define. В приклад-
ных программах,  написанных на Паскале,  используются определения
констант.

           Примечание: Более подробно об использовании  идентифи-
      каторов  при работе с Пакетом разработчика ресурсов расска-
      зывается далее.

     В данном руководстве термин "идентификатор"  используется  и
для определений #define и для констант.

     С помощью идентификаторов вы можете создавать значащие имена
вместо малоосмысленных чисел.  Например, хотя вы можете использо-
вать для  уникальной идентификации меню число 100,  идентификатор
вида FILEMENU является значительно более описательным.

     Если вы пишете программу на языке Си, то можете записать оп-
ределения #define ресурса в файле заголовка (.H).  В программе на
Паскале вы можете сохранить константы ресурсов  в  модуле  (.PAS)
или в включаемом файле (.INC).

     В данном руководстве используются все три вида файлов, кото-
рые обобщенно называются файлами идентификаторов.

          Использование файлов заголовков языка Си
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
     Если вы пишете программу на языке Си,  используйте определе-
ния #define и запишите их в файл заголовка.  Типичный файл  заго-
ловка показан в следующем примере:

     /**********************************************************
     *        Определения для программы BCDEMO.                *
     **********************************************************/

     #define LINE 1
     #define ELLIPSE LINE + 1
     #define RECTANGLE LINE + 2

     #define MID_QUIT 100
     #define MID_LINE 201
     #define MID_ELLIPSE MID_LINE + 1
     #define MID_RECTANGLE MID_LINE + 2
     #define MID_THIN 301
     #define MID_REGULAR MID_THIN + 1
     #define MID_THICK MID_THIN + 2

     Кроме #define  вы  можете записать здесь определения типов и
структур, код программы и комментарии.  Пакет разработчика ресур-
сов игнорирует в файле заголовка все данные, за исключением опре-
делений #define и директив препроцессора.

      Использование включаемых файлов и модулей Паскаля
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Если ваша программа написана на Паскале, вы можете использо-
вать константы и записывать их  в  файле  модуля  или  включаемом
файле. С помощью констант вы можете записывать только комментарии
и директивы компилятора,  а компилятор может  работать  только  с
константами,  определенными  как  нетипизованное целое значение и
выражения длинного целого типа.

     (**********************************************************
     *        Определения констант для программы TDDEMO.       *
     ***********************************************************)

     unit TddemoConst;

     interface

     const
        LINE = 1;
        ELLIPSE = LINE + 1;
        RECTANGLE = LINE + 2;

        MID_QUIT = 100;
        MID_LINE = 201;
        MID_ELLIPSE = MID_LINE + 1;
        MID_RECTANGLE = MID_LINE + 2;
        MID_THIN = 301;
        MID_REGULAR = MID_THIN + 1;
        MID_THICK = MID_TRHIN + 2;
     implementation

     end.

     Кроме комментариев и директив компилятора в секции interface
допускаются только  определения  констант.  Секция implementation
должна быть пустой.  За ключевым словом end может  следовать  все
что  угодно,  но  Пакет разработчика ресурсов будет это игнориро-
вать.

     Как показано  в следующем примере, включаемый файл может со-
держать только описания констант,  комментарии и директивы компи-
лятора:

     (**********************************************************
     *        Определения констант для программы TDDEMO.       *
     ***********************************************************)

     const
        LINE = 1;
        ELLIPSE = LINE + 1;
        RECTANGLE = LINE + 2;

        MID_QUIT = 100;
        MID_LINE = 201;
        MID_ELLIPSE = MID_LINE + 1;
        MID_RECTANGLE = MID_LINE + 2;
        MID_THIN = 301;
        MID_REGULAR = MID_THIN + 1;
        MID_THICK = MID_TRHIN + 2;

                         Файлы .DRV
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Файл .DRV  -  это  файл  драйвера  Windows (особый вид DLL).
Вы можете редактировать ресурсы в одном из этих файлов, как любую
библиотеку DLL.

        Совместная работа этих файлов - файл проекта
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

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

     - Файла записей ресурсов (RC или .DLG).

     - Двоичного файла ресурсов (.RES).

     - Двоичного файла курсоров (.CUR).

     - Двоичного файла пиктограмм (.ICO).

     - Двоичного файла битового массива (.BMP).

     - Двоичного файла шрифта (.FMT).

     - Двоичного библиотечного файла шрифта (.FON).

     - Выполняемого файла (.EXE).

     - Файла динамически компонуемой библиотеки (DLL).

     - Файла драйвера устройства Windows (.DRV).

     Например, если  вы хотите создать проект Пакета разработчика
ресурсов, содержащий только курсор,  можно создать проект,  кото-
рый содержит единственный файл .CUR.

     Чтобы использовать  все  преимущества функциональных возмож-
ностей Пакета разработчика ресурсов,  ваш проект Пакета разработ-
чика ресурсов должен строиться вокруг файла .RC.  Например,  один
файл .RC может ссылаться на несколько диалоговых  окон, курсоров,
пиктограмм, битовых массивов или шрифтов.

     Приведем пример  набора  файлов,  с которыми вы можете рабо-
тать. Предположим,  во-первых,  что вы создали файл .RC и назвали
его MYPROJ.RC. Этот файл будет центральным файлом вашего проекта.
Вы можете добавить столько видов ресурсов,  сколько хотите, но на
все в вашем проекте нужны ссылки в файле .RC.
      ЪДДДДДДДДДДДДї
      і myproj.rc  і   Файл .RC - это основной файл проекта
      і .......... і   Пакета разработчика ресурсов
      і .......... і
      і .......... і
      і .......... і
      і .......... і
      і .......... і
      АДДДДДДДДДДДДЩ

     Рис. 2.8 NMYPROJ.RC - центральный файл описания проекта

     Предположим, вы  хотите создать курсор и битовый массив.  Вы
можете создать эти новые ресурсы с помощью  команды  ResourceіNew
(РесурсіНовый) и  указать,  что  вы хотите записать их во внешних
файлах - файле курсора .CUR и файле битового массива  .BMP. Пакет
разработчика ресурсов помещает в файл .RC ссылки,  благодаря чему
вы можете использовать графический редактор  Пакета  разработчика
ресурсов, чтобы нарисовать курсор и битовый массив.  Пакет разра-
ботчика ресурсов сохранит их в соответствующих файлах.

     Диаграмма этих связей показана на следующих рисунках:

     ЪДДДДДДДДДДДДї                      ЪДДДДДДДДДДДДДДї
     і myproj.rc  і   ЪДДДДДДДДДДДДДДДДДДґ mycursor.cur і
     і .......... і   і                  і ............ і
     і .......... і   і                  і ............ і
     і ..........ДЕДДДЩ                  і ............ і
     і .......... і                      і ............ і
     і ..........ДЕДДДї                  і ............ і
     і .......... і   і                  і ............ і
     АДДДДДДДДДДДДЩ   і                  АДДДДДДДДДДДДДДЩ
                      і
                      і
                      і                  ЪДДДДДДДДДДДДДДї
                      АДДДДДДДДДДДДДДДДДДґ mybitmap.bmp і
                                         і ............ і
      Файл .RC содержит ссылки на        і ............ і
      двоичные данные, содержащиеся      і ............ і
      в файлах .CUR и .BMP               і ............ і
                                         і ............ і
                                         і ............ і
                                         АДДДДДДДДДДДДДДЩ

     Рис. 2.9 MYPROJ.RC указывает на файлы .CUR и .MAP

     Предположим теперь, что вы хотите использовать идентификато-
ры для присваивания ресурсам смысловых имен.  Если вы добавите  к
проекту файл заголовка (.H), Пакет разработчика ресурсов помещает
ссылку на файл заголовка в файл .RC и может  затем  записывать  в
файл заголовка новые идентификаторы.

     ЪДДДДДДДДДДДДї                      ЪДДДДДДДДДДДДДДї
     і myproj.rc  і   ЪДДДДДДДДДДДДДДДДДДґ mycursor.cur і
     і .......... і   і                  і ............ і
     і .......... і   і                  і ............ і
     і ..........ДЕДДДЩ                  і ............ і
     і .......... і                      і ............ і
     і ..........ДЕДДДї                  і ............ і
     і .......... і   і                  і ............ і
     АДДДДДВДДДДДДЩ   і                  АДДДДДДДДДДДДДДЩ
           і          і
           і          і
           і          і                  ЪДДДДДДДДДДДДДДї
           і          АДДДДДДДДДДДДДДДДДДґ mybitmap.bmp і
           і                             і ............ і
    ЪДДДДДДБДДДДДДДї                     і ............ і
    і myproj.h     і                     і ............ і
    і ............ і                     і ............ і
    і ............ і                     і ............ і
    і ............ і                     і ............ і
    і ............ і                     АДДДДДДДДДДДДДДЩ
    і ............ і   Файл .H содержит определения
    і ............ і   #define, которые вы можете использовать
    АДДДДДДДДДДДДДДЩ   для присваивания ресурсам смысловых
                       имен.

     Рис. 2.10 Файл MYPROJ.RC указывает на  файлы  .CUR,  .MAP  и
.CUR

     Итак, вы работаете с файлами данных ресурсов,  которые можно
с помощью Пакета разработчика ресурсов скомпилировать в один файл
.RES, а  затем  связать  его  с  помощью  компилятора языка фирмы
Borland с существующим выполняемым файлом.

ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і    ЪДДДДДДДДДДДДї                      ЪДДДДДДДДДДДДДДї       і
і    і myproj.rc  і   ЪДДДДДДДДДДДДДДДДДДґ mycursor.cur і       і
і    і .......... і   і                  і ............ і       і
і    і ..........ДЕДДДЩ                  і ............ і       і
і    і ..........ДЕДДДї                  і ............ і       і
і    і .......... і   і                  і ............ і       і
і    АДДДДДВДДДДДДЩ   і                  АДДДДДДДДДДДДДДЩ       і
і          і          і                                         і
і          і          і                                         і
і          і          і                  ЪДДДДДДДДДДДДДДї       і
і          і          АДДДДДДДДДДДДДДДДДДґ mybitmap.bmp і       і
і          і                             і ............ і       і
і   ЪДДДДДДБДДДДДДДї                     і ............ і       і
і   і myproj.h     і                     і ............ і       і
і   і ............ і                     і ............ і       і
і   і ............ і                     АДДДДДДДДДДДДДДЩ       і
і   і ............ і                                            і
і   і ............ і                                            і
і   АДДДДДДДДДДДДДДЩ                                            і
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
                               і
                               v
                        ЪДДДДДДДДДДДДДДї   Скомпилированный
                        і myproj.res   і   файл ресурсов
                        і ............ і
                        і ............ і
                        і ............ і
                        АДДДДДДВДДДДДДДЩ
                               і
                               v
                        ЪДДДДДДДДДДДДДДї   Выполняемый файл
                        і myproj.exe   і
                        і ............ і
                        і ............ і
                        і ............ і
                        і ............ і
                        АДДДДДДДДДДДДДДЩ

     Рис. 2.11 Файл MYPROJ.RC, встроенный в выполняемый файл

     Конечно на  самом  деле проекты Па+кета разработчика ресурсов
будут гораздо более сложными и большими,чем этот приведенный выше
пример. Некоторые этапы вы можете выполнить по-другому, например,
пропустить файл .RES и выполнить  компиляцию  непосредственно  из
ваших исходных данных в выполняемый файл.  Однако принцип проекта
остается неизменным,  и после того,  как вы познакомитесь с  этой
идеей, создание ваших собственный  проектов  Пакета  разработчика
ресурсов не составит для вас труда.

    Работа с файлом описания проекта - окно проекта
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

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

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

     Многие проекты состоят из основного файла .RC,  который  со-
держит ссылки на другие ресурсы.  Ссылки в основном файле .RС мо-
гут включать в себя:

     - другие файлы .RC;

     - файлы .DLG;

     - файлы двоичных ресурсов, такие как .BMP (битовые массивы),
       файлы .CUR (курсоры) и файлы .FNT (шрифты);

     - файлы .H содержат определения #defines, которые присваива-
       ют ресурсам осмысленные имена;

     - файлы .INC (включаемые) или файлы .PAS (модули),  содержа-
       щие  константы  Паскаля и присваивающие вашим ресурсам ос-
       мысленные имена.

ЪДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДДДВДДДї
і - і     с/:workshop/myproj.rc                         і v і ^ і
ГДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДДДБДДДґ
і±c:/WORKSHOP/myproj.rc±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±і
ГДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДґ
і      include typical.rc                                     і^і
і           #include titled.h                                 ГДґ
і           DIALOG: DIALOG_1                                  і±і
і           MENU: MENU_1                                      і±і
і           STRINGTABLE: MENU_FILE                            і±і
і                                                             і±і
і      arrow.cur                                              і±і
і           CURSOR: CURSOR_1                                  іІі
і                                                             і±і
і      telecomm.ico                                           і±і
і           ICON: ICON_1                                      і±і
і                                                             і±і
і                                                             і±і
і                                                             ГДґ
і                                                             іvі
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДЩ

     Рис. 2.12 Типичное окно проекта

     Кроме предоставления вам возможности обзора  всех  файлов  и
ресурсов, содержащихся в проекте, окно проекта Пакета разработчи-
ка ресурсов позволяет также при необходимости выполнять необходи-
мое изменение и перекомпиляцию.  Например, если вы измените иден-
тификатор ресурса,  Пакет  разработчика  ресурсов   автоматически
перекомпилирует все ресурсы, на которые влияет данное изменение.

     В следующей  главе окно проекта описывается более подробно и
поясняется, как можно использовать его меню и средства для работы
с проектами.

            Замечания для неопытных пользователей
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Наиболее важной концепцией,  которую требуется понимать  для
работы с  Пакетом  разработчика  ресурсов,  является единственная
концепция - проект.  Организация одного или более ресурсов в про-
ект упрощает  работу  с ресурсами,  а Пакет разработчика ресурсов
берет на себя многие детали (например,  помещение ссылок в  соот-
ветствующие файлы).  В  большинстве  случаев желательно создавать
проект на основе файла .RC.  Это позволяет использовать все функ-
циональные возможности Пакета разработчика ресурсов.

     Если у вас нет опыта работы с Пакетом разработчика ресурсов,
прочитайте сначала Главу 3,  где вы найдете информацию о создании
и работе с проектами. Изучение Главы 3 даст вам также основы, не-
обходимые для создания ресурсов.

     Приведем некоторые замечания,  которые помогут  вам  быстрее
начать работу:

     - Для  открытия  существующих  файлов  описания проектов или
       создания новых используйте меню File (Файл).

     - Для получения пояснений по  функциям  Пакета  разработчика
       ресурсов  используйте строку состояния в нижней части окна
       Пакета разработчика ресурсов.

          * В левой части строки  состояния  вы  найдете  краткое
            описание  текущих подсвеченных команд меню.  В правой
            части строки состояния выводится полезная информация,
            которая пригодится вам для работы с одним из редакто-
            ров ресурсов.

          * Оперативный справочник Help  дает  более  углубленные
            описания  всех аспектов Пакета разработчика ресурсов.
            Получить доступ к контекстному  справочнику  можно  с
            помощью  клавиш  Shift+F1.  При этом выведется курсор
            Help. Щелкните кнопкой "мыши", поместив курсор не ин-
            тересующую вас тему.

     - Если вы используете идентификаторы,  убедитесь, что вы за-
       писываете их в соответствующем файле идентификаторов. Луч-
       ше избегать записи идентификаторов в файле ресурсов. Когда
       вы записываете идентификатор,  Пакет разработчика ресурсов
       выводит вам то место, куда его нужно записать.

     - Пакет  разработчика ресурсов включает в себя средства Undo
       (Отмена) и Redo (Повтор),  которые позволяют вам проходить
       в  обоих направлениях предыдущие задачи,  которые выполня-
       лись ранее. Например, вы можете отменить линии, нарисован-
       ные в битовом изображении. Для задания максимального числа
       уровней отмены используйте команду FileіPreferences (Файлі
       Параметры).

     - Для работы с ресурсами прикладной программы вам не  требу-
       ется  обращаться к исходному коду программы.  Пакет разра-
       ботчика ресурсов может декомпилировать ресурсы в существу-
       ющем  выполняемом  файле  и  позволяет  вам  вносить в них
       изменения.

     - Вы можете работать с существующими  выполняемыми  файлами,
       файлами .DLL и .FON, но не можете создать с помощью Пакета
       разработчика ресурсов новый выполняемый  файл,  файл  .DLL
       или .FON.

          Глава 3. Работа с проектами и ресурсами
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     В данной главе описывается окно проекта.  Здесь  поясняется,
как управлять  выводом  ресурсов в данном окне и как выбирать ре-
сурсы из данного окна для редактирования.  Эта  глава  охватывает
также некоторые общие темы,  касающиеся ресурсов, рассказывается,
как добавлять и удалять их из проектов, сохранять их, и как рабо-
тать с идентификаторами.

     Как уже  пояснялось в Главе 2,  проект - это набор из одного
или более ресурсов.  Проект записывается в файл, который содержит
один или более ресурсов,  или ссылается на файлы,  содержащие ре-
сурсы (или и то,  и другое). Обычно файл проекта представляет со-
бой  файл  записей  компилятора ресурсов (.RC).  Рассмотрим снова
файлы ресурсов для примера проекта, описанного в Главе 3.

     Файл .RC - это центральный файл проекта,
     содержащий ссылки на другие файлы.

     ЪДДДДДДДДДДДДї                      ЪДДДДДДДДДДДДДДї
     і myproj.rc  і   ЪДДДДДДДДДДДДДДДДДДґ mycursor.cur і
     і .......... і   і Файл .CUR содер- і ............ і
     і .......... і   і жит двоичные     і ............ і
     і ..........ДЕДДДЩ данные, описыва- і ............ і
     і .......... і     ющие курсор.     і ............ і
     і ..........ДЕДДДї                  і ............ і
     і .......... і   і                  і ............ і
     АДДДДДВДДДДДДЩ   і                  АДДДДДДДДДДДДДДЩ
           і          і                  ЪДДДДДДДДДДДДДДї
           і          АДДДДДДДДДДДДДДДДДДґ mybitmap.bmp і
           і          Файл .BMP содержит і ............ і
    ЪДДДДДДБДДДДДДДї  двоичные данные,   і ............ і
    і myproj.h     і  описывающие битовоеі ............ і
    і ............ і  изображение.       і ............ і
    і ............ і                     АДДДДДДДДДДДДДДЩ
    і ............ і   Файл .H содержит определения
    і ............ і   #define, которые вы можете использовать
    АДДДДДДДДДДДДДДЩ   для присваивания ресурсам смысловых
                       имен.

     Рис. 3.1 Файл MYPROJ.RC

     Если вы работаете с проектом,  Пакет  разработчика  ресурсов
выводит на экран окно проекта. На следующем рисунке показано, как
окно проекта выглядит для файла MYPROJ.RC, если вы просматриваете
ресурсы, сгруппированные по имени файла.

ЪДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДДДВДДДї
і - і     с/:workshop/myproj.rc                         і ^ і v і
ГДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДДДБДДДґ
і±c:/WORKSHOP/myproj.rc±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±і
ГДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДґ
і      include typical.rc                                     і^і
і           #include titled.h                                 ГДґ
і           DIALOG: DIALOG_1                                  і±і
і           MENU: MENU_1                                      і±і
і           STRINGTABLE: MENU_FILE                            і±і
і                                                             і±і
і      arrow.cur                                              і±і
і           CURSOR: CURSOR_1                                  іІі
і                                                             і±і
і      telecomm.ico                                           і±і
і           ICON: ICON_1                                      і±і
і                                                             і±і
і                                                             ГДґ
і                                                             іvі
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДЩ

     Рис. 3.2 Окно проекта для файла MYOPROJ.RC

                   Создание нового проекта
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Для создания нового проекта сделайте следующее:

     1. Выберите команду FileіNew  Project  (ФайліНовый  проект).
        Пакет  разработчика  ресурсов выводит диалоговое окно New
        Project (Новый проект):

ЪДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і - і                   New Project                             і
ГДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і     Project file type                                         і
і     ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї і
і     і                                                       і і
і     і  .CUR              > .BMP      і і
і     і     ДДДЩ                                              і і
і     і                                                       і і
і     і                                                       і і
і     і  >  .RES              > .ICO              > .FNI      і і
і     і                                                       і і
і     і                                                       і і
і     і                                                       і і
і     АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ і
і                                                               і
і  ЪДДДДДДДДДДДДДДї     ЪДДДДДДДДДДДДДДї     ЪДДДДДДДДДДДДДДї   і
і  і              і±    і              і±    і              і±  і
і  і  _           і±    і              і±    і              і±  і
і  і V    OK      і±    і  X  Cancel   і±    і  ?  Help     і±  і
і  і              і±    і              і±    і              і±  і
і  АДДДДДДДДДДДДДДЩ±    АДДДДДДДДДДДДДДЩ±    АДДДДДДДДДДДДДДЩ±  і
і    ±±±±±±±±±±±±±±±      ±±±±±±±±±±±±±±±      ±±±±±±±±±±±±±±±  і
і                                                               і
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     Рис. 3.2 Окно проекта для файла MYOPROJ.RC

          Используйте данное диалоговое окно для выбора типа фай-
          ла, на котором основывается проект.  В большинстве слу-
          чаев желательно основывать проекты на файле  .RC,  пос-
          кольку данный тип файла вам добавлять любой ресурс, ко-
          торый вы захотите.  Однако,  вы можете выбрать один  из
          следующих файлов:

        - файл .RES для работы с файлом двоичных ресурсов;

        - файл .CUR для создания проекта, содержащего курсор;

        - файл .ICO для создания проекта,  содержащего пиктограм-
          му;

        - файл  .BMP  для  создания проекта,  содержащего битовое
          изображение;

        - файл .FNT  для  создания  проекта,  содержащего  только
          шрифты.

     2. Щелкните кнопкой "мыши" на нужном типа файла проекта, за-
        тем щелкните кнопкой "мыши" на командной кнопке OK. (Если
        у вас открыт файл описания  проекта,  Пакет  разработчика
        ресурсов сначала закрывает его.  Если у вас есть несохра-
        ненные изменения, то перед закрытием проекта Пакет разра-
        ботчика  ресурсов запрашивает у вас,  хотите ли вы сохра-
        нить изменения.)

     Пакет разработчика ресурсов выводит вам в окне описания про-
екта новый  проект без заголовка.  Имя проекта можно задать любую
из команд  FileіSave  (ФайліСохранения).  Создать  новые  ресурсы
можно с  помощью команды ResourceіNew (РесурсіНовый),  а добавить
новый или существующий ресурс,  записанный в других файлах, можно
с помощью  команды  FileіAdd to Project (ФайліДобавление к проек-
ту).

ЪДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДДДВДДДї
і - і                Resource Workshop                  і ^ і v і
ГДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДДДЕДДДґ
і=  File Edit Resource Control Options Window Help          і   і
ГДДДДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДВДґ
і New project...          і      ЪДДВДДДДДДДДДДДДДДВДДДВДДДї  і^і
і Open project            і      і -і  untitled.rc і ^ і v і  ГДґ
і±Save±project±±±±±±±±±±±±і      ГДДБДДДДДДДДДДДДДДБДДДБДВДґ  і±і
і Save file as...         і      іuntitled.rc±±±±±±±±±±±±і^і  і±і
і Close all               і      і                       ГДґ  і±і
ГДДДДДДДДДДДДДДДДДДДДДДДДДґ      і                       іІі  і±і
і Add to project...       і      і                       і±і  і±і
і Exract from project     і      і                       і±і  іІі
ГДДДДДДДДДДДДДДДДДДДДДДДДДґ      і                       і±і  і±і
і Prefverences...         і      і                       і±і  і±і
ГДДДДДДДДДДДДДДДДДДДДДДДДДґ      і                       і±і  і±і
і Exit                    і      і                       ГДґ  і±і
ГДДДДДДДДДДДДДДДДДДДДДДДДДЩ      і                       іvі  і±і
і                                АДДДДДДДДДДДДДДДДДДДДДДДБДЩ  і±і
і                                                             і±і
і                                                             і±і
і                                                             і±і
і                                                             і±і
і                                                             і±і
і                                                             ГДґ
і                                                             іvі
ГДДДДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДґ
і Ready                   і Modify                              і
АДДДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     Рис. 3.4  Окно  проектов  с  выделенными  командами  Save  и
Project Selected

     Resource Workshop  -  Пакет  разработчика  ресурсов;  File -
файл; Edit - редактирование;  Resource - ресурс; Control - управ-
ление; Options - параметры;  Window - окно;  Help - справка;  New
project - новый проект;  Оpen project -  открытие  проекта;  Save
project - сохранение проекта;  Save file as - сохранение под име-
нем; Close all - закрыть все;  Add to project - добавление к про-
екту; Exract from project - извлечение из проекта; Prefverences -
предпочтения; Exit - выход; Ready - готов; Modify - модификация.

        Открытие существующего файла описания проекта
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Существующим файлом  описания  проекта  может быть тот файл,
который вы создали с помощью  Пакета  разработчика  ресурсов  или
файл .RC,  созданный  с помощью другого программного обеспечения.
Вы можете также работать с ресурсами в любой прикладной  програм-
ме, разработанной для Windows версии 3.0 или старше,  даже если у
вас нет доступа к исходному коду. Если у вас есть доступ только к
выполняемому файлу,  Пакет разработчика ресурсов может декомпили-
ровать встроенные в этот файл ресурсы,  благодаря чему вы  можете
внести в них изменения.

     Чтобы открыть существующий файл проекта,  нужно сделать сле-
дующее:

     1. Выбрать команду FileіOpen project (ФайліОткрыть файл про-
        екта).  Пакет разработчика ресурсов выводит при этом диа-
        логовое окно Open File (Открытие файла):

ЪДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і - і                   Open FIle                               і
ГДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДґ
і  ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї  і               і
і  і           ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДїі  і               і
і  і File Name і .rc                        іі  і               і
і  і           АДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩі  і               і
і  і           ЪДДДДДДДДДДДДДДДДДДДДДДДДДДВДїі  і ЪДДДДДДДДДДДї і
і  і File type і RC resource script       іvіі  і і  _        і±і
і  і           АДДДДДДДДДДДДДДДДДДДДДДДДДДБДЩі  і і V    OK   і±і
і  АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ  і АДДДДДДДДДДДЩ±і
і                                               і   ±±±±±±±±±±±±і
і   ±Path±±±c:\products\rwrkshop±±±±±±±±±±±±±±  і               і
і                                               і               і
і  ЪДДДДДДДДДДДДДДДДДДДїЪДДДДДДДДДДДДДДДДДДДДї  і               і
і  іFiles              іі Directories        і  і               і
і  іЪДДДДДДДДДДДДДДВДї ііЪДДДДДДДДДДДДДДДДВДїі  і               і
і  іі К typicalrc  і^і ііі П ...          і^іі  і ЪДДДДДДДДДДДї і
і  іі              ГДґ ііі П program      ГДґі  і і           і±і
і  іі              іІі ііі П user         іІіі  і і X  Cancel і±і
і  іі              і±і ііі П A            і±іі  і АДДДДДДДДДДДЩ±і
і  іі              і±і ііі П B            і±іі  і   ±±±±±±±±±±±±і
і  іі              і±і ііі П C            і±іі  і               і
і  іі              і±і ііі П F            і±іі  і               і
і  іі              і±і ііі П G            і±іі  і               і
і  іі              і±і ііі П H            і±іі  і               і
і  іі              і±і ііі П I            і±іі  і ЪДДДДДДДДДДДї і
і  іі              ГДґ ііі П program      ГДґі  і і           і±і
і  іі              іvі ііі П program      іvіі  і і ?  Help   і±і
і  іАДДДДДДДДДДДДДДБДЩ ііАДДДДДДДДДДДДДДДДБДЩі  і АДДДДДДДДДДДЩ±і
і  і                   іі                    і  і   ±±±±±±±±±±±±і
і  АДДДДДДДДДДДДДДДДДДДЩАДДДДДДДДДДДДДДДДДДДДЩ  і               і
і                                               і               і
і                                               і               і
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДЩ

     Рис. 3.5 Диалоговое окно Open File

     Open File  -  открыть  файл;  File name - имя файла;  Path -
маршрут; Files - файлы; Directories - каталоги.

        Чтобы увидеть все типы файлов, которые вы можете открыть,
        щелкните  кнопкой "мыши" на стрелке окна списка справа от
        File Type.  Если для формирования ресурсов вы используете
        Пакет разработчика ресурсов,  в большинстве случаев рабо-
        тать приходится с файлами .RC.  Однако вы можете  открыть
        файл любого из перечисленных типов. Если вы откроете дво-
        ичную библиотеку (файл .EXE, .CUR, .ICO или .RES), то Па-
        кет  разработчика ресурсов декомпилирует этот файл, чтобы
        вы могли внести изменения.

           Примечание: Если вы работаете с декомпилированным дво-
        ичным  файлом,  то идентификаторы использовать нельзя.  В
        этих файлах для ресурсов можно использовать только  цело-
        численные идентификаторы.

        Если в текстовом  окне  имени  файла  вы наберете одно из
        стандартных расширений (вместо выбора типа файла из спис-
        ка  и автоматического выбора расширения Пакетом разработ-
        чика ресурсов), то Пакет разработчика ресурсов присваива-
        ет файлу соответствующий тип. Однако, если вы используете
        нестандартное расширение (например, .MNU для файла меню),
        то  перед загрузкой файла нужно внимательно выбирать кор-
        ректный тип файла из списка File Type.  (В  случае  файла
        .MNU,  если ресурс представляет собой меню,  записанное в
        виде записи ресурса,  типом файла должен быть RC Resource
        Script).

     2. С  помощью  следующих  действий задайте содержащий проект
        файл, который вы хотите открыть:

        - Наберите имя файла и нажмите Enter.

          Если файл не находится в текущем каталоге,  при  наборе
          имени  файла  нужно  также задавать маршрут.  Например,
          можно набрать: C:\TEST\MYPROJ.RC.

        - Выберите файл из списка файлов Files. Например, если вы
          хотите  открыть  C:\TEST\MYPROJ.RC,  то выберите в File
          Type .RC,  выберите соответствующую пиктограмму папки в
          Directories,  и  после  вывода  каталога  TEST выберите
          MYPROJ.RC.

     3. Пакет разработчика ресурсов не зависит от того, использу-
        ется в качестве файла проекта двоичный файл или файл, со-
        держащий данные ресурсов.

        - Если проект представляет собой двоичный файл (выполняе-
          мый файл, файл .RES или файл DLL), то Пакет разработчи-
          ка ресурсов декомпилирует ресурсы и выводит вам состоя-
          ние в левой части нижней строки экрана.

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

ЪДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і - і                     Compile Status                        і
ГДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і                                                              іі
і   ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї           іі
і   і Status:  Compiling DIALOG: dlg_SaveAs        і           іі
і   АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ           іі
і                                                              іі
і   Files                                                      іі
і   ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї           іі
і   і Main:  rwpdemo.rc                            і           іі
і   і Current: rwpdemo.rc                          і           іі
і   АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ           іі
і                                                              іі
і   Statistics         Total        Current                    іі
і   ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї           іі
і   і Lines:            233               93       і           іі
і   АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ           іі
і                                                              іі
іДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩі
і                                                               і
і                                                               і
і                                                               і
і                         ЪДДДДДДДДДДДї                         і
і                         і           і±                        і
і                         і X  Cancel і±                        і
і                         АДДДДДДДДДДДЩ±                        і
і                           ±±±±±±±±±±±±                        і
і                                                               і
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     Рис. 3.5 Диалоговое окно Compile Status для файла rwpdemo.rc

     Compile Status   -  состояние  компиляции;  Files  -  файлы;
Statistics - статистика;  Tolal - всего строк;  Current - текущая
строка; Maint - основной файл;  Cancel - отмена;  Current - теку-
щий.

          Для отмены операции  вы  можете  активизировать  кнопку
          Cancel.

          Если компилятор обнаруживает ошибку, Пакет разработчика
          ресурсов выводит диалоговое окно Compiler Error (Ошибка
          компилятора),  в котором вам выводится ошибка и строка,
          на которой она обнаружена.

ЪДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і - і                     Compiler Error                        і
ГДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДґ
і  ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї  і               і
і  і Error id   742                          і  і               і
і  і Error text Cannot open File:tpwdemoc.rc і  і               і
і  і                                         і  і               і
і  і File name tpwdemoc.rc                   і  і ЪДДДДДДДДДДДї і
і  і                                         і  і і Дї  Run   і±і
і  і Line number 1                           і  і і ~\  Editorі±і
і  АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ  і АДДДДДДДДДДДЩ±і
і                                               і   ±±±±±±±±±±±±і
і                                               і               і
і  ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДї  і               і
і  і1:#include "tpwdemoc.pas"              і^і  і               і
і  і2:                                     ГДґ  і               і
і  і3:men_Maint MENU                       іІі  і ЪДДДДДДДДДДДї і
і  і4:BEGIN                                і±і  і і           і±і
і  і5:     POPUP "&File"                   і±і  і і X  Cancel і±і
і  і6:     BEGIN                           і±і  і АДДДДДДДДДДДЩ±і
і  і                                       і±і  і   ±±±±±±±±±±±±і
і  і                                       ГДґ  і               і
і  і                                       іvі  і               і
і  ГДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДЕДґ  і               і
і  і<іІ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±і>і і  і ЪДДДДДДДДДДДї і
і  АДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДБДЩ  і і           і±і
і                                               і і ?  Help   і±і
і  ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї  і АДДДДДДДДДДДЩ±і
і  і              ЪДДДДДДДДДДДДДДДДДДДДДДДДДїі  і   ±±±±±±±±±±±±і
і  і Text Editor  іnotapad.exe              іі  і               і
і  і              АДДДДДДДДДДДДДДДДДДДДДДДДДЩі  і               і
і  АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ  і               і
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДЩ

     Рис. 3.7 Диалоговое окно Compile Error для файла rwpdemo.rc

     Compile error - ошибка компиляции;  Error id - идентификатор
ошибки; Error text Cannot open File:tpwdemoc.rc -  текст  ошибки:
невозможно открыть файл; File name - имя файла; Line number - но-
мер строки; Text editor - текстовый редактор; Run Editor - запуск
редактора; Cancel - отмена; Help - справка.

          Чтобы отредактировать текстовый файл с помощью внешнего
          текстового редактора,  заданного в Preferences, активи-
          зируйте командную кнопку Run Editor (Запуск редактора).
          В текстовом окне Text Editor  вы  можете  также  задать
          другой редактор.

          Когда выводится окно редактора,  внесите изменения, за-
          тем  сохраните изменения и выйдите из редактора.  После
          этого нужно перезагрузить проект.

     4. Когда проект скомпилирован или декомпилирован, Пакет раз-
        работчика ресурсов выводит на экран окно проекта со всеми
        перечисленными в нем ресурсами.

        Если вы откроете файл RWPDEMO.RC,  то  увидите  следующее
        окно проекта:

           ЪДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДВДї
           і - і       rwpdemo.rc                і^іvі
           ГДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДЕДґ
           і BITMAP                                і^і
           і     BITMAP_1                          ГДґ
           і     bmp_StatusLine                    іІі
           і MENU                                  і±і
           і     men_Main                          і±і
           і±DIALOG±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±і±і
           і     DIALOG_5                          і±і
           і     dlg_Open                          і±і
           і     dlg_SaveAs                        ГДґ
           і                                       іvі
           АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДЩ

     Рис. 3.8 Окно проекта

                 Использование окно проекта
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Пакет разработчика  ресурсов выводит окно проекта при откры-
тии нового или существующего проекта.

     Для нового проекта это окно будет пустым, и вы должны помес-
тить в него ресурсы,  создавая их или добавляя в виде файлов (бо-
лее подробно об этом будет рассказано ниже).

     В существующем проекте вы можете видеть:

     - полный список файлов проекта;

     - типы ресурсов, содержащихся в каждом файле;

     - если файл содержит данные  ресурсов  (не  является  файлом
       .EXE, .RES  или .DLL),  то выводятся связанные с ресурсами
       идентификаторы (определения #define или константы).

           Примечание: Пример окна проекта см. на Рис. 3.8.

     Окно проекта действует как  инструмент  управления  файлами,
облегчая полный обзор проекта.  Даже если проект содержит большое
число файлов ресурсов, вы можете быстро просмотреть их, пролисты-
вая окно проекта.

               Вывод информации в окне проекта
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Чтобы определить вывод информации в окне проекта, используй-
те команду View (Просмотр).

      ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
      і±±±By±file±±±±±±±±±±±±±±±±±±±±±±і По файлам
      і ^ By type                      і По типу
      ГДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
      і   Show identifiers             і Вывод идентификаторов
      і ^ Show resources               і Вывод ресурсов
      і   Show items                   і Вывод элементов
      ГДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
      і ^ Show unused types            і Вывод неиспользуемых
      АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ типов

     Рис. 3.9 Меню View

                Параметр By File (По файлам)
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Группы ресурсов выводятся в соответствии с файлами,  в кото-
рых они находятся.

     Выберите By File,  чтобы видеть все имена файлов, входящих в
ваш проект.  В окне проекта все ресурсы и имена файлов перечисля-
ются в том порядке,  в котором они встречаются в исходных файлах.
Пакет разработчика ресурсов в окне проекта  показывает, сохранены
ли ресурсы  в  файле описания проекта,  или они являются внешними
файлами, как показано на следующем рисунке:

                              Окно проекта
 Ресурс ICON  нахо- ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
 дится в файле про- і          myproj.rc             і
 екта и  записан  в ГДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
 виде записи ресур- іmyproj.rc                       і
 са.             і  і  DIALOG: my_db                 і
                 АДДЕД>ICON: my_ico                  і
                    і  iconfile.ico                  і
                    і    ICON:my_ico1 <ДДДДДДДДДДДДДДЕДДї
                    і                                і  і
                    АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ  і
                                                        і
                              Данный ресурс пиктограммы находится
                              в  отдельном  файле  ICONFILE.ICO и
                              записан в двоичном формате (как все
                              ресурсы битовых изображений),  хра-
                              нящиеся в виде внешних файлов.

     Рис. 3.10 Окно проекта, показывающее ресурсы по файлам

                 Параметр By Type (По типу)
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Группы ресурсов выводятся по типам,  например,  пиктограммы,
меню, диалоги, идентификаторы и т.д.

     Выбирайте By  Type (и Show Resources),  если вы хотите полу-
чить список всех ресурсов в соответствии с типом ресурсов,  а  не
именами файлов.  В  окне  проекта все ресурсы проекта выводятся в
данном порядке:  битовые массивы  (изображения),  меню,  диалоги,
строковые таблицы,  акселераторы,  данные ресурсов, курсоры, пик-
тограммы и все ресурсы,  определенные пользователем. После списка
ресурсов выводятся все идентификаторы проекта (если вы установили
в меню View параметр Set Identifiers).

                          Окно проекта
               ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
               і          myproj.rc             і
               ГДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
               і DIALOG                         і
               і    my_db                       і
               і ICON                           і
               і    my_ico                      і
               і    my_ico1                     і
               і                                і
               АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     Рис. 3.11 Окно проекта, показывающее ресурсы по типу

      Параметр Show Identifiers (Вывод идентификаторов)
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Выводятся все идентификаторы  проекта  (определения  #define
или константы).  Если вы хотите видеть в окне проекта идентифика-
торы, выключите эту команду.

          Параметр Show Resources (Вывод ресурсов)
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Выводятся имена  отдельных  ресурсов,  например,   Cursor_1,
MY_Icon, PB_BITMAP и т.д.

     Выключите данный параметр, если вы хотите видеть только име-
на файлов без списка содержащихся в этих файлах  ресурсов  (нужно
включить By File), или если вам хочется просмотреть идентификато-
ры (нужно включить Show Identifiers) и вы хотите  уменьшить объем
выводимой информации.

          Примечание: Если  параметр Show Resources выключен,  то
      выбирать и редактировать ресурсы, определенные в файле про-
      екта нельзя.

            Параметр Show Items (Вывод элементов)
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

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

   Параметр Show Unused Types (Вывод неиспользуемых типов)
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Выводятся все возможные типы ресурсов,  даже если  некоторые
из них могут не включаться в проект.

     Чтобы был полезным данный параметр,  нужно включить параметр
By Type (По типу).

                        Выбор ресурса
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Для выбора  ресурса переместите на него в окне проекта подс-
ветку с помощью "мыши" или клавиш управления курсором (стрелок).

     - Если вы выбрали ViewіBy File,  ищите ресурс под его именем
       файла (если вы его знаете). Имени ресурса предшествует тип
       ресурса и двоеточие.

       Например, в окне проекта MYPROJ на Рис.  3.10 ресурс  пик-
       тограммы my_ico1   выведен   под   именем   файла  ресурса
       iconfike.ico как ICON:my_ico1.

     - Если вы выбрали ViewіBy Type,  просмотрите сначала  список
       типов  ресурсов.  Ресурсы перечислены по именам под типами
       ресурсов.

       Например, в окне проекта MYPROJ на Рис.  3.10 ресурс  пик-
       тограммы my_ico1 выведен под типом ресурса ICON.

                     Работа с ресурсами
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Если вы выводите ресурсы в окне проекта,  то видите, что они
перечисляются по  именам.  В  следующем  разделе рассказывается о
том, как выполнять загрузку ресурсов и работать с ними.

                   Редактирование ресурса
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Когда вы открываете ресурс, Пакет разработчика ресурсов отк-
рывает также редактор ресурса. Вы может выбрать два типа редакто-
ров:

     - редактор ресурсов, ориентированный на изображение:

     - текстовый  редактор,  который  позволяет вам редактировать
       только записи ресурсов.

     Для выбора редактора выберите ресурс и  используйте  команду
ResourceіEdit  (РесурсіРедактирование)  или ResourceіEdit As Text
(РесурсіРедактирование в виде текста). Команда Edit (Редактирова-
ние) выбирает редактор,  соответствующий ресурсу,  а команда Edit
As Text выбирает внутренний текстовый  редактор.  Так  как  Пакет
разработчика ресурсов использует редакторы ресурсов по умолчанию,
вы можете загрузить ресурс и  редактировать  его,  просто  дважды
щелкнув кнопкой "мыши" на имени ресурса в окне проекта.

               Использование редактора ресурса
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Если вы дважды щелкните кнопкой "мыши" на  имени  ресурса  в
окне проекта, Пакет разработчика ресурсов загружает редактор, со-
ответствующий выбранному ресурсу.

     - Если ресурс представляет собой диалог,  меню,  акселератор
       или  таблицу строк,  Пакет разработчика ресурсов загружает
       редактор,  специально предназначенный для работы с  данным
       типом ресурса. Описание этих редакторов можно найти в гла-
       вах 4 - 7.

     - Если  ресурс  представляет собой битовое изображение (пик-
       тограмму,  битовый массив, курсор или шрифт), Пакет разра-
       ботчика  ресурсов выводит этот ресурс в графическом редак-
       торе.   Все    характеристики    графического    редактора
       описываются  в  Главе 8.  Конкретные средства графического
       редактора, используемые при работе с каждым ресурсом, опи-
       саны в главе, посвященной данному ресурсу.

       Использование внутреннего текстового редактора
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Записи ресурсов  можно  редактировать  для  любого  ресурса,
включая ресурсы,  которые обычно хранятся в двоичном формате. Па-
кет разработчика  ресурсов  выводит текст в окне редактирования с
помощью внутреннего редактора. Если необходимо, Пакет разработчи-
ка ресурсов  декомпилирует  двоичный формат и позволяет вам рабо-
тать с записями ресурсов.

     Чтобы отредактировать запись ресурса, сделайте следующее:

     1. Выберите ресурс в окне проекта.

     2. Выберите команду ResourceіEdit As Text (РесурсіРедактиро-
        вание в виде текста).  Пакет разработчика ресурсов откры-
        вает внутренний редактор и выводит записи ресурса.

     Внутренний текстовый редактор аналогичен редактору Notepad в
Windows. Он находится всегда в режиме  вставки,  а  клавиши  Del,
Home, End, PgUp, PgDn, Tab и Backspace работают стандартным обра-
зом.

           Примечание: Описание команд работы с записями ресурсов
      можно найти в оглавлении оперативного справочника Help.

     Когда вы вводите текст, не стоит тратить время на его форма-
тирование, поскольку Пакет разработчика ресурсов  вероятно  пере-
форматирует текст при его компиляции.

     Когда вы закончите вносить изменения, выберите текстовый ре-
дактор. При этом компилятор ресурсов запросит у вас, хотите ли вы
скомпилировать файл.

     Чтобы сохранить  изменения,  щелкните  кнопкой "мыши" на ко-
мандной кнопке OK.  Если вы щелкните кнопкой на командной  кнопке
No, то все внесенные изменения будут отброшены.

     Если Пакет  разработчика ресурсов находит какие-либо ошибки,
он возвращает вас в текстовый редактор,  чтобы вы могли их испра-
вить.

     Если вы  хотите редактировать записи ресурса непосредственно
без помощи Пакета разработчика ресурсов, то можете открыть исход-
ный файл  с  помощью  выбранного вами редактора и отредактировать
этот файл.  Однако обратите внимание на  следующее:  когда  Пакет
разработчика ресурсов загружает ресурс, он переформатирует записи
ресурса и отбрасывает все комментарии в исходных записях ресурса.

                     Добавление ресурса
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Добавить ресурс  к  проекту вы можете в виде ссылки на файл,
либо добавить его непосредственно к проекту.

           Добавление ресурса, записанного в файле
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Вы можете добавить к текущему проекту ресурс,  записанный во
внешнем файле, с помощью команды FileіAdd To Project (ФайліДобав-
ление к  проекту).  Эту команду можно использовать для добавления
существующего в данный момент файла ресурса или  создания  нового
файла ресурса.

                  Выход из файлов ресурсов
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Если существующий  ресурс  находится в своем собственном от-
дельном файле,  вы можете добавить его  к  проекту.  Предположим,
например, что  у вас есть курсор,  записанный в файле .CUR,  и вы
хотите использовать его в текущем проекте.

     Открыв файл описания проекта, сделайте следующее:

     1. Выберите команду FileіAdd To Project.  Пакет разработчика
        ресурсов выводит диалоговое окно Add File To Project (До-
        бавление файла к проекту).

ЪДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і - і                     Add file to project                   і
ГДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДґ
і   ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї і               і
і   і           ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДїі і               і
і   і File Name і *.rc                       іі і               і
і   і           АДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩі і               і
і   і           ЪДДДДДДДДДДДДДДДДДДДДДДДДДДВДїі і               і
і   і File Type і RC resource script       іvіі і               і
і   і           АДДДДДДДДДДДДДДДДДДДДДДДДДДБДЩі і ЪДДДДДДДДДДДї і
і   і rcinclude will be                       і і і  _        і±і
і   і                  ЪДДДДДДДДДДДДДДДДДДДВДїі і і V    OK   і±і
і   і placed in        і rwpdemo.rct       іvіі і АДДДДДДДДДДДЩ±і
і   і                  АДДДДДДДДДДДДДДДДДДДБДЩі і   ±±±±±±±±±±±±і
і   АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ і               і
і                                               і               і
і    ±Path±±±c:\wordshop±±±±±±±±±±±±±±±±±±±±±±± і               і
і                                               і               і
і   ЪДДДДДДДДДДДДДДДДДДДїЪДДДДДДДДДДДДДДДДДДДДї і ЪДДДДДДДДДДДї і
і   іFiles              іі Directories        і і і           і±і
і   іЪДДДДДДДДДДДДДДВДї ііЪДДДДДДДДДДДДДДДДВДїі і і X  Cancel і±і
і   іі К editor.rc  і^і ііі                і^іі і АДДДДДДДДДДДЩ±і
і   іі К menus.rc   ГДґ ііі П ...          ГДґі і   ±±±±±±±±±±±±і
і   іі К myrsourc.rcіІі ііі П temp         іІіі і               і
і   іі К mypdemo.rc і±і ііі П A            і±іі і               і
і   іі К typical.rc і±і ііі П B            і±іі і               і
і   іі              і±і ііі П C            і±іі і               і
і   іі              і±і ііі П F            і±іі і ЪДДДДДДДДДДДї і
і   іі              і±і ііі П G            і±іі і і           і±і
і   іі              і±і ііі П H            і±іі і і ?  Help   і±і
і   іі              і±і ііі П I            і±іі і АДДДДДДДДДДДЩ±і
і   іі              ГДґ ііі П Jrogram      ГДґі і   ±±±±±±±±±±±±і
і   іі              іvі ііі                іvіі і               і
і   іАДДДДДДДДДДДДДДБДЩ ііАДДДДДДДДДДДДДДДДБДЩі і               і
і   і                   іі                    і і               і
і   АДДДДДДДДДДДДДДДДДДДЩАДДДДДДДДДДДДДДДДДДДДЩ і               і
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДЩ

     Рис. 3.12 Диалоговое окно Add File To Project

     Add File  To  Project  - добавить файл к проекту;  rcinclude
will be placed in - файл rcinclude будет помещен в...;  File name
- имя файла; Path - маршрут; Files - файлы; Directories - катало-
ги.

     2. В текстовом блоке File Name введите имя файла, содержаще-
        го  ресурс,  или  дважды щелкните кнопкой "мыши" на имени
        файла, если оно выведено и блоке Files.

        Если файл не находится  в  текущем  каталоге,  вы  можете
        ввести имя  маршрута  файла,  или изменить каталоги с по-
        мощью блока списка Directories (Каталоги). Затем вы може-
        те выполнить поиск файла,  введя критерий поиска в диало-
        говом окне File Name (Имя файла) и  нажав  клавишу  Enter
        (например,  используя *.CUR для поиска всех файлов курсо-
        ра.  Когда вы найдете файл,  чтобы ввести его в текстовое
        окно File Name, дважды щелкните на нем кнопкой "мыши".

     3. Во  втором  всплывающем  списке  (под всплывающим списком
        File Type) вы можете видеть файл  текущего  проекта,  где
        вам  вероятно потребуется поместить ссылку на новый файл.
        Если ваш проект содержит более одного файла .RC, и вы хо-
        тите  поместить ссылку  где-либо еще,  прокрутите список,
        чтобы найти имя файла,  в  который  вы  хотите  поместить
        ссылку.

     4. Чтобы добавить файл к проекту,  нажмите клавишу Enter или
        щелкните кнопкой  "мыши"  на  командной кнопке OK.  Пакет
        разработчика ресурсов помещает запись ресурса,  указываю-
        щую на этот файл, в окне проекта.

        Если вы  выберите  команду  VewіBy File (ПросмотріПо фай-
        лам),  то увидите имя файла и под ним - имя ресурса.  Все
        изменения, внесенные в проекте для данного ресурса, отра-
        жаются в исходном файле.

                    Новые файлы ресурсов
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     При добавлении в файлу проекта нового файла  все  происходит
также, как  при  добавлении  существующего файла (см.  предыдущий
раздел), только нужно ввести имя несуществующего файла.  Когда вы
для добавления  файла  нажмете клавишу Enter или щелкните кнопкой
"мыши" на командной клавише OK, Пакет разработчика ресурсов сооб-
щает вам, что этот файл не существует, и запрашивает у вас, хоти-
те ли вы создать его.  Если да,  то нажмите клавишу Enter или ис-
пользуйте командную кнопку OK. При этом Пакет разработчика ресур-
сов создает файл соответствующего типа (на основе расширения име-
ни  файла,  или,  если  расширение нестандартное,  на основе типа
файла) и включает ссылку на этот файл в окно проекта.

     Вы можете использовать этот  параметр  для  создания  нового
файла идентификаторов.  Для этого нужно просто выбрать тип файла,
который вам требуется (H,  PAS или INC) и ввести новое имя с пра-
вильным расширением.  Пакет разработчика ресурсов создаст для вас
новый файл. При использовании данного параметра вам не потребует-
ся создавать файлы идентификаторов с помощью редактора вне Пакета
разработчика ресурсов.

                   Сознание нового ресурса
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Для создания нового ресурса в проекте в виде записей ресурса
используйте  команду ResourceіNew (РесурсіНовый).  Убедитесь, что
проект, с которым вы хотите работать,  открыт, и сделайте следую-
щее:

     1. Выберите команду ResourceіNew для вывода диалогового окна
        New Resource (Новый ресурс).

ЪДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і - і                     New Resource                          і
ГДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДґ
і   Resource type                               і               і
і   ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї і ЪДДДДДДДДДДДї і
і   і DIALOG                                  і і і  _        і±і
і   і ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДї      і і і V    OK   і±і
і   і і ACCELERATORS                 і^і      і і АДДДДДДДДДДДЩ±і
і   і і BITMAP                       ГДґ      і і   ±±±±±±±±±±±±і
і   і і CURSOR                       іІі      і і               і
і   і іЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ±і      і і               і
і   і ііDIALOG                       і±і      і і               і
і   і іАДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ±і      і і ЪДДДДДДДДДДДї і
і   і і FONT                         ГДґ      і і і           і±і
і   і і                              іvі      і і і X  Cancel і±і
і   і АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДЩ      і і АДДДДДДДДДДДЩ±і
і   АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ і   ±±±±±±±±±±±±і
і                                               і               і
і   Place resource in                           і               і
і   ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї і               і
і   і                                         і і ЪДДДДДДДДДДДї і
і   і  ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДї і і і..  New    і±і
і   і  і TYPICAL.RC                       іvі і і і... Type   і±і
і   і  АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДЩ і і АДДДДДДДДДДДЩ±і
і   і                                         і і   ±±±±±±±±±±±±і
і   АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ і               і
і                                               і               і
і                                               і               і
і                                               і ЪДДДДДДДДДДДї і
і                                               і і           і±і
і                                               і і ?  Help   і±і
і                                               і АДДДДДДДДДДДЩ±і
і                                               і   ±±±±±±±±±±±±і
і                                               і               і
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДЩ

     Рис. 3.13 Диалоговое окно New Resource

     New Resource - новый ресурс;  Place resopurce in - поместить
ресурс в...;  Resource type - тип ресурса; OK - выполнить; Cancel
- отмена; New type - новый тип; Help - справка

     2. Дважды  щелкните кнопкой "мыши" на типе ресурса,  который
        вы хотите создать.

        - Если вы хотите создать акселератор, меню, диалог, стро-
          ковую таблицу,  данные ресурса или ресурс, определенный
          пользователем, Пакет разработчика ресурсов помещает со-
          ответствующую ресурсу запись в окно проекта и открывает
          соответствующий редактор ресурса  с  загруженным  новым
          ресурсом.

        - Если вы создаете ресурс с битовым изображением (пиктог-
          рамму, курсор,  битовый массив или шрифт), Пакет разра-
          ботчика ресурсов запрашивает у вас, хотите ли вы сохра-
          нить ресурс как исходный текст (запись ресурса  в файле
          проекта) или в двоичном виде (во внешнем файле).

          Если вы  выберите  сохранение  ресурса  в виде двоичных
          данных,  нужно задать файл,  в котором  будут  записаны
          двоичные данные. Пакет разработчика ресурсов для облег-
          чения задания имени файла выводит диалоговое  окно  Add
          File To Project.

        - Если  тип ресурса,  который вы хотите создать,  в файле
          отсутствует,  вы можете использовать  командную  кнопку
          New Type (Новый тип) и создать для ресурса тип, опреде-
          ленный пользователем.  О ресурсах, определенных пользо-
          вателем, рассказывается в Главе 13.

        - Если  вы  создадите  в качестве ресурса пиктограмму или
          битовое изображение, то увидите дополнительное диалого-
          вое окно,  позволяющее вам задать характеристики ресур-
          са.  Например,  если вы создаете новую пиктограмму,  то
          увидите следующее диалоговое окно.

ЪДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і - і                   New icon image                          і
ГДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і     Size                         Colors                       і
і     ЪДДДДДДДДДДДДДДДДДДДДДДДДДї  ЪДДДДДДДДДДДДДДДДДДДДДДДДДДї і
і     і                         і  і                          і і
і     і  2 colors             і і
і     і     ДДДДДЩ              і  і                          і і
і     і                         і  і   > 8 colors             і і
і     і                         і  і                          і і
і     і  >  32X16               і  і  і і
ГДБДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДБДґ
і Modify string table    і                                      і
АДДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     Рис. 3.18 Диалоговое окно New Identifier

     Resource Workshop -  Пакет  разработчика  ресурсов;  File  -
файл;  Edit  - редактирование;  Resource - ресурс;  Stringtable -
строковая таблица;  Window - окно Help -  справка;  Id  Source  -
идентификатор исходного текста;  OK - выполнить; Cancel - отмена;
Modify string table - модификация строковой таблицы.

     В блоке Value (Значение) вы можете либо ввести новое  значе-
ние для идентификатора, либо принять выведенное значение, которые
является уникальным для данной строковой таблицы.

     Во всплывающем списке  File (Файл) вы можете задать файл,  в
котором нужно сохранить идентификатор. Так как вы уже создали для
текущего  проекта  по крайней мере один идентификатор,  вы можете
прокрутить список для этого файла,  выбрать его,  затем  щелкнуть
кнопкой  "мыши",  позиционировавшись на командной кнопке OK,  или
нажать клавишу Enter. Идентификатор будет помещен в этот файл.

     Вы можете также добавить идентификатор в файл непосредствен-
но, не связывая предварительно идентификатор с ресурсом.  О  том,
как работать с идентификаторами,  рассказывается в следующем раз-
деле.

                 Добавление, редактирование,
             удаление и вывод списка идентификаторов
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Чтобы добавить,  отредактировать, удалить или просто вывести
список идентификаторов, сделайте следующее:

     1. Выберите команду ResourceіIdentifiers (РесурсіИдентифика-
        торы). Пакет разработчика ресурсов выводит диалоговое ок-
        но IOdentifiers (Идентификаторы).

ЪДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДї
і - і                     Compiler Error                      іvі
ГДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДБДґ
і  Name                   Value                 і               і
і ЪДДДДДДДДДДДДДДДДДДДДДїЪДДДДДДДДДДДДДДДДДДДДДїі ЪДДДДДДДДДДДї і
і іFileWindowe          іі 101                 іі іЪД\        і±і
і АДДДДДДДДДДДДДДДДДДДДДЩАДДДДДДДДДДДДДДДДДДДДДЩі іАДЩ New    і±і
і ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДїі АДДДДДДДДДДДЩ±і
і іBS_DEFINE                                 і^іі   ±±±±±±±±±±±±і
і іBS_AUTOSTATE                              ГДґі               і
і іBS_aUTOCHECKBOX                           іІіі               і
і іBS_TOPAUTOBUTTON                          і±іі ЪДДДДДДДДДДДї і
і і                                          ГДґі іЪi\        і±і
і і                                          іvіі іАДЩ Change і±і
і ГДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДЕДґі АДДДДДДДДДДДЩ±і
і і<іІ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±і>і іі   ±±±±±±±±±±±±і
і АДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДБДЩі               і
і  Usage                                        і               і
і ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДїі ЪДДДДДДДДДДДї і
і іcursoredj±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±і^іі іЪi\        і±і
і і                                          ГДґі іАДЩ Delete і±і
і і                                          і±іі АДДДДДДДДДДДЩ±і
і і                                          ГДґі   ±±±±±±±±±±±±і
і і                                          іvіі               і
і ГДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДЕДґі               і
і і<іІ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±і>і іі ЪДДДДДДДДДДДї і
і АДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДБДЩі і           і±і
і  View                                         і і ?  Help   і±і
і  ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї  і АДДДДДДДДДДДЩ±і
і  і             _  ЪДДДДДДДДДДДДДДДДДДДДДДї і  і   ±±±±±±±±±±±±і
і  і  Single file  іrrwpdemo.rc         іvі і  і               і
і  і                АДДДДДДДДДДДДДДДДДДДДБДЩ і  і               і
і  АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ  і               і
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДЩ

     Рис. 3.19  Диалоговое окно Identifiers

     Identifiers - идентификаторы;  Name - имя; Value - значение;
Usage - использование; View - просмотр; New - новый; Change - из-
менение; Delete  -  удаление;  Help  - справка;  All - все;  Show
predefined - вывод предопределенных; Single file - один файл.

        Это диалоговое окно является безрежимным. Чтобы выполнить
        другие  функции,  вам  не нужно из него выходить.  Вместо
        этого вы можете сохранить его,  как одно из окон редакти-
        рования. Если вы действительно хотите от него избавиться,
        то дважды щелкните кнопкой "мыши" на управляющем элементе
        меню в левом верхнем углу диалогового окна.

     2. Для управления тем, какой идентификатор Пакет разработчи-
        ка ресурсов будет выводить в данном диалоговом окне,  ис-
        пользуйте кнопки с зависимой фиксацией:

          - Кнопки с зависимой фиксацией: All и Single File:

              * Выберите кнопку All (Все), если вы хотите вывести
                идентификаторы, которые добавлены к проекту.

              * Выберите кнопку Single File (Один файл), если хо-
                тите  вывести  на экран идентификаторы только для
                одного из файлов в окне списка  справа  от  этого
                выбора.  Если вы выберете Single File, а в списке
                более одного файла,  то убедитесь, что вы подсве-
                тили нужный файл.

          - Если  вы  хотите  выводить  на экран предопределенные
            значения #define, которые включаются Windows, выбери-
            те Show Predefined (Вывод предопределенных).

     3. Идентификаторы  выводятся в верхнем окне списка. Значения
        Name (Имя) и Value (Значение)  выделенного идентификатора
        выводятся под этими заголовками,  а файлы,  в которых ис-
        пользуется идентификатор,  выводятся в блоке списка Usage
        (Использование).

     4. После того,  как вы вывели на экран идентификаторы, с ко-
        торыми хотите работать, чтобы добавить, изменить или уда-
        лить идентификаторы,  можно использовать командные кнопки
        в правой части диалогового окна.

          - Активизация кнопки New (Новый) приводит к выводу диа-
            логового  окна  New Identifier (Новый идентификатор).
            Пример данного диалогового окна можно найти  на  Рис.
            3.18.

            Если ваш проект содержит более одного модуля, включа-
            емого файла или файла заголовка,  убедитесь,  что  вы
            используете всплывающий список (после File) для выбо-
            ра файла, в который вы хотите включить идентификатор.

            Идентификатор должен быть уникальным. Значащими явля-
            ются только первый 31 символ, все последующие символы
            Пакет разработчика ресурсов игнорирует.

          - Если вы  хотите  изменить  или  удалить  существующий
            идентификатор,  то  этот  идентификатор нужно сначала
            выбрать из верхнего блока списка,  а  затем  щелкнуть
            кнопкой "мыши" на командной кнопке Change (Изменение)
            или Delete (Удаление).

           Примечание: Предопределенные  идентификаторы выводятся
      серым цветом. Изменить или удалить их нельзя.

           Сохранение ресурсов, файлов и проектов
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     На практике полезно почаще сохранять результаты работы.  Па-
кет разработчика ресурсов предоставляет вам разнообразные команды
сохранения. Вы можете точно выбрать, что нужно сохранить.

                    Команда FileіSaveіProject

     Для полного сохранения  текущего  проекта  выберите  команду
FileіSaveіProject (ФайліСохранениеіПроект).  Если  вы  сохраняете
новый проект,  который еще не имеет имени, Пакет разработчика ре-
сурсов выводит диалоговое окно,  позволяющее вам задать имя и ка-
талог.

     Пакет разработчика  ресурсов всегда сохраняет файл проекта и
файлы, на которые он ссылается. Если вы выберите в диалоговом ок-
не  FileіPreferences  (ФайліПараметры) файлы .RES и.EXE (это окно
описывается далее), Пакет разработчика ресурсов также компилирует
и сохраняет файл .RES,  или встраивает ресурсы в выполняемый файл
либо DLL.

     Если ваш проект основан на файле .RC, Пакет разработчика ре-
сурсов в процессе сохранения выполняет также  компиляцию проекта.
Эта скомпилированная  версия  сохраняется  в  файле с расширением
.RWS. При следующем открытии проекта Пакет  разработчика ресурсов
может сэкономить  время,  загружая уже скомпилированный файл .RWS
вместо загрузки и компиляции файла .RC.

     Пакет разработчика ресурсов выполнять любую компиляцию,  ко-
торая может  потребоваться  для ваших ресурсов.  Пример возможной
компиляции проекта можно найти на Рис. 2.11.

                    Команда FileіSave File As

     Если вы хотите переименовать текущий проект или файл  ресур-
са, выберите  команду  FileіSave File As (ФайліСохранить файл под
именем). Пакет разработчика ресурсов выводит диалоговое окно Save
File As (Сохранения файла под именем...).

ЪДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і - і                   Save file as                            і
ГДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДґ
і  ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї  і               і
і  і                   ЪДДДДДДДДДДДДДДДДДДДДїі  і               і
і  і New file name     і *.rc               іі  і               і
і  і                   АДДДДДДДДДДДДДДДДДДДДЩі  і               і
і  і           ЪДДДДДДДДДДДДДДДДДДДДДДДДДДВДїі  і ЪДДДДДДДДДДДї і
і  і File type і RC resource script       іvіі  і і  _        і±і
і  і           АДДДДДДДДДДДДДДДДДДДДДДДДДДБДЩі  і і V    OK   і±і
і  АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ  і АДДДДДДДДДДДЩ±і
і                                               і   ±±±±±±±±±±±±і
і   ±File±±selected±±rwpdemo.rc±±±±±±±±±±±±±±±  і               і
і                                               і               і
і   ±Path±±±c:\products\rwrkshop±±±±±±±±±±±±±±  і               і
і                                               і               і
і  ЪДДДДДДДДДДДДДДДДДДДїЪДДДДДДДДДДДДДДДДДДДДї  і               і
і  іFiles              іі Directories        і  і               і
і  іЪДДДДДДДДДДДДДДВДї ііЪДДДДДДДДДДДДДДДДВДїі  і               і
і  іі К cua.rc     і^і ііі П ...          і^іі  і ЪДДДДДДДДДДДї і
і  іі К editor.rc  ГДґ ііі П temp         ГДґі  і і           і±і
і  іі К kat.rc     іІі ііі П A            іІіі  і і X  Cancel і±і
і  іі К katdemo.rc і±і ііі П B            і±іі  і АДДДДДДДДДДДЩ±і
і  іі К menus.rc   і±і ііі П C            і±іі  і   ±±±±±±±±±±±±і
і  іі К myproj.rc  і±і ііі П F            і±іі  і               і
і  іі К myresour.rcі±і ііі П G            і±іі  і               і
і  іі К newproj.rc і±і ііі П H            і±іі  і               і
і  іі К rwpdemo.rc ГДґ ііі П I            ГДґі  і               і
і  іі К typical.rc іvі ііі П J            іvіі  і ЪДДДДДДДДДДДї і
і  іАДДДДДДДДДДДДДДБДЩ ііАДДДДДДДДДДДДДДДДБДЩі  і і           і±і
і  АДДДДДДДДДДДДДДДДДДДЩАДДДДДДДДДДДДДДДДДДДДЩ  і і ?  Help   і±і
і                                               і АДДДДДДДДДДДЩ±і
і                                               і   ±±±±±±±±±±±±і
і                                               і               і
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДЩ

     Рис. 3.20 Диалоговое окно Save File As

     Save File  As  - сохранить файл под именем;  New file name -
новое имя файла;  File type - тип файла;  File selected -  выбран
файла; Path - маршрут;  Files - файлы; Directories - каталоги; OK
- выполнить; Cancel - отмена; Help - справка.

     Введите имя нового файла  или  выберите  корректное  имя  из
списка Files.  Если вы хотите поместить файл в другой каталог, то
можете выбрать  маршрут  с помощью списка Directories (Каталоги),
или включить маршрут, ко которому вы хотите разместить файл. Ког-
да вы убедитесь,  что имя файла корректно,  нажмите клавишу Enter
или выберите командную кнопку OK.

                Команда ResourceіSave Resource As

     Чтобы поместить  ресурс в отдельный файл для использования с
другими проектами, сделайте следующее:

     1. Выберите команду ResourceіSave Resource As (РесурсіСохра-
        нить ресурс под именем).  Пакет разработчика ресурсов вы-
        ведет диалоговое окно Save Resource As.

        Данное диалоговое окно выводит практически ту же информа-
        цию,  что и диалоговое окно File Save As (см. Рис. 3.20).
        Основное отличие здесь в том, что на третьей строке вмес-
        то выбора файла,  который требуется сохранить,  выводится
        ресурс, который нужно сохранить.

     2. Введите имя нового файла или выберите корректное  имя  из
        списка Files (Файлы).  Если вы хотите  поместить  файл  в
        другой    каталог,    то   можете   использовать   список
        Directories,  либо включить маршрут,  когда вы  набираете
        имя файла.  Когда вы убедитесь,  что имя файла корректно,
        для сохранения файла нажмите клавишу Enter  или  щелкните
        кнопкой  "мыши",  позиционировавшись  на командной кнопке
        OK.

     3. Пакет разработчика ресурсов запрашивает у вас,  хотите ли
        вы  включить  в  файл  описания  проекта ссылку на данный
        внешний файл.

          - Выбор Yes (Да) приводит к тому, что запись ресурса в
            текущем файле проекта будет заменена ссылкой на новый
            файл. Все последующие изменения в ресурсе будут  сох-
            раняться во внешнем файле ресурса,  а не в файле про-
            екта или в предыдущем файле ресурса.

          - Выбор No (Нет) приведет к созданию файла  ресурса без
            внесения  каких-либо изменений в файл описания проек-
            та.

                    Настройка параметров
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Чтобы установить  параметры  конфигурации,  выберите команду
FileіPreferences (ФайліПараметры).  Пакет  разработчика  ресурсов
выводит диалоговое окно Preferences (Параметры).

ЪДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і - і                       Preferences                         і
ГДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і  ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї      і
і  і                   ЪДДДДДДДДДДДДДї                   і      і
і  і Undo levels       і *.rc        і                   і      і
і  і                   АДДДДДДДДДДДДДЩ                   і      і
і  і                   ЪДДДДДДДДДДДДДДДДДДДДДї           і      і
і  і Text editor       і notepad.exe         і           і      і
і  і                   АДДДДДДДДДДДДДДДДДДДДДЩ           і      і
і  і                   ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДїі      і
і  і Include path      і                                іі      і
і  і                   АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩі      і
і  АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ      і
і                                                               і
і    Multi-save                                                 і
і  ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї      і
і  і  _                ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДїі      і
і  і V   .RES          і rwpdemo.res                    іі      і
і  і                   АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩі      і
і  і                   ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДїі      і
і  і ДЩ Executable     і                                іі      і
і  і  _                АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩі      і
і  і V   Make backups when saving files                  і      і
і  АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ      і
і                                                               і
ГДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і  ЪДДДДДДДДДДДДДДї     ЪДДДДДДДДДДДДДДї     ЪДДДДДДДДДДДДДДї   і
і  і              і±    і              і±    і              і±  і
і  і  _           і±    і              і±    і              і±  і
і  і V    OK      і±    і  X  Cancel   і±    і  ?  Help     і±  і
і  і              і±    і              і±    і              і±  і
і  АДДДДДДДДДДДДДДЩ±    АДДДДДДДДДДДДДДЩ±    АДДДДДДДДДДДДДДЩ±  і
і    ±±±±±±±±±±±±±±±      ±±±±±±±±±±±±±±±      ±±±±±±±±±±±±±±±  і
і                                                               і
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     Рис. 3.21 Диалоговое окно Preferences

     Preferences - параметры;  Undo levels - уровни отмены;  Text
editor - текстовый редактор; Include path  -  маршрут  доступа  к
включаемым файлам;   Multi-save   -   множественное   сохранение;
Executable - выполняемый файл;  Make backups when saving files  -
создание резервных копий при сохранении файлов.

     В данном диалоговом окне вы можете делать следующий выбор:

                      Параметр Undo Levels

     Пакет разработчика  ресурсов  имеет  многоуровневое средство
Undo (Отмена операции) и Redo (Возобновление  операции),  которое
позволяет вам  скорректировать действия в любом из редакторов ре-
сурсов. В зависимости от объема памяти  в  вашем  компиляторе  вы
можете отменять  или повторять до 99 действий.  По умолчанию уро-
вень повторений равен 10.

     Например, если вы работаете с графическим редактором и  пик-
тограммой и закрашиваете область цветом,  затем выделяете и пере-
мещаете часть графического изображения,  и видите, что это выгля-
дит неудовлетворительно, то можно отменить перемещение, затем от-
менить закраску (нажав для каждой отмены операции  Alt+пробел или
выбрав команду EditіUndo). Если вы хотите снова увидеть, как выг-
лядит закраска,  ее можно повторить,  а затем, если хотите, снова
повторить перемещение  (нажав Shift+Alt+пробел или выбрав команду
EditіRedo для каждого повтора).  Таким образом, в процессе редак-
тирования можно отменять и повторять операции на столько уровней,
сколько задано в параметре Undo Levels (Уровни отмены).

                      Параметр Text Editor

     Когда Пакет разработчика ресурсов загружает файл проекта, он
компилирует все ресурсы в этом файле. Если компилятор обнаружива-
ет ошибку,  он прекращает компиляцию,  уведомляя вас, что найдена
ошибка, и  запрашивая,  хотите  вы отредактировать файл с помощью
внешнего текстового редактора, который задается в данном парамет-
ре.

     По умолчанию   используется   текстовый   редактор   Windows
Notepad. Если вы зададите другой редактор,  это должен быть  один
из редакторов, работающих под Windows (под Windows будет работать
редактор DOS с файлом PIF).

                      Параметр Include Path

     Этот параметр задает маршрут, по которому Пакет разработчика
ресурсов будет искать файлы, содержащие идентификаторы (файлы за-
головков Си модули Паскаля или включаемые файлы).  Вы можете  ус-
тановить этот параметр только в том случае, если у вас нет откры-
того  проекта.  Когда  вы  выбираете   данный   параметр,   Пакет
разработчика  ресурсов сохраняет его в файле WIN.INI (файлы вклю-
чения, используемые по умолчанию).

                       Параметр Multi-Save

     Параметры .RES и Executable (Выполняемый  файл)  определяют,
как будет  сохраняться  ваш  проект  при выборе команды FileіSave
Project (ФайліСохранение проекта). Поскольку эти параметры приме-
няются только к конкретному проекту,   они разрешены только когда
открыт файл проекта компилятора ресурсов (.RC или .DLG).  Незави-
симо от  параметра  Multi-Save  (Множественное сохранение) проект
всегда сохраняется также в своем исходном формате. (Например, ес-
ли проектом является файл .RC, ресурсы в файле всегда сохраняются
также в виде записей ресурсов).

                          Параметр .RES

     Данный параметр приводит к компиляции ресурсов текущего про-
екта и сохранению их в файле формата .RES (двоичный формат).

                        Формат Executable

     Компилирует ресурсы  текущего  проекта и встраивает их в вы-
полняемый файл,  заданный в данном параметре (это может быть файл
.EXE или .DLL).

             Параметр Make Backup when saving files

     Если вы выберите данный параметр,  Пакет разработчика ресур-
сов при каждом сохранении проекта  создает  дополнительный  набор
файлов резервных  копий.  В  резервных копиях в каждом расширении
имени файла в качестве первого  символа  используется  тильда  ~.
Например, когда  вы  сохраняете файл MYPROJ.BMP,  резервная копия
сохраняется в файле с именем MYPROJ.~BM.

            Копирования ресурсов между проектами
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Существует два способа копирования ресурса из текущего файла
проекта в другом проекте.

     - Одним из способов является  сохранение  ресурса  в  файле,
       закрытие текущего проекта,  открытие другого проекта и до-
       бавление ресурса в виде файла к новому проекту. Если в ре-
       сурсе  имеются какие-либо идентификаторы,  нужно аккуратно
       сохранить их при добавлении ресурса к новому проекту.

     - Более простым способом является наличие двух открытых  ко-
       пий Пакета  разработчика ресурсов (по копии на каждый про-
       ект)  и  использование  буфера   вырезанного   изображения
       Windows  для копирования ресурса из одного проекта и копи-
       рования его в другой.  Этот метод не только быстрее перво-
       го, но сохраняет также все идентификаторы.

     Для копирования  ресурса  с  помощью второго метода сделайте
следующее:

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

     2. Убедитесь,  что целевой проект содержит ссылку на иденти-
        фикатор файла, который будет содержать все идентификаторы
        нового   ресурса.   (Если  необходимо,  выберите  команду
        FileіAdd To Project и добавьте соответствующий  тип файла
        идентификаторов.)

     3. Выберите файл проекта,  затем выберите ресурс, который вы
        хотите скопировать в окно проекта. Выберите команду Editі
        Copy для копирования его в буфер вырезанного изображения.

            Примечание: Не  используйте  клавиши  Ctrl+Ins  - при
        этом ресурс не будет правильно скопирован.

     4. Выберите целевой проект,  затем при активном окне проекта
        выберите  команду EditіPaste (РедактированиеіВставка) для
        вставки ресурса в проект. Пакет разработчика ресурсов вы-
        ведет диалоговое окно Paste Resource (Вставка ресурса).

ЪДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і - і                   Paste resource                          і
ГДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Paste resource into                                         і
і  ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї      і
і  і ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДїі      і
і  і і±c:/workshop/newproj.rc±±±±±±±±±±±±±±±±±±±±±±±±±іvіі      і
і  і АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДЩі      і
і  і                                                     і      і
і  АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ      і
і                                                               і
і   Paste identifiers into                                      і
і  ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї      і
і  і ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДїі      і
і  і і c:/workshop/newproj.rc                         іvіі      і
і  і АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДЩі      і
і  АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ      і
і                                                               і
ГДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і  ЪДДДДДДДДДДДДДДї     ЪДДДДДДДДДДДДДДї     ЪДДДДДДДДДДДДДДї   і
і  і  _           і±    і              і±    і              і±  і
і  і V    OK      і±    і  X  Cancel   і±    і  ?  Help     і±  і
і  і              і±    і              і±    і              і±  і
і  АДДДДДДДДДДДДДДЩ±    АДДДДДДДДДДДДДДЩ±    АДДДДДДДДДДДДДДЩ±  і
і    ±±±±±±±±±±±±±±±      ±±±±±±±±±±±±±±±      ±±±±±±±±±±±±±±±  і
і                                                               і
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     Рис. 3.21 Диалоговое окно Paste resource

     Paste resource  -  вставка  ресурса;  Paste  resource into -
вставка ресурса;  Paste identifiers into - вставка  идентификато-
ров; OK - выполнить; Cancel - отмена; Help - справка.

     5. Текстовое  окно  Paste  Resource  Into  (Вставка ресурса)
        должно содержать имя целевого файла. Убедитесь, что текс-
        товое  поле Paste Identifiers Into (Вставка идентификато-
        ров) содержит имя файла идентификаторов,  в который будут
        записаны идентификаторы ресурса (если необходимо, прокру-
        тите список и выберите корректное имя), затем для вставки
        нового ресурса нажмите клавишу Enter или щелкните кнопкой
        "мыши" на командной кнопке OK.

                 Работа с двоичными файлами
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Пакет разработчика  ресурсов  позволяет  вам загружать в ка-
честве проектов выполняемые файлы,  файлы .RES или файлы DLL. При
загрузке файлов  одного из указанных типов Пакет разработчика ре-
сурсов декомпилирует ресурсы в файле и выводит вам их,  как  если
бы это  была часть файла .RC.  Когда вы закончите вносить измене-
ния, Пакет разработчика ресурсов компилирует ресурсы снова в дво-
ичный код и записывает их в исходный файл.

     Поскольку ресурсы, с которыми вы работаете в проектах данно-
го типа никогда не сохраняются в виде  записей  ресурсов,  вы  не
можете присвоить ресурсам идентификаторы. (Другими словами, иден-
тификаторы ресурсов должны быть числами в двоичный файлах.) Одна-
ко вы  можете сохранить проект как файл .RC.  После этого ресурсы
можно сохранить в виде записей ресурса и присвоить им идентифика-
торы.

     Есть еще  одна причина,  по которой желательно сохранять ре-
сурсы в виде файла .RC. Если вы настраиваете пользовательский ин-
терфейс программы и имеете доступ только к выполняемому файлу или
DLL, желательно сохранять изменения в отдельном файле  .RC,  бла-
годаря чему  вы  можете внести изменения в следующие версии прог-
раммы. Конечно,  при этом нужно обеспечить,  чтобы идентификаторы
ресурсов в  файле .RC имели те же идентификаторы ресурсов,  что и
ресурсы в новой версии,  и что они совместимы с новой  версией  в
других отношениях.

     Когда вы  сохраните  проект в файле .RC,  Пакет разработчика
ресурсов не будет автоматически сохранять ресурсы снова в  исход-
ном файле.  Чтобы сохранить ресурсы и в этом файле, нужно выбрать
параметр множественного сохранения в окне  Preferences  (Парамет-
ры).

     Весь процесс выполняется следующим образом:

     1. Выберите  команду  FileіSave File As (ФайліСохранить файл
        под именем) и используйте  диалоговое  окно File  Save As
        (Сохранение файла под именем) для ввода имени нового фай-
        ла .RC.  Когда вы для сохранения  файла  нажмете  клавишу
        Enter или выберите командную кнопку OK,  то увидите,  что
        имя проекта изменилось на имя нового файла.

     2. Выберите команду FileіPreferences (ФайліПараметры) и вве-
        дите имя    исходного   двоичного   файла   в   параметре
        Multi-save.

          - Если исходным двоичным файлом был файл .RES,  устано-
            вите параметр .RES и введите имя в текстовом окне.

          - Если  исходный  двоичный  файл был выполняемым файлом
            или DLL,  установите параметр Executable (Выполняемый
            файл) и введите имя в этом текстовом блоке.

     3. Выберите  команду  FileіAdd To Project (ФайліДобавление к
        проекту) и задайте файл  идентификаторов,  который  будет
        содержать  новые идентификаторы.  Если заданным вами файл
        не существует,  Пакет разработчика ресурсов создает новый
        файл.

     4. Внесите  изменения  в ресурсы и задайте,  там где хотите,
        идентификаторы.  Для каждого нового идентификатора  Пакет
        разработчика  ресурсов  запрашивает  у вас,  хотите ли вы
        сохранить его в файле идентификаторов.

        Примечание: Убедитесь, что вы сохраняете текущие целочис-
        ленные значения в идентификаторах ресурсов.

     5. Когда  вы выходите и сохраняете файл,  Пакет разработчика
        ресурсов сохраняет и файл .RC, и двоичный файл. Если дво-
        ичный файл - это выполняемый файл или DLL, измененные ре-
        сурсы встраиваются в него и становятся доступными  немед-
        ленно при запуске программы.

              Глава 4. Создание диалоговых окон
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Диалоговые окна дают пользователю возможность взаимодейство-
вать с вашей прикладной программой. Диалоговое окно обычно предс-
тавляет собой всплывающее окно,  которое  позволяет  пользователю
вводить информацию  (задавать  открываемые  файлы,  цвета экрана,
текст для поиска и т.д.).

     Когда в прикладной программе выводится диалоговое  окно, оно
появляется в  виде  окна экрана.  Диалоговое окно содержит обычно
некоторые управляющие элементы, например, командные кнопки, текс-
товые блоки и полосы прокрутки. Элементы управления обычно позво-
ляют пользователю задавать информацию,  но могут также  использо-
ваться  в диалоговом окне для вывода статического текста и графи-
ки.

ЪДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і - і                    Options                                і
ГДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і                                                               і
і     ЪДShapeДДДДДДДДДДДї    ЪДColorsДДДДДДДДДДДДДДДДДДДДДДДДДї і
і     і                 і    і  ЪДї             ЪДї           і і
і     і 0 Square        і    і  іXі Blue і      і і Red       і і
і     і                 і    і  АДЩ ДДДДДЩ      АДЩ           і і
і     і                 і    і  ЪДї             ЪДї           і і
і     і O Circle        і    і  іXі Yelow       і і White     і і
і     і                 і    і  АДЩ             АДЩ           і і
і     і                 і    АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ і
і     і O Triangle      і                                       і
і     і                 і                                       і
і     АДДДДДДДДДДДДДДДДДЩ                                       і
і                                                               і
і  ЪДДДДДДДДДДДДДДї     ЪДДДДДДДДДДДДДДї     ЪДДДДДДДДДДДДДДї   і
і  і              і±    і              і±    і              і±  і
і  і      OK      і±    і     Cancel   і±    і     Help     і±  і
і  і              і±    і              і±    і              і±  і
і  АДДДДДДДДДДДДДДЩ±    АДДДДДДДДДДДДДДЩ±    АДДДДДДДДДДДДДДЩ±  і
і    ±±±±±±±±±±±±±±±      ±±±±±±±±±±±±±±±      ±±±±±±±±±±±±±±±  і
і                                                               і
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     Рис. 4.1 Типичное диалоговое окно

     Options -  параметры;  Shape - форма;  Colors - цвета;  OK -
выполнить; Cancel - отменить; Help - справка

     С точки зрения пользователя управляющие элементы - это самый
простой способ выбора.  Например, с помощью нажатия кнопки "мыши"
при позиционировании на командной кнопке,  установки кнопок с не-
зависимой фиксацией  (параметров)  или выбора элементов из списка
пользователь может включать или выключать параметры и определять,
что программа должна делать дальше.

     С точки  зрения программиста диалоговое окно - это родитель-
ское окно, а каждый управляющий элемент представляет собой дочер-
нее окно и действует как устройство ввода. Чтобы создать диалого-
вое окно, нужно заполнить пустое диалоговое окно нужными управля-
ющими элементами.  Каждый  диалоговый элемент ответственен за ин-
формацию, поступающую от "мыши" или с клавиатуры,  в  зависимости
от того, что нажимает пользователь.

     Редактор диалогов  Пакета  разработчика  ресурсов  облегчает
создание и редактирование диалоговых окон  прикладной  программы.
При работе с диалоговыми окнами выполняются четыре основных зада-
чи. Вам нужно:

     - запустить редактор диалогов;
     - настроить диалоговое окно;
     - проверить диалоговое окно;
     - сохранить его.

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

     В конце  данной  главы приведен пример проекта,  который ил-
люстрирует редактор диалогов.

                  Запуск редактора диалогов
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Независимо от того, хотите вы создать новое диалоговое окно,
или отредактировать существующее, нужно использовать редактор ди-
алогов. При запуске редактора диалогов выводится диалоговое окно,
которое можно  редактировать в соответствии с потребностями вашей
прикладной программы. Характер запуска редактора диалогов зависит
от того, хотите вы создать новое диалоговое окно или отредактиро-
вать существующее.

              Создание нового диалогового окна
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Чтобы запустить редактор для создания нового диалогового ок-
на, сделайте следующее:

     1. Откройте проект.

     2. Выберите команду ResourceіNew  (РесурсіНовый).  Выводится
        диалоговое окно New Resource (Новый ресурс).

ЪДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і - і                     New Resource                          і
ГДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДґ
і   Resource type                               і               і
і   ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї і ЪДДДДДДДДДДДї і
і   і DIALOG                                  і і і  _        і±і
і   і ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДї      і і і V    OK   і±і
і   і і ACCELERATORS                 і^і      і і АДДДДДДДДДДДЩ±і
і   і і BITMAP                       ГДґ      і і   ±±±±±±±±±±±±і
і   і і CURSOR                       іІі      і і               і
і   і іЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ±і      і і               і
і   і ііDIALOG                       і±і      і і               і
і   і іАДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ±і      і і ЪДДДДДДДДДДДї і
і   і і FONT                         ГДґ      і і і           і±і
і   і і                              іvі      і і і X  Cancel і±і
і   і АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДЩ      і і АДДДДДДДДДДДЩ±і
і   АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ і   ±±±±±±±±±±±±і
і   Place resource in                           і               і
і   ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї і               і
і   і                                         і і ЪДДДДДДДДДДДї і
і   і  ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДї і і і..  New    і±і
і   і  і TYPICAL.RC                       іvі і і і... Type   і±і
і   і  АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДЩ і і АДДДДДДДДДДДЩ±і
і   і                                         і і   ±±±±±±±±±±±±і
і   АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ і               і
і                                               і ЪДДДДДДДДДДДї і
і                                               і і           і±і
і                                               і і ?  Help   і±і
і                                               і АДДДДДДДДДДДЩ±і
і                                               і   ±±±±±±±±±±±±і
і                                               і               і
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДЩ

     Рис. 4.2 Диалоговое окно New Resource

     New Resource - новый ресурс;  Place resource in -  поместить
ресурс в...;  Resource type - тип ресурса; OK - выполнить; Cancel
- отмена; New type - новый тип; Help - справка

     3. В  блоке  списка  Resource  Type  (Тип  ресурса) выберите
        DIALOG, затем выберите командную кнопку OK.

        Теперь вы находитесь в редакторе диалогов.  В левой части
        находится  пустое диалоговое окно,  которое вы будете за-
        полнять.  В правой части находятся окна Caption  (Заголо-
        вок), палитра Aligment (Выравнивание) и Tools (Инструмен-
        тальные средства). В нижней части окна редактора диалогов
        находится строка состояния.

ЪДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДДДВДДДї
і - і±±±±±±±±±±±±±±±±Resource±Workshop±±±±±±±±±±±±±±±±±±і v і v і
ГДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДДДЕДДДґ
і   File Edit Resource Control Options Window Help          і   і
ГДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДВДґ
іЪДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї ЪДВДДДДДДДДДДДї   і^і
іі=і             DIALOG_1                 і і=і Caption   і   ГДґ
іГДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ ГДБДДДДДДДДДДДґ   і±і
іі                                        і ГДВДДДДДВДДДДДґ   і±і
іі                                        і і=іAlignіToolsі   і±і
іі                                        і ГДЕДВДВДЕДВДВДґ   і±і
іі                                        і і<і>і<і>і^іСіОі   і±і
іі                                        і ГДЕДЕДЕДЕДЕДЕДґ   іІі
іі                                        і іvі^іvі^іЧіКіѕі   і±і
іі                                        і АДБДБДБДЕДЕДЕДґ   і±і
іі                                        і         іGі"іxі   і±і
іі                                        і         ГДЕДЕДґ   і±і
іі                                        і         і1іХіёі   і±і
іі                                        і         ГДЕДЕДґ   і±і
іі                                        і         іTіГіUі   і±і
іі                                        і         ГДЕДЕДґ   і±і
іАДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ         іші:і і   і±і
і                                                   ГДЕДЕДґ   і±і
і                                                   іuі іфі   і±і
і                                                   АДБДБДЩ   ГДґ
і                                                             іvі
ГДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДЕДґ
і<і±±±±±±±±±±±±±±±±±±±±±І±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±і>і і
ГДБДДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДБДґ
і Ready                   і Modify                              і
АДДДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     Рис. 4.3 Редактор диалогов (см.  также в оригинале руководс-
тва)

     Resource Workshop -  Пакет  разработчика  ресурсов;  File  -
файл; Edit - редактирование;  Resource - ресурс; Control - управ-
ление; Options - параметры Window - окно Help -  справка; Caption
- заголовок;  Alignment - выравнивание;  Tools - инструментальные
средства; Ready - готов; Modify - модификация

        Редактирование существующего диалогового окна
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Чтобы запустить  редактор диалогов для редактирования диало-
гового окна,  которое уже существует в  файле  проекта,  сделайте
следующее:

     1. Откройте файл проекта,  содержащий диалоговое окно, кото-
        рое вы хотите редактировать.

     2. Найдите в окне проекта диалоговое окно, которое вы будете
        редактировать, и дважды щелкните на нем кнопкой "мыши".

           Примечание: Об открытии файла описания проекта расска-
      зывается в Главе 3.

     Редактор диалогов открывает выбранное вами диалоговое окно и
выводит  его  слева для редактирования.  В правой части находятся
окна Caption (Заголовок), палитра Aligment (Выравнивание) и Tools
(Инструментальные средства). В нижней части окна редактора диало-
гов находится строка состояния.

                 Настройка диалогового окна
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Находясь в редакторе диалогов, вы можете определить свое ди-
алоговое окно.  Вы можете также добавить,  изменить, переупорядо-
чить. переместить,  изменить  в  размере  или  удалить диалоговые
элементы управления, благодаря чему диалоговое окно будет функци-
онировать так, как вы хотите.

                Определение диалогового окна
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     С помощью Пакета разработчика ресурсов  вы  можете  задавать
заголовок диалогового окна,  определить тип этого окна,  выбрать,
какой шрифт будет в нем выводиться и т.д.

     Щелкните кнопкой "мыши", позиционировашись на строке заголо-
вка  на внешнем крае диалогового окна,  чтобы выбрать его.  Когда
диалоговое окно выбрано, Пакет разработчика ресурсов выводит вок-
руг него рамку изменения размера.

     Теперь вы можете вносить в диалоговое окно необходимые изме-
нения. Вы можете:

     - Изменить размер диалогового окна путем  буксировки  с  по-
       мощью "мыши" соответствующего края или угла.

     - Перемещать  окно,  буксируя  курсор "мыши" вне диалогового
       окна или используя клавиши стрелок.

     - Нажать клавишу Enter или дважды  щелкнуть  кнопкой  "мыши"
       где-либо  в  окне для вывода диалогового окна Window Style
       (Стиль окна).  (Если окно еще  не  выбрано,  нужно  дважды
       щелкнуть  кнопкой "мыши" на его строке заголовка или внеш-
       ней границе.)

ЪДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і - і                   Window Style                            і
ГДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДґ
іЪДДДДДДДДВДДДДДДДДДДДДВї Dialog style          і               і
ііCaption і±DIALOG±±±±±ііЪДДДДДДДДДДДДДДДДДДДДї і               і
іі        ГДДДДДДДДДДДДґііЪДї                 і і               і
ііClases  і            ііііvі System menu     і і               і
іі        ГДДДДДДДДДДДДґііАДЩ                 і і ЪДДДДДДДДДДДї і
ііMenu    і            іііЪДї                 і і і  _        і±і
іАДДДДДДДДБДДДДДДДДДДДДБЩіі і Thick frame     і і і V    OK   і±і
і                        іАДЩ                 і і АДДДДДДДДДДДЩ±і
іWindow type  Frame styleіЪДї                 і і   ±±±±±±±±±±±±і
іЪДДДДДДДДДДДїЪДДДДДДДДДїіі і Vertical Scroll і і               і
іі Dialog ііАДЩ                 і і               і
іі           іі  frame  ііЪДї                 і і               і
іі > Child   іі> Border ііі і Minimize box    і і               і
іі           іі         ііАДЩ                 і і ЪДДДДДДДДДДДї і
іі > Overlappіі Iconic  іі> No     ііАДЩ                 і і АДДДДДДДДДДДЩ±і
іі   popup   іі  Border ііЪДї                 і і   ±±±±±±±±±±±±і
іАДДДДДДДДДДДЩАДДДДДДДДДЩіі і Absolute align  і і               і
і                        іАДЩ                 і і               і
і Font                   іЪДї                 і і               і
іЪДДДДДДДДДДДДДДДДДДДДДДїіі і System modal    і і               і
іі       ЪДДДДДДДДДДДДДїііАДЩ                 і і ЪДДДДДДДДДДДї і
іі Face  і             іііЪДї                 і і і  _        і±і
іі       АДДДДДДДДДДДДДЩііі і Local edit      і і і./  Fonts  і±і
іі       ЪДДДДДДДДї     ііАДЩ                 і і АДДДДДДДДДДДЩ±і
іі Size  і        і     ііЪДї                 і і   ±±±±±±±±±±±±і
іі       АДДДДДДДДЩ     іііvі Modal frame     і і               і
іі                      ііАДЩ                 і і               і
іі                      ііЪДї                 і і               і
іАДДДДДДДДДДДДДДДДДДДДДДЩіі і No idle messagesі і               і
і                        іАДЩ                 і і               і
і                        іЪДї                 і і ЪДДДДДДДДДДДї і
і                        іі і Clip children   і і і           і±і
і                        іАДЩ                 і і і ?  Help   і±і
і                        іЪДї                 і і АДДДДДДДДДДДЩ±і
і                        іі і Clip sibling    і і   ±±±±±±±±±±±±і
і                        іАДЩ                 і і               і
і                        АДДДДДДДДДДДДДДДДДДДДЩ і               і
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДЩ

     Рис. 4.4 Диалоговое окно Window Style

     Window Style - стиль  окна;  Dialog  style  -  тип  диалога;
Caption - заголовок;  Clases - классы; Menu - меню; System menu -
системное меню;  Thick frame - жирная граница;  Vertical Scroll -
вертикальная прокрутка; Minimize box - блок минимизации; Maximize
box - блок максимизации;  Absolute align - абсолютное  выравнива-
ние;  System modal - системное модальное;  Local edit - локальное
редактируемое;  Modal frame - модальная рамка; No idle messages -
нет холостых сообщений;  Clip children - вырезание дочерних окон;
Clip sibling - вырезание окон равного уровня;  Popup -  всплываю-
щее;  Child - дочернее;  Overlapped - перекрывающееся; Iconic - с
пиктограммой;  Popup - всплывающее; Dialog frame - рамка диалого-
вого окна; Border - граница; Caption - заголовок; No Border - нет
границы;  OK - выполнить; Cancel - отмена; Fonts - шрифты; Help -
справка

     С помощью диалогового окна Window Style вы можете задать бо-
лее подробную  информацию о таких параметрах, как заголовок, типы
рамок и шрифты диалогового окна.

                    Добавление заголовка
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Задать заголовок нового диалогового окна  можно  несколькими
способами. Вы  можете  использовать  окно Caption (Заголовок) или
диалоговое окно Window Style (Стиль окна).

                     ЪДДДВДДДДДДДДДДДДДДДДї
                     і - і    Caption     і
                     ГДДДБДДДДДДДДДДДДДДДДґ
                     іDIALOG_1            і
                     АДДДДДДДДДДДДДДДДДДДДЩ

     Чтобы добавить к диалоговому окну заголовок, нужно:

     1. Щелкнуть кнопкой "мыши", позиционировавшись на строке за-
        головка для его выбора.

     2. Наберите  новый заголовок (диалоговое окно остается выде-
        ленным),  и вы увидите,  что он появляется в строке заго-
        ловка,  либо  нажмите  клавишу  F6 для перемещения в окно
        Caption (Заголовок) и  замените  имя,  выбранное  Пакетом
        разработчика ресурсов, набрав новый заголовок.

     3. Нажмите клавишу Enter.

     Чтобы добавить  заголовок  с помощью диалогового окна Window
Style (Стиль окна), сделайте следующее:

     1. Откройте диалоговое окно  Window  Style,  дважды  щелкнув
        кнопкой "мыши" на заголовке окна или внешней границе диа-
        логового окна, или выбрав диалоговое окно и нажав клавишу
        Enter.

     2. После Caption наберите заголовок, который вы хотите выво-
        дить в диалоговом окне, и нажмите Enter.

     3. Во Frame Style (тип рамки) выберите Caption  (С  заголов-
        ком).  Если вы выберите любой другой тип рамки, заголовок
        выводиться не будет.

     4. Активизируйте командную кнопку OK.

                       Выбор типа окна
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Для выбора  типа вашего диалогового окна откройте диалоговое
окно Window Style. Следующая таблица позволит вам сделать выбор.

                            Типы окна                 Таблица 4.1
ЪДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і   Тип              і Описание                                 і
ГДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Popup            і Всплывающее окно. Поскольку  всплывающимиі
і   (Всплывающее)    і является большинство  окон, это  значениеі
і                    і используется по умолчанию.               і
і                    і                                          і
ГДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Child            і Дочернее окно текущего окна.             і
і   (Дочернее)       і                                          і
і                    і                                          і
ГДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Overlapped       і Перекрывающееся всплывающее окно, котороеі
і   (Перекрывающееся)і частично или полностью может  закрыватьсяі
і                    і другим окном. Определить диалоговое  окноі
і                    і как  перекрывающееся  можно только в  томі
і                    і случае, если это основное окно прикладнойі
і                    і программы.                               і
і                    і                                          і
ГДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Iconic Popup     і Всплывающее окно,  которое  первоначальноі
і   (Окно с          і выводилось в виде пиктограммы.           і
і   пиктограммой)    і                                          і
і                    і                                          і
АДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

                       Выбор типа окна
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Тип рамки диалогового окна определяет внешний вид рамки диа-
логового окна,  и  будет ли диалоговое окно выводить строку заго-
ловка в верхней части окна.

     Тип рамки диалогового окна можно выбрать с помощью  диалого-
вого окна  Window  Style.  Возможные  варианты выбора приведены с
следующей таблице:

                          Типы рамки                  Таблица 4.2
ЪДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і   Тип                і     Описание                           і
ГДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Dialog Frame       і Двойная рамка без строки заголовка.    і
і   (диалоговая рамка) і                                        і
і                      і                                        і
ГДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Border (Граница)   і Одинарная тонкая рамка без заголовка.  і
і                      і                                        і
ГДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Caption (Заголовок)і Одинарная тонкая рамка и строка  заго- і
і                      і ловка, где  можно  выводить  заголовок і
і                      і (по умолчанию).                        і
і                      і                                        і
ГДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   No Border (Без     і Нет рамки и строки заголовка.          і
і   рамки)             і                                        і
і                      і                                        і
АДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

                    Задание стиля диалога
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Стиль диалога определяет, как будет выглядеть диалоговое ок-
но, и как пользователь будет с ним работать. Для диалогового окна
вы можете выбрать один или более из следующих стилей:

                     Стили диалогового окна           Таблица 4.3
ЪДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і   Стиль             і Описание                                і
ГДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   System Menu       і Включает в левой части строки  заголовкаі
і   (Системное меню)  і блок системного меню. Системное меню на-і
і                     і зывают также управляющим меню. Системноеі
і                     і меню выводится только в том случае, еслиі
і                     і в качестве типа рамки окна  вы выбираетеі
і                     і Caption   (С   заголовком).  (Caption  иі
і                     і System Menu используются по умолчанию.  і
і                     і                                         і
і                     і Если диалоговое окно определено, как до-і
і                     і чернее  окно,  вместо  управляющего менюі
і                     і вам выведется блок закрытия.            і
і                     і                                         і
ГДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Thick Frame       і Рисует вокруг  диалогового  окна  жирнуюі
і   (Жирная рамка)    і рамку.  Этот  параметр  определяет,  чтоі
і                     і увидит пользователь,  когда данное  окноі
і                     і выведется  в  прикладной программе.  Ис-і
і                     і пользуйте данный параметр, если вы хоти-і
і                     і те, чтобы диалоговое окно имело изменяе-і
і                     і мый размер.                             і
і                     і                                         і
і                     і (Не путайте данный параметр с параметромі
і                     і Thick Frame в команде редактора диалогові
і                     і Preferences. Данный параметр определяет,і
і                     і как  будет  выглядеть  диалоговое  окно,і
і                     і когда вы выбираете его в редакторе  диа-і
і                     і логов.)                                 і
і                     і                                         і
ГДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Vertical Scroll   і Добавляет к рамке диалогового окна поло-і
і   (Вертикальная     і су вертикальной прокрутки.              і
і   прокрутка)        і                                         і
і                     і                                         і
ГДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Horisontal Scroll і Добавляет к рамке диалогового окна поло-і
і   (Горизонтальная   і су горизонтальной прокрутки.            і
і   прокрутка)        і                                         і
і                     і                                         і
ГДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Minimize Box      і Добавляет с правой стороны строки  заго-і
і   (Блок минимизации)і ловка командную кнопку минимизации.  Ко-і
і                     і мандная кнопка   минимизации   выводитсяі
і                     і только в том случае,  если вы  выбираетеі
і                     і также  в качестве типа рамки диалоговогоі
і                     і окна Caption.                           і
і                     і                                         і
ГДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Maximize Box      і Добавляет с правой стороны строки  заго-і
і   (Блок             і ловка командную кнопку максимизации. Ко-і
і   максимизации)     і мандная кнопка  максимизации   выводитсяі
і                     і только в том случае,  если вы  выбираетеі
і                     і также  в качестве типа рамки диалоговогоі
і                     і окна Caption.                           і
і                     і                                         і
ГДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Absolute Align    і Делает координаты диалогового окна отно-і
і   (Абсолютное       і сительными по отношению к  экрану  дисп-і
і   выравнивание)     і лея, а не порождающего окна.            і
і                     і                                         і
ГДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   System Modal      і Делает диалоговое  окно  модальным.  Этоі
і   (Системное        і означает, что пока окно не будет убрано,і
і   модальное)        і пользователь не может  переключаться  ниі
і                     і на что другое.                          і
і                     і                                         і
ГДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Local Edit        і Выделяет  в  динамически  распределяемойі
і   (Локальное        і памяти  прикладной   задачи  управляющиеі
і   редактирование)   і элементы текстового редактирования.     і
і                     і                                         і
і                     і Выберите Local Edit, если в вашей  прик-і
і                     і ладной задаче требуется использовать со-і
і                     і общения EM_SETHANDLE и EM_GETHANDLE.    і
і                     і                                         і
ГДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Modal Frame       і Обрамляет  рамку,  используя  комбинациюі
і   (Модальная        і диалоговой рамки и  типа  заголовка  (поі
і   рамка)            і умолчанию). Используйте Modal Frame, ес-і
і                     і ли вы хотите, чтобы пользователь мог пе-і
і                     і ремещать диалоговое окно.               і
і                     і                                         і
ГДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   No Idle Messages  і Подавляет передачу в главное окно  прик-і
і   (Нет холостых     і ладной программы сообщений WM_ENTERIDLE.і
і   сообщений)        і Чтобы данный параметр действовал, диало-і
і                     і говое окно должно быть модальным.       і
і                     і                                         і
ГДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Clip Children     і Предотвращает вывод  в  диалоговом  окнеі
і   (Отсечение        і дочерних окон области пользователя.     і
і   дочерних окон)    і                                         і
і                     і                                         і
ГДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Clip Sibling      і Предотвращает вывод окон того же уровня,і
і   (Отсечение окон   і что и данное окно. Отображение запрещеноі
і   того же уровня)   і только для данного окна. Во  всплывающемі
і                     і окне данный параметр не требуется, но оні
і                     і может оказаться  полезным  для  дочернихі
і                     і диалоговый окон.                        і
і                     і                                         і
АДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

                       Задание шрифтов
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Для выбора шрифта в диалоговом окне сделайте следующее:

     1. Откройте диалоговое окно Window Style.

     2. Щелкните  кнопкой "мыши",  позиционировашись на командной
        кнопке Fonts  (Шрифты),  для  открытия  диалогового  окна
        Select Font (Выбор шрифта).

ЪДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і - і                   Select font                             і
ГДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
іЪДДДДДДДДДДДДДДДДДДДї  Size              Style                 і
іі Face name         і ЪДДДДДДДДДДДДДДДДїЪДДДДДДДДДДДДДДДДДДДДї і
іі ЪДДДДДДДДДДДДДВДї і і ЪДДДДДДДДДДДДї ііЪДї                 і і
іі і Courier     і^і і і і 10         і іііvі Bold            і і
іі і             ГДґ і і АДДДДДДДДДДДДЩ ііАДЩ                 і і
іі і Helv        іІі і і ЪДДДДДДДДДДВДї ііЪДї                 і і
іі і             і±і і і і±Step±±±±±і^і ііі і Italic          і і
іі і Modern      і±і і і і±±±±±±±±±±ГДґ ііАДЩ                 і і
іі і             і±і і і і±±±±±±±±±±іІі ііЪДї                 і і
іі і Roman       і±і і і і±10±±±±±±±і±і ііі і Undescore       і і
іі і             і±і і і і±±±±±±±±±±і±і ііАДЩ                 і і
іі і Script      і±і і і і±±±±±±±±±±і±і ііЪДї                 і і
іі і             і±і і і і±±±±±±±±±±і±і ііі і Strikeout       і і
іі і Symbol      і±і і і і±±±±±±±±±±і±і ііАДЩ                 і і
іі і             і±і і і і±±±±±±±±±±і±і іАДДДДДДДДДДДДДДДДДДДДЩ і
іі ГДДДДДДДДДДДДДґ±і і і і±±±±±±±±±±і±і і                       і
іі і±±±±±±±±±±±±±і±і і і і±±±±±±±±±±і±і і                       і
іі ГДДДДДДДДДДДДДЕДґ і і іДДДДДДДДДДГДґ і                       і
іі і Terminal    іvі і і і Terminal іvі і                       і
іі АДДДДДДДДДДДДДБДЩ і і АДДДДДДДДДДБДЩ і                       і
іАДДДДДДДДДДДДДДДДДДДЩ АДДДДДДДДДДДДДДДДЩ                       і
і  Text                                                         і
іЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДїі
іі ABCDEFGHIJKLMNOPQRSTUVWXYZ                                  іі
іі abcdefghijklmnopqrstuvwxyz                                  іі
іі                                                             іі
іі                                                             іі
іі                                                             іі
іАДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩі
ГДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   ЪДДДДДДДДДДДї         ЪДДДДДДДДДДДї       ЪДДДДДДДДДДДї     і
і   і  _        і±        і           і±      і           і±    і
і   і V  OK     і±        і X  Cancel і±      і ?  Help   і±    і
і   АДДДДДДДДДДДЩ±        АДДДДДДДДДДДЩ±      АДДДДДДДДДДДЩ±    і
і     ±±±±±±±±±±±±          ±±±±±±±±±±±±        ±±±±±±±±±±±±    і
і                                                               і
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     Рис. 4.5 Диалоговое окно Select Font

     Select font - выбор шрифта;  Face name - начертание;  Size -
размер; Style - тип; Bold - жирный; Italic - наклонный; Undescore
- с подчеркиванием;  Strikeout - с надчеркиванием;  Text - текст;
OK - выполнение; Cancel - отмена; Help - справка

     3. Используйте диалоговое окно Select Font для выбора начер-
        тания шрифта,  его размера и типа текста в диалоговом ок-
        не.

        Обратите внимание  на  символы,  выводимые в нижней части
        диалогового окна Select Font.  Они изменяются в соответс-
        твии с выбранными параметрами начертания шрифта, его раз-
        мера и типа.

                       Включение меню
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

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

     Чтобы включить в диалоговое окно меню, сделайте следующее:

     1. Определите меню, как отдельный ресурс и обеспечьте ее до-
        бавление к проекту. Не забудьте отметить имя ресурса чис-
        ловым идентификатором, который идентифицирует меню.

     2. Откройте для диалогового окна,  к которому вы хотите при-
        соединить меню, редактор диалогов.

     3. Откройте диалоговое окно Window Style.

     4. В поле ввода Menu  наберите  имя  ресурса  меню  или  его
        числовой идентификатор.

     Редактор диалогов  не  будет выводить ресурс меню точно так,
как вы его определили. Вместо этого он выводит всплывающее окно с
именем "Menu",  которое включает в себя единственный элемент меню
с именем "Item".

  Присваивание диалоговому окну специализированного класса
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

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

     Чтобы присвоить диалоговому окну  специализированный  класс,
нужно сделать следующее:

     - Дважды щелкнув кнопкой "мыши" на строке заголовка  или  на
       внешней граница диалогового окна или с помощью выбора окна
       и нажатия клавиши Enter открыть диалоговое окно.

     - В поле ввода Class наберите имя класса.

     Если вы не понимаете,  что такое  специализированные  классы
или оператор CLASS,  наверное лучше не присваивать окну специали-
зированный класс.

               Работа с элементами управления
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Элементы управления позволяют пользователю взаимодействовать
с данными диалогового окна.

     В общем случае элементы управления подразделяются на следую-
щие категории:

     - командные кнопки;
     - полосы прокрутки;
     - блоки списка;
     - текст редактирования;
     - статические элементы управления (текст,  пиктограммы, пря-
       моугольники, рамки);
     - комбинированные блоки;
     - пользовательские элементы управления.

     В редакторе диалогов легко задать тип желаемого элемента уп-
равления с помощью палитры инструментальных средств.

                        ЪДДДДДї
                        іToolsі
                        ГДВДВДґ
                        і^іСіОі
                        ГДЕДЕДґ
                        іЧіКіѕі
                        ГДЕДЕДґ
                        іGі"іxі
                        ГДЕДЕДґ
                        і1іХіёі
                        ГДЕДЕДґ
                        іTіГіUі
                        ГДЕДЕДґ
                        іші:і і
                        ГДЕДЕДґ
                        іuі іфі
                        АДБДБДЩ
     ЪДДДДДДДДДДДДДДДДДДДЩ  АДДДДДДДДДДДДДДї
ЪДДДДДДДДї                        ЪДДДДДДДДВДДДДДДДДї
і±і\.±±±±і                        і .......і  ....  і
і±±\\±±±±і Выбор        Командная і: Ok   :і ( *  ) і Селектив-
і±± -±±±±і              кнопка    і ...... і  ....  і ная кнопка
ГДДДДДДДДґ                        ГДДДДДДДДЕДДДДДДДДґ
і ====>  і              Горизон-  і        і   ^    і Вертикаль-
і        і Установка    тальная   і <±±±>  і   ±    і ная полоса
і <====  і табуляции    полоса    і        і   v    і прокрутки
ГДДДДДДДДґ              прокрутки ГДДДДДДДДЕДДДДДДДДґ
і  ....  і                        і ЪДДДДДїі ЪДДДДДїі Кнопка с
і .      і Установка    Блок      і і    ±іі і  X  іі независи-
і  ...v  і групп        списка    і АДДДДДЩі АДДДДДЩі мой фик-
ГДДДДДДДДґ                        ГДДДДДДДДЕДДДДДДДДґ сацией
і        і                        і ЪДДДДДїі ЪНННННїі Комбини-
і  1.2   і Установка    Групповой і і:::::іі і    ±іі рованный
і        і порядка      блок      і АДДДДДЩі АДДДДДЩі блок
ГДДДДДДДДґ                        ГДДДДДДДДЕДДДДДДДДґ
і        і              Редакти-  і  ДїЪД  і  ДїЪД  і Текстовое
і Test   і Проверка     руемое    і   іі   і   іі   і статичес-
і        і диалога      управле-  і  ДЩАД  і   іі   і кое управ-
ГДДДДДДДДґ              ние       ГДДДДДДДДЕДДДДДДДДґ ление
і        і              Статичес- і ЪДДДї  іЪЪДДДДїїі Черная
і ЪїДД>Ъїі Дублирование кая пикто-і АДДДЩ  ііі    ііі рамка
і        і              грамма    іННННННН іААДДДДЩЩі (статич.)
ГДДДДДДДДґ                        ГДДДДДДДДЕДДДДДДДДґ
і        і              Черный    і        і _      і Пользова-
і Undo   і Отмена       прямоу-   і        і(.)НННё і тельское
і        і              гольник   і        і        і управле-
АДДДДДДДДЩ                        АДДДДДДДДБДДДДДДДДЩ ние

     Рис. 4.1 Палитра инструментальных средств (см.  также в ори-
гинале руководства)

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

ЪДДДДДДДДї                 Прямоугольная "кнопка", которую  поль-
і .......і  Командная      зователь "нажимает" при выборе  дейст-
і: Ok   :і  кнопка         вия. Командные кнопки всегда  содержат
і ...... і                 текст, поэтому для  них  всегда  нужно
АДДДДДДДДЩ                 задавать заголовок (содержимое).

ЪДДДДДДДДї                 Круглая "кнопка" с текстом  слева  или
і  ....  і                 справа. При выборе кнопки (которую на-
і ( *  ) і Селектив-       зывают также кнопкой с зависимой  фик-
і  ....  і ная кнопка      сацией) в ее центре появляется точка.
АДДДДДДДДЩ

ЪДДДДДДДДї  Горизон-       Горизонтальный прямоугольник со стрел-
і        і  тальная        ками направления в каждом конце.
і <±±±>  і  полоса
і        і  прокрутки
АДДДДДДДДЩ

ЪДДДДДДДДї                 Вертикальный  прямоугольник со  стрел-
і   v    і Вертикаль-      ками направления в каждом конце.
і   ±    і ная полоса
і   v    і прокрутки
АДДДДДДДДЩ

ЪДДДДДДДДї                 Прямоугольник, обычно содержащий  спи-
і ЪДДДДДїі  Блок           сок текстовых строк. Если вы использу-
і і    ±іі  списка         ете стиль изображения владельца,  блок
і АДДДДДЩі                 списка может также содержать  визуаль-
АДДДДДДДДЩ                 ное представление списка данных. Обыч-
                           но  пользователь  может  просматривать
                           то, что выводится в  блоке  списка,  а
                           затем выбирать один или более  элемен-
                           тов. Эти  элементы часто  используются
                           в диалоговом окне File Open.

ЪДДДДДДДДї                 Прямоугольная кнопка с  текстом  слева
і ЪДДДДДїі Кнопка с        или справа. При выборе блока  проверки
і і  X  іі независимой     (блоки проверки называются также кноп-
і АДДДДДЩі фиксацией       ками с независимой фиксацией) в  блоке
АДДДДДДДДЩ                 появляется X. При отмене  Х  исчезает.
                           Блоки проверки часто используются  для
                           представления булевских  данных (Вклю-
                           но/Выключено).

ЪДДДДДДДДї                 Прямоугольный блок,  используемый  для
і ЪДДДДДїі  Групповой      визуального объединения других  управ-
і і:::::іі  блок           ляющих элементов.  Вы  можете  указать
і АДДДДДЩі                 заголовок (содержимое), который  будет
АДДДДДДДДЩ                 выводиться в верхнем левом углу  груп-
                           пового блока.

ЪДДДДДДДДї                 Комбинация блока списка и  редактируе-
і ЪНННННїі Комбини-        мого текстового управляющего  элемента
і і    ±іі рованный        или блока списка и статического управ-
і АДДДДДЩі блок            ления.
АДДДДДДДДЩ

ЪДДДДДДДДї  Редакти-       Прямоугольник, в котором пользователь
і  ДїЪД  і  руемый         может вводить текст с клавиатуры.
і   іі   і  управляющий
і  ДЩАД  і  элемент
АДДДДДДДДЩ

ЪДДДДДДДДї                 Текст, который выводится в диалоговом
і  ДїЪД  і Текстовое       окне.
і   іі   і статичес-
і   іі   і кое управ-
АДДДДДДДДЩ ление

ЪДДДДДДДДї                 Пиктограмма.
і ЪДДДї  і  Статичес-
і АДДДЩ  і  кая пикто-
і======= і  грамма
АДДДДДДДДЩ

ЪДДДДДДДДї                 Пустая прямоугольна рамка, цвет кото-
іЪЪННННїїі Черная          рой соответствует цвету рамки текуще-
ііі    ііі рамка           го окна.
іААННННЩЩі (статич.)
АДДДДДДДДЩ

ЪДДДДДДДДї                 Статическая управляющая пиктограмма,
іІІІІІІІІі  Черный         которая выводится с тем  же  цветом,
іІІІІІІІІі  прямоу-        что и рамка текущего окна.
іІІІІІІІІі  гольник
АДДДДДДДДЩ

ЪДДДДДДДДї                 Управляющий элемент, который не по-
і _      і Пользова-       падает ни в один из типов,  предоп-
і(.)===ё і тельское        ределенных  в  Windows и, таким об-
і        і управле-        разом имеет другой  тип  окна,  чем
АДДДДДДДДЩ ние             предопределеные типы.

               Добавление элементов управления
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Наиболее простой  способ добавления в диалоговое окно нового
элемента управления состоит в нажатии кнопки "мыши" после позици-
онирования на  нужном элементе управления инструментальной палит-
ры. Курсор изменится, чтобы показать тип выбранного вами элемента
управления. Щелкните  кнопкой "мыши" в том месте,  куда вы хотите
поместить элемент управления.

                  ЪДДДДДДДДї
                  і±і\.±±±±і
                  і±±\\±±±±і Выбор
                  і±± -±±±±і
                  АДДДДДДДДЩ

     Если вы  выберете элемент управления из инструментальной па-
литры, а затем измените свое решение,  нужно выбрать элемент "Вы-
бор" (направленная  вверх  и  влево стрелка).  Курсор изменится и
приобретет знакомую вам форму стрелки, после чего вы снова сможе-
те выбирать элементы управления в диалоговом окне. Нажатие клави-
ши Esc также отменяет размещение элемента управления и возвращает
вас в режим выбора.

     Для добавления  элементов управления в диалоговое окно можно
также использовать меню Control (Управление):

     1. Для открытия меню Control используйте "мышь"  или нажмите
        клавиши Alt+C.

     2. Выберите тип элемента управления, который вы хотите доба-
        вить в диалоговое окно.

     3. Щелкните кнопкой "мыши" в том месте диалогового окна, ку-
        да вы хотите поместить управляющий элемент.

      Добавление нескольких копий управляющего элемента
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     После помещения в диалоговое окно управляющего  элемента  вы
можете поместить в него дополнительные копии того же управляющего
элемента. Переместитесь в то место,  куда вы хотите поместить но-
вую копию управляющего элемента и щелкните правой кнопкой "мыши".
В  столбцах и строках вы можете помещать несколько идентичных ко-
пий управляющего элемента.  Например,  вы можете поместить в свое
диалоговое окно два столбца из четырех  управляющих  элементов  -
блоков проверки. Вы можете поместить каждый блок проверки отдель-
но, но Пакет разработчика ресурсов предоставляет вам более легкий
путь - команду EditіDuplicate (РедактированиеіДублирование).

     Чтобы поместить в строки и столбцы несколько копий управляю-
щего элемента, сделайте следующее:

     1. В диалоговом окне выберите управляющий элемент, копию ко-
        торого вы хотите создать.

                        ЪДДДДДДДДї
                        і        і
                        і Ъї--Ъї і Дублирование
                        і        і
                        АДДДДДДДДЩ

     2. Выберите инструментальное средство "Дублирование" или ис-
        пользуйте команду EditіDuplicate (РедактированиеіДублиро-
        вание).

ЪДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і - і                   Duplicate control                       і
ГДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і                                                               і
і             ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї              і
і             і                     ЪДДДДДДДДДДї і              і
і             і Rows                і          і і              і
і             і                     АДДДДДДДДДДЩ і              і
і             і                     ЪДДДДДДДДДДї і              і
і             і Columns             і 1        і і              і
і             і                     АДДДДДДДДДДЩ і              і
і             і                     ЪДДДДДДДДДДї і              і
і             і Row spacing         і 0        і і              і
і             і                     АДДДДДДДДДДЩ і              і
і             і                     ЪДДДДДДДДДДї і              і
і             і Column spacing      і 0        і і              і
і             і                     АДДДДДДДДДДЩ і              і
і             АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ              і
і                                                               і
і                                                               і
ГДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   ЪДДДДДДДДДДДї         ЪДДДДДДДДДДДї       ЪДДДДДДДДДДДї     і
і   і  _        і±        і           і±      і           і±    і
і   і V  OK     і±        і X  Cancel і±      і ?  Help   і±    і
і   АДДДДДДДДДДДЩ±        АДДДДДДДДДДДЩ±      АДДДДДДДДДДДЩ±    і
і     ±±±±±±±±±±±±          ±±±±±±±±±±±±        ±±±±±±±±±±±±    і
і                                                               і
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     Рис. 4.7 Диалоговое окно Duplicate Control

     Duplicate Control - дублирование управляющего элемента; Rows
- число строк;  Columns - число столбцов;  Row spacing - разбивка
строк;  Column  spacing  -  разбивка  столбцов;  OK - выполнение;
Cancel - отмена; Help - справка.

     3. Задайте нужное число строк и столбцов, а также расстояние
        (в единицах) между строками и столбцами.  Например,  если
        вы хотите получить шесть блоков проверки, помещенных в два
        столбца, нужно задать четыре строки и два столбца.

     4;. Выберите командную кнопку OK.  В вашем  диалоговом  окне
         выведутся выровненные копии управляющего элемента.

            Редактирование управляющих элементов
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Вы можете  модифицировать  управляющий элемент,  который уже
добавлен в ваше диалоговое окно.  Для этого нужно дважды щелкнуть
на управляющем  кнопкой "мыши".  После этого выведется диалоговое
окно Style (Тип). Параметры данного диалогового окна изменяются в
соответствии с типом управляющего элемента, с которым вы работае-
те.

     Если вы используете клавиатуру,  используйте для выбора  уп-
равляющего элемента,  который  вы  хотите редактировать,  клавишу
Tab, затем для вывода для выбранного элемента управления диалого-
вого окна Style нажмите клавишу Enter.

             Выбор нескольких управляющих элементов

     Когда вы редактируете элементы управления, иногда желательно
выполнить операцию  редактирования  одновременно  для  нескольких
элементов. Пакет разработчика ресурсов имеет несколько параметров
редактирования,  которые  можно  использовать  для редактирования
нескольких управляющих элементов.  Однако перед тем,  как их  ис-
пользовать, нужно знать, как можно одновременно выбрать несколько
управляющих элементов.

     Для одновременного  выбора  нескольких  элементов управления
нужно сделать следующее:

                  ЪДДДДДДДДї
                  і±і\.±±±±і
                  і±±\\±±±±і Выбор
                  і±± -±±±±і
                  АДДДДДДДДЩ

     1. Чтобы перейти в режим выбора,  щелкните кнопкой "мыши" на
        элементе  "Выбор" палитры инструментальных средств.  Этот
        режим используется по умолчанию, поэтому режим выбора уже
        может быть активным.  (Когда режим активен,  курсор имеет
        форму,  соответствующую пиктограмме выбора, то есть форму
        стрелки.)

     2. Щелкните  кнопкой  "мыши"  в  диалоговом окне,  продолжая
        удерживать левую кнопку "мыши".  Позиция,  на которой  вы
        щелкните кнопкой,  будет начальной позицией рамки измене-
        ния размера, которая появляется при перемещении "мыши.

     3. Выполните с помощью "мыши" буксировку,  чтобы рамка изме-
        нения размера  окружала все управляющие элементы, которые
        вы хотите выделить.

     4. Отпустите кнопку "мыши".  Вокруг каждого выделенного эле-
        мента появится рамка.

     Если вы  выбрали группу управляющих элементов и ходите доба-
вить к группе один или несколько элементов или удалить  один  или
более элементов из группы, нажмите клавишу Shift и, удерживая ее,
щелкните кнопкой "мыши" на элементе управления, который вы хотите
добавить к группе или удалить из нее.

  Перемещение управляющих элементов и изменение их размера
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     После того,  как вы выделите элемент управления, щелкните на
нем кнопкой  "мыши".  Перемещайте  управляющий  элемент с помощью
буксировки "мышью" (позиционировавшись внутри  управляющего  эле-
мента). Либо  переместите курсор на соответствующий край или угол
управляющего элемента (он превратится в двойную  стрелку),  затем
выполните буксировку для изменения размера управляющего элемента.

     Для "тонкой настройки" размера вы можете использовать клави-
атуру и "мышь":

     1. Переместите курсор "мыши" на соответствующий край.

     2. Нажмите и удерживайте левую кнопку "мыши".

     3. Нажмите клавишу стрелки,  перемещая курсор "мыши" в  оди-
        ночный диалоговый элемент.

     Если вы  хотите использовать только клавиатуру,  используйте
клавишу Tab для выделения управляющего элемента. Затем используй-
те клавиши  стрелок  для перемещения выделенного элемента.  Чтобы
завершить перемещение и подтвердить его,  нажмите клавишу  Enter.
Если вы измените решение, нажмите вместо Enter клавишу Esc.

     Когда вы  добавите элемент управления в диалоговое окно, для
этого управляющего элемента можно задать точные координаты x и y.
Эти координаты управляют не только позиционированием, но и разме-
ром элемента.

     Задать координаты можно следующим образом:

     1. Выберите управляющий элемент,  для которого вы хотите за-
        дать координаты.  Для этого можно щелкнуть на управляющем
        элементе кнопкой "мыши" или использовать для его  выделе-
        ния клавишу Tab.

     2. Выберите команду AlignіSize Control или удерживайте  кла-
        вишу Alt, дважды щелкнув кнопкой "мыши". Выводится диало-
        говое окно Size Control (Управление размером).

     3. Задайте координаты x,  cx, y и cy в диалоговых элементах.
        В диалоговых элементах y равно 1/8  высоты  шрифта,  а  x
        равно 1/4 ширины шрифта.

     Координаты x и  y  определяют  начальную  точку  диалогового
управляющего элемента, cx определят горизонтальную ширину диалого-
вого управляющего элемента, а значение cy определяет вертикальный
размер диалогового элемента:

             x,y  ДДДДДДДД           cx
                          \ЪДДДДДДДДДБДДДДДДДДДДї
                         Ъ ЪДДДДДДДДДДДДДДДДДДДДї
                         і і                    і
                         і і                    і
                      cy ґ і                    і
                         і і                    і
                         і і                    і
                         і і                    і
                         А АДДДДДДДДДДДДДДДДДДДДЩ

     Рис. 4.8 Координаты диалогового окна

ыравнивание управляющих элементов с помощью координатной сетки
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     При перемещении  управляющих  элементов вы можете вывести на
экран в диалоговом окне координатную сетку, которую можно исполь-
зовать для выравнивание управляющих элементов.

     Для вывода координатной сетки сделайте следующее:

     1. Выберите  команду  AlignіGrid  (ВыравниваниеіСетка).  При
        этом выводится диалоговое окно Set Grid (Задание  коорди-
        натной сетки).

ЪДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і - і                   Set grid attributes                     і
ГДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і                                                               і
і     ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї         і
і     і           ЪДДДДДДДДДДї           ЪДДДДДДДДДДї і         і
і     і Width     і          і  Height   і          і і         і
і     і           АДДДДДДДДДДЩ           АДДДДДДДДДДЩ і         і
і     АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ         і
і                                                               і
і      ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї        і
і      і                                               і        і
і      і  Grid type                                    і        і
і      і                                               і        і
і      і                                               і        і
і      і  <*  Absolute             ЪДї  Show grid      і        і
і      і                           АДЩ                 і        і
і      і   >  Relative                                 і        і
і      і                                               і        і
і      і                                               і        і
і      АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ        і
ГДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   ЪДДДДДДДДДДДї         ЪДДДДДДДДДДДї       ЪДДДДДДДДДДДї     і
і   і  _        і±        і           і±      і           і±    і
і   і V  OK     і±        і X  Cancel і±      і ?  Help   і±    і
і   АДДДДДДДДДДДЩ±        АДДДДДДДДДДДЩ±      АДДДДДДДДДДДЩ±    і
і     ±±±±±±±±±±±±          ±±±±±±±±±±±±        ±±±±±±±±±±±±    і
і                                                               і
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     Рис. 4.7 Диалоговое окно Duplicate Control

     Set Grid Attributes - задание атрибутов сетки; Width - шири-
на; Height - высота;  Grid type - тип сетки;  Absolute - абсолют-
ная;  Relative - относительная; Show grid - вывод сетки; OK - вы-
полнение; Cancel - отмена; Help - справка.

     2. Задайте нужную ширину и высоту сетки.

     3. Выберите тип сетки. Здесь имеются следующие возможности:

                      Параметры типа сетки            Таблица 4.4
     ЪДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
     і Тип сетки    і Описание                                  і
     ГДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
     і Absolute     і Располагает управляющий элемент на ближай-і
     і (Абсолютная) і шей линии сетки.                          і
     і              і                                           і
     ГДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
     і Relative     і Перемещает управляющий элемент  только  наі
     і (Относитель- і размер ширины ячейки сетки в  горизонталь-і
     і ная)         і ном направлении и на высоту ячейки сетки ві
     і              і вертикальном  направлении.  Таким образом,і
     і              і если элемент  управления  не  был первона-і
     і              і чально размещен на линии сетки, при выбореі
     і              і данного  параметра  вы не сможете перемес-і
     і              і тить его на линию сетки.                  і
     і              і                                           і
     і              і Например, если вы  задали  сетку  4х4, и уі
     і              і вас есть управляющий элемент, позициониро-і
     і              і ванный в точке (1,1),  то при  перемещенииі
     і              і управляющего элемента он перейдет на пози-і
     і              і цию, отстоящую от данной точки на 4 едини-і
     і              і цы в любом направлении. Возможными коорди-і
     і              і натами будут (5,5), (5,9), (9,5) и т.д.   і
     і              і                                           і
     АДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     4. Выберите  параметр  Show  Grid  (Вывод сетки) и командную
        кнопку OK.

        Изменение внешнего вида управляющих элементов
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     С помощью  диалогового  окна  Style (Тип) вы можете изменить
внешний вид управляющих элементов. Чтобы вывести для управляющего
элемента диалоговое окно Style,  нужно, позиционировавшись на уп-
равляющем элементе,  дважды  щелкнуть кнопкой  "мыши".  Например,
двойное  нажатие кнопки "мыши" на управляющем элементе, представ-
ляющем собой командную кнопку, приводит к выводу диалогового окна
Button Style (Тип кнопки).

     Хотя типы  диалоговых  окон отличаются один от другого,  они
имеют много общих параметров.  Если вы поймете,  как использовать
эти параметры в одном диалоговом окне Style, то легко догадаться,
как сделать это в других.

     Перечислим параметры, общие для большинства диалоговых окон:

   Параметры, общие для всех диалоговых окон  Style  Таблица 4.5
ЪДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і   Параметр     і Описание                                     і
ГДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Caption      і Позволяет вам вводить заголовок (содержимое),і
і   (Заголовок)  і которое   требуется  выводить  в  управляющемі
і                і элементе. Различные типы управляющих  элемен-і
і                і тов выводят  заголовки (содержимое) в различ-і
і                і ных областях. Например, в групповом блоке за-і
і                і головок  выводится  в верхней левой части.  Ві
і                і командной  кнопке содержимое выводится внутриі
і                і кнопки.                                      і
і                і                                              і
і                і Заголовок выводится  не  во  всех управляющихі
і                і элементах.  Например, в блоке списка заданныйі
і                і в заголовке текст не выводится.              і
і                і                                              і
і                і Справа от того места,  где вы вводите заголо-і
і                і вок,  выберите  параметр  Text  (Текст)   илиі
і                і Number (Число).  Выберите Text, если вы хоти-і
і                і те,  чтобы заголовок заключался в  файле  .RCі
і                і или исходном коде диалога. Если символы кавы-і
і                і чек не нужны, выберите Number.               і
і                і                                              і
і                і Заголовок к управляющему элементу можно такжеі
і                і добавить с помощью окна Caption.             і
і                і                                              і
ГДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Control ID   і Позволяет вам задавать уникальный идентифика-і
і   (Идентифика- і тор элемента управления. Идентификатор управ-і
і   тор управ-   і ляющего элемента может  быть  коротким  целымі
і   ляющего      і значением или целочисленным выражением. Набе-і
і   элемента)    і рите идентификатор управляющего элемента, ко-і
і                і торый вы хотите присвоить данному управляюще-і
і                і му элементу.                                 і
і                і                                              і
і                і По соглашению статическим управляющим элемен-і
і                і там, которые не модифицируются во  время  вы-і
і                і полнения, присваивается идентификатор -1.    і
і                і                                              і
і                і Если вы наберете алфавитно-цифровой идентифи-і
і                і катор Пакет разработчика ресурсов  проверяет,і
і                і не создано ли для данного идентификатора  оп-і
і                і ределений #define или описаний констант.  Ес-і
і                і ли нет, то Пакет разработчика  ресурсов  зап-і
і                і рашивает, хотите  ли  вы  создать его.  Болееі
і                і подробно об  алфавитно-цифровых идентификато-і
і                і рах рассказывается в Главе 3.                і
і                і                                              і
ГДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Scroll Bar   і Позволяет вам выбрать, хотите ли вы  включитьі
і   (Полоса      і в свой управляющий элемент горизонтальную илиі
і   прокрутки)   і вертикальную полосу прокрутки.               і
і                і                                              і
АДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     Большинство управляющих элементов имеют следующие общие эле-
менты:

                 Атрибуты управляющих элементов       Таблица 4.6
ЪДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і   Атрибут     і Описание                                      і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Tab Stop    і Позволяет пользователю использовать для досту-і
і   (Табуляция) і па к  данному  управляющему  элементу  клавишуі
і               і Tab.                                          і
і               і                                               і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Group       і Идентифицирует первый  управляющий  элемент  ві
і   (Группа)    і группе. Более подробно об объединении и досту-і
і               і пе к  управляющим элементам рассказывается ни-і
і               і же.                                           і
і               і                                               і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Disabled    і Делает управляющий  элемент "тусклым",  запре-і
і   (Запрещен-  і щенным (таким образом  управляющий  элемент неі
і   ный)        і отвечает на ввод пользователя).               і
і               і                                               і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Border      і Рисует вокруг управляющего  элемента рамку (поі
і   (Граница)   і умолчанию).                                   і
і               і                                               і
АДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     Каждый тип диалогового окна  Style  имеет  также  параметры,
специфические для данного типа управляющего элемента.  Они обсуж-
даются ниже при описании различных типов управляющих элементов.

           Задание заголовка управляющего элемента
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Хотя для  добавления  к  управляющему элементу вы можете ис-
пользовать диалоговое окно Style (Тип),  это можно также делать с
помощью диалогового окна Caption (Заголовок).

     Чтобы добавить  к  управляющему элементу заголовок с помощью
диалогового окна Caption, сделайте следующее:

     1. Выберите управляющий элемент,  к которому вы хотите доба-
        вить заголовок,  переместившись на него с помощью табуля-
        ции или щелкнув на нем кнопкой "мыши".

     2. При выбранном управляющем элементе введите новый  заголо-
        вок  или  нажмите клавишу F6,  чтобы переместиться в окно
        Caption и наберите новый заголовок.

     3. Нажмите клавишу Enter.

           Изменение класса управляющих элементов
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Если вы  работаете  со специализированными управляющими эле-
ментами, то может  оказаться  полезным  диалоговое  окно  Generic
Control Style (Общий тип управляющего элемента). Его можно вывес-
ти, если нажав и удерживая клавишу Ctrl,  дважды щелкнув  кнопкой
"мыши" на  управляющем элементе.  Либо используйте для выбора уп-
равляющего элемента клавишу Tab,  затем нажмите клавишу  Ctrl  и,
удерживая ее, нажмите Enter.

ЪДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і - і                   Set grid attributes                     і
ГДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДґ
і                                               і               і
і   Caption                                     і               і
і ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДїі ЪДДДДДДДДДДДї і
і іЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДї   <*  Text   іі і  _        і±і
і іі±OK±                        і              іі і V  OK     і±і
і іАДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ    >  Number іі АДДДДДДДДДДДЩ±і
і АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩі   ±±±±±±±±±±±±і
і                                               і               і
і  Control ID                                   і               і
і ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДїі               і
і іЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДїЪДДДДДДДДДДДї іі               і
і іі 102                        іі           і іі ЪДДДДДДДДДДДї і
і іАДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩАДДДДДДДДДДДЩ іі і           і±і
і АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩі і X  Cancel і±і
і ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДїі АДДДДДДДДДДДЩ±і
і і              ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДїіі   ±±±±±±±±±±±±і
і і Class        і "BUTTON"                   ііі               і
і і              АДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩіі               і
і і              ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДїіі               і
і і Style        і BS_PUSHBUTTON і WS_TAB     ііі ЪДДДДДДДДДДДї і
і і              АДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩіі і           і±і
і і              ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДїіі і ?  Help   і±і
і і Info         і                            ііі АДДДДДДДДДДДЩ±і
і і              АДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩіі   ±±±±±±±±±±±±і
і АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩі               і
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДЩ

     Рис. 4.10 Диалоговое окно Generic Control Style

     Generic Control  Style  -  общий  тип управляющего элемента;
Caption - заголовок; Text - текстовый; Number - числовой; Control
ID - идентификатор управляющего элемента;  Class - класс; Style -
тип;  Info - информация; OK - выполнение; Cancel - отмена; Help -
справка

     В диалоговом  окне  Generic Control Style вы можете изменить
класс управляющего элемента.  Можно также задать заголовок, иден-
тификатор управляющего  элемента  и  его  тип.  Если  вы  введете
что-либо в поле Info,  то диалоговое окно не будет  совместимо  с
компилятором ресурсов фирмы Microsoft.

          Примечание: Более подробно о специализированных пользо-
     вательских управляющих элементах рассказывается ниже.

               Задание управляющих элементов,
        на которые можно перемещаться с помощью табуляции
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

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

     Изменить данную установку можно тремя способами:

     - с помощью средства Tab Set;
     - с помощью диалогового окна Style;
     - используя команду Set Tabs.

                        Средство Set Tab

                        ЪДДДДДДДДї
                        і ====>  і
                        і        і Установка
                        і <====  і табуляции
                        АДДДДДДДДЩ

     Чтобы изменить установку табуляции с  помощью  средства  Tab
Set (Установка табуляции), сделайте следующее:

     1. Щелкните кнопкой "мыши" на пиктограмме "Установка табуля-
        ции".  Пакет разработчика ресурсов  рисует  рамку  вокруг
        каждого управляющего элемента,  на который можно позицио-
        нироваться с помощью табуляции.

     2. Средство Tab Set представляет собой переключатель:

           - чтобы задать остановку табуляции,  щелкните  кнопкой
             "мыши" на любом управляющем элементе, который не ок-
             ружен рамкой.

           - чтобы удалить остановку табуляции, щелкните  кнопкой
             "мыши" на управляющем элементе,  который уже окружен
             рамкой (имеет остановку табуляции).

     3. После изменения всех позиций табуляции  щелкните  кнопкой
        "мыши" на пиктограмме "Выбор", после чего вы сможете сно-
        ва вернуться к настройке диалогового окна.

                      Тип диалогового окна

     Для изменения остановок табуляции можно  также  использовать
диалоговое окно Style (Тип), для чего:

     1. Откройте  для управляющего элемента диалоговое окно Style
        (дважды щелкнув кнопкой "мыши" на этом элементе или нажав
        клавишу Enter).

     2. Установите  параметр  Tab  Stop под заголовком Attributes
        (Атрибуты), либо отмените Tab Stop, чтобы выключить уста-
        новку.

                        Команда Set Tabs

     Третий способ  установки  табуляции  состоит в использовании
команды меню Set Tabs:

     1. Выберите команду  OptionsіSet  Tabs  (ПараметрыіУстановка
        табуляции).  Курсор "мыши" превращается в пиктограмму та-
        буляции.  Пакет разработчика ресурсов окружает каждый уп-
        равляющий  элемент,  на  который можно перемещаться с по-
        мощью табуляции, рамкой.

     2. Чтобы изменить установку табуляции для какого-либо управ-
        ляющего элемента,  щелкните на нем кнопкой "мыши".  Пара-
        метр Set Tabs работает  как  переключатель,  включая  или
        выключая атрибут Tab Stop.

     3. Когда вы закончите устанавливать позиции табуляции, выбе-
        рите команду OptionsіModify Controls (ПараметрыіМодифика-
        ция управляющих элементов). При этом вы вернетесь в режим
        редактирования.

     Как описывается ниже,  вы можете проверить  свой  диалоговый
элемент и посмотреть, как работает табуляция.

            Определение группы управляющих элементов

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

     Чтобы определить группу управляющих элементов, сделайте сле-
дующее:

     1. Если необходимо,  переместите управляющие элементы, чтобы
        они находились вместе.

                 ЪДДДДДДДДї
                 і  ....  і
                 і .      і Установка
                 і  ...v  і группы
                 АДДДДДДДДЩ

     2. Щелкните кнопкой "мыши" на пиктограмме  "Установка  груп-
        пы" палитры инструментальных средств.  Курсор "мыши" при-
        обретает вид пиктограммы G,  и все управляющие  элементы,
        которые  являются первым элементом группы,  заключаются в
        рамку.

     3. Для каждой группы, которую вы хотите определить, щелкните
        кнопкой "мыши" на первом элементе, заключенном в рамку.

        Если в рамку заключен какой-либо управляющий элемент, ко-
        торый вы не хотите определять как первый  элемент группы,
        для  удаления  первой  установки в группе щелкните на нем
        кнопкой "мыши".

        Идентифицировать последний элемент группы не нужно. Щелк-
        нув  кнопкой "мыши" на первом элементу каждой группы,  вы
        можете также идентифицировать последний элемент  предыду-
        щей  группы.  Если вы хотите получить только одну группу,
        выделите первый элемент этой группы. Все остальные управ-
        ляющие элементы станут при этом частью группы.

     4. Когда  вы закончите идентификацию первого элемента каждой
        группы,  выберите инструментальное средство "Выбор".  Это
        позволит вам вернуться в режим редактирования.

     Для определения  групп  вы можете также использовать команду
меню OptionsіSet Groups (ПараметрыіУстановка групп). Когда вы за-
кончите определение групп, вернитесь в режим редактирования, выб-
рав команду OptionsіModify Controls (ПараметрыіМодификация управ-
ляющих элементов).

    Как описывается   ниже,   вы   можете  также  проверить  свое
диалоговое окно и посмотреть,  работают ли группы так как задума-
но.

          Переупорядочивание управляющих элементов
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Вы можете задать порядок,  в котором пользователь сможет по-
лучать доступ к управляющим элементам в диалоговом окне. Этот по-
рядок особенно  важен,  когда  вы  определяете  группу  связанных
элементов. Если управляющие элементы не упорядочены соответствую-
щим образом, то это в итоге может запутать пользователя.

     Для определения порядке управляющих элементов  в  диалоговом
окне сделайте следующее:

     1. Выделите  управляющие  элементы,  которые вы хотите изме-
        нить.  Вы можете щелкнуть кнопкой "мыши" на группе управ-
        ляющих элементов и буксировать ее.

        Если вы хотите задать все элементы в диалоговом  окне, то
        нет необходимости выделять какие-либо управляющие элемен-
        ты.
                          ЪДДДДДДДДї
                          і        і
                          і  1.2   і Установка
                          і        і порядка
                          АДДДДДДДДЩ

     2. Щелкните кнопкой "мыши" на пиктограмме палитры инструмен-
        тальных средств "Установка порядка". Курсор "мыши" прини-
        мает соответствующий вид.

        Для указания его места в общем упорядочивании каждый эле-
        мент нумеруется.  Если на шаге 1 вы выберите только неко-
        торые управляющие элементы,  то увидите порядковые номера
        только этих управляющих элементов.

        Обратите внимание  на подсказку Next Item (Следующий эле-
        мент) в нижней части редактора диалогов. В ней Пакет раз-
        работчика ресурсов сообщает вам порядковый номер, который
        присваивается следующему элементу, на котором вы щелкните
        кнопкой "мыши".

     3. Щелкните  кнопкой "мыши" на элементах,  которым вы хотите
        присвоить новые порядковые номера.  Вокруг всех управляю-
        щих элементов,  которые вы уже выбрали, редактор диалогов
        рисует рамку.

        В процессе присваивания новых порядковых номеров вы може-
        те  "вернуться  назад",  вновь  щелкнув кнопкой "мыши" на
        последнем выбранном элементе. Порядковый номер  изменится
        на предыдущий. Вы можете продолжать выполнение процесса в
        обратном направлении, щелкая кнопкой "мыши" на элементах,
        которые были ранее выбраны.

     4. Когда  вы завершите присваивание новых номеров,  щелкните
        кнопкой "мыши" на пиктограмме "Выбор" палитры  инструмен-
        тальных средств.  После этого вы можете продолжить редак-
        тирование.

     Вы можете также упорядочить управляющие элементы  с  помощью
команды меню  OptionsіSet Order (ПараметрыіУпорядочивание). Когда
вы завершите действия, выберите команду OptionsіModify (Параметры
іМодификация), после  чего можно продолжать редактирование диало-
гового элемента.

     После того,  как ваши управляющие элементы будут должным об-
разом упорядочены,  проверьте  свое  диалоговое окно и убедитесь,
что оно работает корректно.

           Примечание: Подробнее  о  проверке  диалогового   окна
     рассказывается ниже.

         Редактирование групп управляющих элементов
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

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

     Перед тем как вы будете готовы выравнивать и изменять разме-
ры групп управляющих элементов,  необходимо понять,  как одновре-
менно выбирать несколько управляющих элементов.

     Чтобы выбрать несколько управляющих элементов, сделайте сле-
дующее:

     1. Щелкните кнопкой "мыши" на  пиктограмме  "Выбор"  палитры
        инструментальных  средств.  Этот  режим  используется  по
        умолчанию,  поэтому вы уже можете находиться в режиме вы-
        бора. (В этом режиме пиктограмма "Выбор" выделена, а кур-
        сор имеет форму стрелки.)

     2. Щелкните кнопкой "мыши" в диалоговом окне  и  продолжайте
        нажимать  левую  кнопку  "мыши".  Позиция,  на которой вы
        щелкните кнопкой,  будет начальной позицией рамки измене-
        ния размера,  которая выводится, когда вы выполняете бук-
        сировку "мышью".

     3. Выполните буксировку с помощью "мыши",  чтобы рамка изме-
        нения  размера окружала все управляющие элементы, которые
        вы хотите выделить.

     4. Освободите кнопку  "мыши".  Вокруг  каждого  управляющего
        элемента появляется рамка.

     Если вы выделили группу управляющих элементов и хотите доба-
вить к этой группе еще один управляющий элемент или  удалить один
или более  элементов из группы,  удерживая клавишу Shift щелкните
кнопкой "мыши" на элементе,  который вы хотите добавить в  группу
или удалить из нее.

        Выравнивание нескольких управляющих элементов
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Редактор диалогов с  помощью  команды  AlignіAlign  Controls
(ВыравниваниеіВыравнивание управляющих элементов) позволяет легко
выровнять группу управляющих элементов.

     Для выравнивания управляющих элементов сделайте следующее:

     1. Выберите  управляющий  элемент,  который вы хотите выров-
        нять.

        При выборе группы управляющих элементов обратите внимание
        на рамку изменения размера. Она достаточна высока и широ-
        ка, чтобы включить в себя внешние края всех выбранных уп-
        равляющих элементов. Параметр выравнивания перемещает уп-
        равляющие элементы в данных границах.

     2. Выберите команду AlignіAlign  Controls  (ВыравниваниеіВы-
        равнивание  управляющих элементов).  Вы увидите следующее
        диалоговое окно:

ЪДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і - і                   Align controls                          і
ГДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і                                                               і
і Horizontal alignment           Vertical alignment             і
і ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДїЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДї  і
і і <* No changeі      Ctrl    іі <* No changeі      Ctrl    і  і
і і    ДДДДДДДДДЩ    ЪДДДДДДДї іі    ДДДДДДДДДЩ    ЪДДДДДДДї і  і
і і >  Left sides    і   L   і іі >  Tops          і   T   і і  і
і і                  і       і іі                  і       і і  і
і і >  Centers       і   H   і іі >  Centers       і   V   і і  і
і і                  і       і іі                  і       і і  і
і і >  Right sides   і   R   і іі >  Bottoms       і   B   і і  і
і і                  і       і іі                  і       і і  і
і і >  Space equally і Srtch і іі >  Space equally і Srtch і і  і
і і                  і       і іі                  і       і і  і
і і >  Center in     і   D   і іі >  Center in     і   C   і і  і
і і    dialog        АДДДДДДДЩ іі    dialog        АДДДДДДДЩ і  і
і АДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩАДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ  і
і                                                               і
ГДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   ЪДДДДДДДДДДДї         ЪДДДДДДДДДДДї       ЪДДДДДДДДДДДї     і
і   і  _        і±        і           і±      і           і±    і
і   і V  OK     і±        і X  Cancel і±      і ?  Help   і±    і
і   АДДДДДДДДДДДЩ±        АДДДДДДДДДДДЩ±      АДДДДДДДДДДДЩ±    і
і     ±±±±±±±±±±±±          ±±±±±±±±±±±±        ±±±±±±±±±±±±    і
і                                                               і
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     Рис. 4.11 Диалоговое окно Duplicate Control

     Align controls   -   выравнивание   управляющих   элементов;
Horizontal  alignment  -  горизонтальное  выравнивание;  Vertical
alignment - вертикальное выравнивание; No change - без изменения;
Left sides - левый стороны; Centers - центр; Right sides - правые
стороны; Space  equally  -  равное  расстояние;  Center in dialog
центр в диалоге;  OK - выполнение; Cancel - отмена; Help - справ-
ка.

     3. Для перемещения выделенных управляющих элементов выберите
        параметры  Vertical Alignment (Вертикальное выравнивание)
        и Horizontal Alignment (Горизонтальное выравнивание).

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

          Параметры горизонтального выравнивания      Таблица 4.7
ЪДДДДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і   Параметр              і Описание                            і
ГДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   No Change             і Управляющие элементы не будут  пере-і
і   (без изменения)       і мещаться в горизонтальном  направле-і
і                         і нии.                                і
і                         і                                     і
ГДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Left Sides            і Управляющие   элементы  перемещаютсяі
і   (левые стороны)       і горизонтально, так что они будут вы-і
і                         і равниваться вдоль левой стороны рам-і
і                         і ки изменения размера.               і
і                         і                                     і
ГДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Right Sides           і Управляющие   элементы  перемещаютсяі
і   (правые стороны)      і горизонтально, так что они будут вы-і
і                         і равниваться вдоль   правой   стороныі
і                         і рамки изменения размера.            і
і                         і                                     і
ГДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Space Equally         і Перемещает управляющие элементы  го-і
і   (с равным расстоянием)і ризонтально, так что они  располага-і
і                         і ются в  рамке  изменения  размера наі
і                         і одинаковом расстоянии.              і
і                         і                                     і
ГДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Center in Dialog      і Перемещает рамку  изменения  размераі
і   (центрирование в      і горизонтально, так что  она  центри-і
і   диалоговом окне)      і руется в диалоговом окне.           і
і                         і                                     і
АДДДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

        Опишем теперь, что можно делать с помощью параметра верти-
        кального  выравнивания  (большинство  из  этих параметров
        разрешены только в том случае, если вы выбираете несколь-
        ко управляющих элементов).

            Параметры вертикального выравнивания      Таблица 4.8
ЪДДДДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і   Параметр              і Описание                            і
ГДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і    No Change            і Управляющие элементы не перемещаютсяі
і    (без изменения)      і в вертикальном направлении.         і
і                         і                                     і
ГДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і    Tops                 і Управляющие элементы перемещаются  ві
і    (вверху)             і вертикальном направлении и  выравни-і
і                         і ваются вдоль верхней  границы  рамкиі
і                         і изменения размера.                  і
і                         і                                     і
ГДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і    Centers              і Управляющие элементы перемещаются  ві
і    (по центру)          і вертикальном направлении и  выравни-і
і                         і ваются  по  центру  рамки  измененияі
і                         і размера.                            і
ГДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і    Space Equally        і Управляющие элементы перемещаются  ві
і    (на равном           і вертикальном направлении и  выравни-і
і    расстоянии)          і ваются в рамке изменения  размера  сі
і                         і на равном расстоянии друг от друга. і
ГДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і    Center in Dialog     і Управляющие элементы перемещаются  ві
і    (центрирование в     і вертикальном направлении и  выравни-і
і    диалоговом окне)     і ваются по центру диалогового окна.  і
АДДДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     После того  как  вы  выберите нужное горизонтальное и верти-
кальное выравнивание, активизируйте командную кнопку OK.

     Обратите внимание на акселераторы или командные клавиши, ко-
торые перечислены в диалоговом окне Align Control. Вместо исполь-
зования команды AlignіAlign Controls вы  можете  выделить  группу
управляющих элементов,  а  затем  использовать акселераторы Align
Controls. Например,  нажатие клавиш Ctrl+L выравнивает группу уп-
равляющих элементов  горизонтально  вдоль левой стороны рамки,  а
нажатие Ctrl+B выравнивает их вертикально  вдоль  нижней  стороны
рамки.
                          ЪДДДДДДДДї
                          і        і
                          і Undo   і Отмена
                          і        і
                          АДДДДДДДДЩ

     Отменить выравнивание можно с помощью команды EditіUndo (Ре-
дактированиеіОтмена), нажатия клавиш Alt+пробел или  выбора  пик-
тограммы "Отмена" палитры инструментальных средств.

     Наиболее простой  способ  выравнивания управляющих элементов
состоит в использовании палитры инструментальных средств. Выбери-
те управляющий элемент,  который вы хотите выровнять,  щелкнув на
нем кнопкой "мыши" и выполнив буксировку.  Затем выберите из  па-
литры инструментальное средство "Выравнивание".

          ЪДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДї
          і   =   і       Alignment       і
          ГДДДДДДДЕДДДДДДДВДДДДДДДВДДДДДДДґ
          і       і       і       і       і
          і  <НН  і  <Н>  і і>Н<і і  НН>  і
          і       і       і       і       і
          ГДДДДДДДЕДДДДДДДЕДДДДДДДЕДДДДДДДґ Рис. 4.12  Палитра
          і   ^   і   ^   і   ^   і   є   і            Alignment
          і   є   і   є   і   є   і   є   і
          і   є   і   v   і   v   і   v   і
          АДДДДДДДБДДДДДДДБДДДНДДДБДДДДДДДЩ

     В данной палитре вы можете выбирать следующие инструменталь-
ные средства:

     ЪДДДДДДДї
     і       і  Перемещает управляющий элемент горизонтально, так
     і  <НН  і  что они выравниваются вдоль левой стороны рамки.
     і       і
     АДДДДДДДЩ
     ЪДДДДДДДї
     і       і  Перемещает управляющий элемент горизонтально, так
     і  <Н>  і  что они выравниваются по центру рамки.
     і       і
     АДДДДДДДЩ
     ЪДДДДДДДї
     і       і  Перемещает управляющий элемент горизонтально, так
     і  НН>  і  что они выравниваются вдоль правой стороны рамки.
     і       і
     АДДДДДДДЩ
     ЪДДДДДДДї
     і       і  Перемещает рамку и выделенные управляющие элемен-
     і і>Н<і і  ты горизонтально, так что они центрируются в диа-
     і       і  логовой рамке.
     АДДДДДДДЩ
     ЪДДДДДДДї
     і   ^   і  Перемещает управляющие элементы вертикально,  так
     і   є   і  что они выравниваются вдоль верхней стороны рамки.
     і   є   і
     АДДДДДДДЩ
     ЪДДДДДДДї
     і   ^   і  Перемещает управляющие элементы вертикально,  так
     і   є   і  что они выравниваются по центру рамки.
     і   v   і
     АДДДДДДДЩ
     ЪДДДДДДДї
     і   є   і  Перемещает управляющие элементы вертикально,  так
     і   є   і  что они выравниваются вдоль нижней стороны рамки.
     і   v   і
     АДДДДДДДЩ
     ЪДДДДДДДї
     і   ^   і  Перемещает рамку и выделенные управляющие элемен-
     і   є   і  ты вертикально,  так  что они центрируются в диа-
     і   v   і  логовой рамке.
     АДДДНДДДЩ

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

           Примечание: Расположить  элементы  в  рамке  с  равным
      расстоянием друг от друга вы можете "вытягивая" рамку.

     Для этого сделайте следующее:

     1. Выберите группу управляющих элементов, для которых вы хо-
        тите применить данный параметр. При этом вокруг выбранных
        элементов отобразится рамка.

     2. "Вытяните" рамку,  удерживая клавишу Ctrl и буксируя край
        рамки изменения размера в нужном направлении.

          - чтобы  разместить управляющие элементы с равным расс-
            тоянием горизонтально, вытяните правую или левую гра-
            ницу рамки.

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

     Если вы вытяните угол рамки,  то выводится  диалоговое  окно
Array (Массив), с помощью которого вы можете упорядочить управля-
ющие элементы по столбцам и строкам.

           Примечание: Подробнее о диалоговом окне Array  расска-
      зывается ниже.

     Изменение размера нескольких управляющих элементов
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Чтобы изменить размер управляющего элемента, вы можете выде-
лить его  и буксировать соответствующий край или угол.  С помощью
параметра Size Controls (Размер управляющего элемента)  вы можете
изменить размер группы управляющих элементов.

     1. Выделите управляющие элементы,  которые вы хотите настро-
        ить.

        При выборе группы управляющих элементов обратите внимание
        на рамку изменения размера. Она достаточна высока и широ-
        ка, чтобы включить в себя внешние края всех выбранных уп-
        равляющих элементов.  Параметр изменения размера изменяет
        размер управляющих элементы в данных границах.

     2. Выберите команду AlignіSize Controls (ВыравниваниеіВырав-
        нивание управляющих элементов). Вы увидите следующее
       диалоговое окно:

ЪДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і - і                    Size controls                          і
ГДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і                                                               і
і Horizontal size                Vertical size                  і
і ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДїЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДї  і
і і <* No changeі              іі <* No changeі              і  і
і і    ДДДДДДДДДЩ              іі    ДДДДДДДДДЩ              і  і
і і >  Shrink to smallest      іі >  Shrink to smallest      і  і
і і                            іі                            і  і
і і >  Grow to largest         іі >  Grow to largest         і  і
і і                            іі                            і  і
і і >  Width of size box       іі >  Height of size box      і  і
і і                            іі                            і  і
і і >  Width of dialog         іі >  Height of dialog        і  і
і і                            іі                            і  і
і і >  Enter values            іі >  Enter values            і  і
і і                            іі                            і  і
і АДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩАДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ  і
і ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДїЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДї  і
і і    ЪДДДДДДДДї   ЪДДДДДДДДї іі    ЪДДДДДДДДї   ЪДДДДДДДДї і  і
і і X  і        і CXі        і іі Y  і        і CYі        і і  і
і і    АДДДДДДДДЩ   АДДДДДДДДЩ іі    АДДДДДДДДЩ   АДДДДДДДДЩ і  і
і АДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩАДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ  і
ГДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   ЪДДДДДДДДДДДї         ЪДДДДДДДДДДДї       ЪДДДДДДДДДДДї     і
і   і  _        і±        і           і±      і           і±    і
і   і V  OK     і±        і X  Cancel і±      і ?  Help   і±    і
і   АДДДДДДДДДДДЩ±        АДДДДДДДДДДДЩ±      АДДДДДДДДДДДЩ±    і
і     ±±±±±±±±±±±±          ±±±±±±±±±±±±        ±±±±±±±±±±±±    і
і                                                               і
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     Рис. 4.13 Диалоговое окно Duplicate Control

     Align size  -  изменение  размера   управляющих   элементов;
Horizontal  size - размер по горизонтали;  Vertical size - размер
по вертикали;  No change - без изменения;  Shrink to  smallest  -
сжатие до наименьшего; Grow to largest - увеличение до наибольше-
го; Width of size box ширина рамки размера: Width of dialog - ши-
рина диалога;  Height of size box - высота рамки размера;  Height
of dialog - высота диалога;  Enter values - ввод значений;  OK  -
выполнение; Cancel - отмена; Help - справка

     3. Для перемещения выделенных управляющих элементов выберите
        параметры   Vertical   Size   (Размер   по  вертикали)  и
        Horizontal Size (Размер по горизонтали).

        Параметры изменения размера по горизонтали делают следую-
щее (большинство параметров разрешено только если вы выделите два
или более управляющих элемента):

          Параметры изменения размера по горизонтали  Таблица 4.9
ЪДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і   Параметр           і Описание                               і
ГДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   No Change          і Размер по горизонтали управляющих  эле-і
і   (без изменения)    і ментов изменяться не будет.            і
і                      і                                        і
ГДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Shrink to smallest і Изменяется размер  управляющих  элемен-і
і   (сжатие до наимень-і тов по  горизонтали - их  ширина  будеті
і   щего)              і соответствовать самому узкому  элементуі
і                      і в группе.                              і
і                      і                                        і
ГДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Grow to Largest    і Изменяется размер  управляющих  элемен-і
і   (увеличение до     і тов по  горизонтали - их  ширина  будеті
і   наибольшего)       і соответствовать самому широкому элемен-і
і                      і ту в группе.                           і
і                      і                                        і
ГДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Width of Size Box  і Изменяет размер  управляющих  элементові
і   (ширина рамки      і таким образом, что он будет  соответст-і
і   размера)           і вовать рамке изменения размера.        і
і                      і                                        і
ГДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Width of Dialog    і Изменяет размер  управляющих  элементові
і   (ширина диалого-   і таким образом, что он будет  соответст-і
і   вого окна)         і вовать размеру диалогового окна.       і
і                      і                                        і
АДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

        Параметры изменения размера по вертикали делают следующее
(большинство параметров разрешено только если вы выделите два или
более управляющих элемента):

          Параметры изменения размера по вертикали   Таблица 4.10
ЪДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і   Параметр           і Описание                               і
ГДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   No Change          і Размер  по  вертикали управляющих  эле-і
і   (без изменения)    і ментов изменяться не будет.            і
і                      і                                        і
ГДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Shrink to smallest і Изменяется размер  управляющих  элемен-і
і   (сжатие до наимень-і тов  по   вертикали - их толщина  будеті
і   щего)              і соответствовать самому тонкому элементуі
і                      і в группе.                              і
і                      і                                        і
ГДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Grow to Largest    і Изменяется размер  управляющих  элемен-і
і   (увеличение до     і тов  по вертикали - их  толщина   будеті
і   наибольшего)       і соответствовать самому толстому элемен-і
і                      і ту в группе.                           і
і                      і                                        і
ГДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Height of Size Box і Изменяет размер  управляющих  элементові
і   (ширина рамки      і таким образом, что он будет  соответст-і
і   размера)           і вовать рамке изменения размера.        і
і                      і                                        і
ГДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Height of Dialog   і Изменяет размер  управляющих  элементові
і   (ширина диалого-   і таким образом, что он будет  соответст-і
і   вого окна)         і вовать размеру диалогового окна.       і
і                      і                                        і
АДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     После того  как  вы  выберите нужное горизонтальное и верти-
кальное выравнивание, активизируйте командную кнопку OK.

     Изменение размера нескольких управляющих элементов
і   вого окна)         і вовать размеру диалогового окна.       і
і                      і                                        і
АДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

        Параметры изменения размера по вертикали делают следующее
(большинство параметров разрешено только если вы выделите два или
более управляющих элемента):

          Параметры изменения размера по вертикали   Таблица 4.10
ЪДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і   Параметр           і Описание                               і
ГДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   No Change          і Размер  по  вертикали управляющих  эле-і
і   (без изменения)    і ментов изменяться не будет.            і
і                      і                                        і
ГДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Shrink to smallest і Изменяется размер  управляющих  элемен-і
і   (сжатие до наимень-і тов  по   вертикали - их толщина  будеті
і   щего)              і соответствовать самому тонкому элементуі
і                      і в группе.                              і
і                      і                                        і
ГДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Grow to Largest    і Изменяется размер  управляющих  элемен-і
і   (увеличение до     і тов  по вертикали - их  толщина   будеті
і   наибольшего)       і соответствовать самому толстому элемен-і
і                      і ту в группе.                           і
і                      і                                        і
ГДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Height of Size Box і Изменяет размер  управляющих  элементові
і   (ширина рамки      і таким образом, что он будет  соответст-і
і   размера)           і вовать рамке изменения размера.        і
і                      і                                        і
ГДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Height of Dialog   і Изменяет размер  управляющих  элементові
і   (ширина диалого-   і таким образом, что он будет  соответст-і
і   вого окна)         і вовать размеру диалогового окна.       і
і                      і                                        і
АДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     После того  как  вы  выберите нужное горизонтальное и верти-
кальное выравнивание, активизируйте командную кнопку OK.

     Выбрав команду EditіUndo (РедактированиеіОтмена), нажав кла-
виши Alt+пробел,  или выбрав пиктограмму "Отмена" палитры инстру-
ментальных средств, вы можете отменить параметры изменения разме-
ра.

   Размещение управляющих элементов по столбцам и строкам
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Если вы хотите упорядочить управляющие элементы в массиве по
столбцам и строкам, используйте команду AlignіArray (Выравнивание
іМассив). Кроме  форматирования управляющих элементов по столбцам
и строкам,  команда AlignіArray также нумерует каждый управляющий
элемент, как элемент группы-массива.

     Команда Array используется следующим образом:

     1. Выберите управляющие элементы, которые вы хотите упорядо-
        чить по столбцам и строкам.

        Когда вы выбираете группу управляющих элементов, обратите
        внимание на рамку изменения размера, которая окружает все
        эти элементы. Она имеет достаточную ширину и высоту, что-
        бы охватить внешние края всех выделенных управляющих эле-
        ментов.

     2. Если необходимо,  расширьте размер рамки изменения разме-
        ра, чтобы в ней оказались нужные строки и столбца.

                        ЪДДДДДДДДї
                        і        і
                        і Ъї-->Ъїі Дублирование
                        і        і
                        АДДДДДДДДЩ

     3. Выберите  команду  AlignіArray  (ВыравниваниеіМассив) или
        выберите пиктограмму инструментального средства "Дублиро-
        вание". Вы увидите следующее диалоговое окно:

ЪДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і - і               Form controls into an array                 і
ГДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і                                                               і
і   Array layout                  Order                         і
і ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДїЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДї  і
і і                            іі                            і  і
і і                 ЪДДДДДДДДї іі                            і  і
і і  Rows           і        і іі  <* Left to right          і  і
і і                 АДДДДДДДДЩ іі                            і  і
і і                            іі                            і  і
і і                 ЪДДДДДДДДї іі                            і  і
і і  Columns        і        і іі  >  Top to bottom          і  і
і і                 АДДДДДДДДЩ іі                            і  і
і і                            іі                            і  і
і АДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩАДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ  і
ГДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   ЪДДДДДДДДДДДї         ЪДДДДДДДДДДДї       ЪДДДДДДДДДДДї     і
і   і  _        і±        і           і±      і           і±    і
і   і V  OK     і±        і X  Cancel і±      і ?  Help   і±    і
і   АДДДДДДДДДДДЩ±        АДДДДДДДДДДДЩ±      АДДДДДДДДДДДЩ±    і
і     ±±±±±±±±±±±±          ±±±±±±±±±±±±        ±±±±±±±±±±±±    і
і                                                               і
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     Рис. 4.14 Диалоговое окно Form controls into an array

     Form controls  into an array - формирование управляющих эле-
ментов в массив;  Array layout - схема массива;  Order - порядок;
Rows - строки;  Columns - столбцы; Left to right - слева-направо;
Top to bottom - сверху вниз;  OK - выполнение;  Cancel -  отмена;
Help - справка

     4. В блоке под заголовком Array Layout (Схема массива),  за-
        дайте нужное число строк и столбцов.

     5. В блоке под заголовком Order выберите, как вы хотите упо-
        рядочивать управляющие элементы в группе. Например, пред-
        положим,  вы упорядочиваете управляющие  элементы  в  три
        столбца.

        Если вы выберите Left to Right (Слева-направо), то редак-
        тор диалогов нумерует управляющие элементы следующим  об-
        разом.

   ЪДДДДДДДДДДДї         ЪДДДДДДДДДДДї       ЪДДДДДДДДДДДї
   і           і±        і           і±      і           і±
   і     1     і±        і     2     і±      і     2     і±
   і           і±        і           і±      і           і±
   АДДДДДДДДДДДЩ±        АДДДДДДДДДДДЩ±      АДДДДДДДДДДДЩ±
     ±±±±±±±±±±±±          ±±±±±±±±±±±±        ±±±±±±±±±±±±

   ЪДДДДДДДДДДДї         ЪДДДДДДДДДДДї       ЪДДДДДДДДДДДї
   і           і±        і           і±      і           і±
   і     4     і±        і     5     і±      і     6     і±
   і           і±        і           і±      і           і±
   АДДДДДДДДДДДЩ±        АДДДДДДДДДДДЩ±      АДДДДДДДДДДДЩ±
     ±±±±±±±±±±±±          ±±±±±±±±±±±±        ±±±±±±±±±±±±

   ЪДДДДДДДДДДДї         ЪДДДДДДДДДДДї       ЪДДДДДДДДДДДї
   і           і±        і           і±      і           і±
   і     4     і±        і     5     і±      і     6     і±
   і           і±        і           і±      і           і±
   АДДДДДДДДДДДЩ±        АДДДДДДДДДДДЩ±      АДДДДДДДДДДДЩ±
     ±±±±±±±±±±±±          ±±±±±±±±±±±±        ±±±±±±±±±±±±

   ЪДДДДДДДДДДДї         ЪДДДДДДДДДДДї       ЪДДДДДДДДДДДї
   і           і±        і           і±      і           і±
   і     7     і±        і     8     і±      і     9     і±
   і           і±        і           і±      і           і±
   АДДДДДДДДДДДЩ±        АДДДДДДДДДДДЩ±      АДДДДДДДДДДДЩ±
     ±±±±±±±±±±±±          ±±±±±±±±±±±±        ±±±±±±±±±±±±

     Рис. 4.15 Управляющие элементы, упорядоченные слева-направо

        Если вы выберите Top to Bottom (Сверху-вниз), то редактор
        диалогов нумерует управляющие элементы следующим образом.

   ЪДДДДДДДДДДДї         ЪДДДДДДДДДДДї       ЪДДДДДДДДДДДї
   і           і±        і           і±      і           і±
   і     1     і±        і     2     і±      і     7     і±
   і           і±        і           і±      і           і±
   АДДДДДДДДДДДЩ±        АДДДДДДДДДДДЩ±      АДДДДДДДДДДДЩ±
     ±±±±±±±±±±±±          ±±±±±±±±±±±±        ±±±±±±±±±±±±

   ЪДДДДДДДДДДДї         ЪДДДДДДДДДДДї       ЪДДДДДДДДДДДї
   і           і±        і           і±      і           і±
   і     2     і±        і     5     і±      і     8     і±
   і           і±        і           і±      і           і±
   АДДДДДДДДДДДЩ±        АДДДДДДДДДДДЩ±      АДДДДДДДДДДДЩ±
     ±±±±±±±±±±±±          ±±±±±±±±±±±±        ±±±±±±±±±±±±

   ЪДДДДДДДДДДДї         ЪДДДДДДДДДДДї       ЪДДДДДДДДДДДї
   і           і±        і           і±      і           і±
   і     3     і±        і     6     і±      і     9     і±
   і           і±        і           і±      і           і±
   АДДДДДДДДДДДЩ±        АДДДДДДДДДДДЩ±      АДДДДДДДДДДДЩ±
     ±±±±±±±±±±±±          ±±±±±±±±±±±±        ±±±±±±±±±±±±

     Рис. 4.15 Управляющие элементы, упорядоченные сверху-вниз

     6. После того,  как вы выберите параметры для массива, акти-
        визируйте командную кнопку OK.

                      Отмена изменений
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

                        ЪДДДДДДДДї
                        і        і
                        і  Undo  і Отмена
                        і        і
                        АДДДДДДДДЩ

     С помощью инструментального средства  "Отмена"  или  команды
EditіUndo (РедактированиеіОтмена) вы можете "отменить" все редак-
тирование, выполненное в редакторе диалогов (размещение управляю-
щих элементов, их выравнивание, удаление и т.д.). Отмена действу-
ет на команды, которые влияют на группы или управляющие элементы,
а также  на команды,  которые изменяют отдельный управляющий эле-
мент.

                 Управление с помощью кнопок
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Управление с помощью кнопок позволяет выполнять кнопки с не-
зависимой фиксацией (селективные кнопки), кнопки с зависимой фик-
сацией (которые называют также параметрами или блоками проверки),
командные кнопки и групповые кнопки. Хотя вы можете добавить их в
диалоговое окно с помощью палитры инструментальных  средств,  для
модификации  существующих  кнопочных  управляющих элементов нужно
использовать диалоговое окно Button Style (Тип кнопки). Для выво-
да этого диалогового окна,  дважды щелкните кнопкой "мыши" на том
кнопочном элементе управления, который вы хотите изменить.

     Измените  тип  кнопки,  выбрав новый параметр в блоке Button
Type (Тип кнопки).

                           Типы кнопок               Таблица 4.11
ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і   Тип кнопки              і Описание                          і
ГДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Push Button             і Кнопка,  которая  содержит  текст.і
і   (командная кнопка)      і Если пользователь щелкнет  на  нейі
і                           і кнопкой  "мыши",  то  порождающемуі
і                           і окну посылается          сообщениеі
і                           і BN_CLICKED.                       і
ГДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Default Push Button     і Идентична   командной  кнопке,  ноі
і   (командная кнопка, ис-  і заключена в жирную рамку, что ука-і
і   пользуемая по умолчанию)і зывает на ее активизацию  по умол-і
і                           і чанию  при  нажатии  пользователемі
і                           і клавиши Enter.                    і
ГДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Check Box (кнопка с     і Прямоугольная кнопка  с  указаннымі
і   независимой фиксацией)  і слева или справа текстом.  При вы-і
і                           і боре данной кнопки она  отмечаетсяі
і                           і символом Х (установлено). Отслежи-і
і                           і вать состояние установки,  изменя-і
і                           і емое пользователем,  должна  прик-і
і                           і ладная программа.                 і
ГДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Auto Check Box (авто-   і Идентична   кнопке  с  независимойі
і   матическая кнопка с     і фиксацией,  но  вместо  прикладнойі
і   независимой фиксацией)  і программы ее состояние  отслежива-і
і                           і вается Windows.                   і
ГДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   3-state (с тремя        і Идентична   кнопке  с  независимойі
і   состояниями)            і фиксацией, но имеет третье возмож-і
і                           і ное состояние: кнопка может  статьі
і                           і тусклой, что  показывает,  что  ееі
і                           і состояние неизвестно или не  опре-і
і                           і делено. Отслеживать все три состо-і
і                           і яния   кнопки   должна  прикладнаяі
і                           і программа.                        і
ГДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Auto 3-state            і Идентична   кнопке  с  независимойі
і   (автоматическая кнопка  і фиксацией с тремя состояниями,  ноі
і   с тремя состояниями)    і на состояние изменяется  не  прик-і
і                           і ладной программой, а Windows.     і
ГДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Radio Button (кнопка с  і Круглая кнопка с  идентифицирующимі
і   зависимой фиксацией)    і текстом слева  или  справа.  Когдаі
і                           і эта кнопка выбирается, в ее центреі
і                           і появляется   жирная  точка.  Когдаі
і                           і пользователь выбирает кнопку,  вы-і
і                           і водить в ее  центре  точку  должнаі
і                           і прикладная программа.             і
і                           і                                   і
і                           і Кнопки с зависимой фиксацией  (се-і
і                           і лективные кнопки) должны выводить-і
і                           і ся группами. Обычно набор кнопок сі
і                           і зависимой фиксацией  предоставляеті
і                           і пользователю выбор взаимноисключа-і
і                           і ющих параметров.                  і
і                           і Когда пользователь щелкает кнопкойі
і                           і "мыши" на кнопке с зависимой  фик-і
і                           і сацией, то порождающему окну посы-і
і                           і лается сообщение BN_CLICKED.      і
ГДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Auto Radio Button       і Идентична   кнопке  с  независимойі
і   (автоматическая кнопка  і фиксацией, но вывод  или  стираниеі
і   с зависимой фиксацией)  і жирной точки выполняет Windows.   і
ГДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Group Box               і Прямоугольный  блок,  объединяющийі
і   (групповой блок)        і вместе группу  кнопок.  Вы  можетеі
і                           і также использовать заголовок,выво-і
і                           і димый в левом верхнем углу блока. і
ГДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   User Button             і Специализированная  кнопка,  пред-і
і   (кнопка пользователя)   і назначенная  для  совместимости  сі
і                           і Windows 2.0. Мы не  рекомендуем  ві
і                           і Windows 3.0 использовать  управле-і
і                           і ние   с  помощью  пользовательскихі
і                           і кнопок. Вместо этого  следует  ис-і
і                           і пользовать   отображаемые   кнопкиі
і                           і владельца.                        і
ГДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Owner draw (отобража-   і Кнопки, которые позволяют приклад-і
і   емые кнопки владельца)  і ной программе самой рисовать кноп-і
і                           і ку.  Когда  требуется  отображениеі
і                           і кнопки,   она  посылает  сообщениеі
і                           і WM_DRAWITEM.                      і
АДДДДДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     Характер вывода  текста для кнопок с зависимой и независимой
фиксацией определяет параметр выравнивания.

                     Параметры выравнивания          Таблица 4.12
ЪДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і   Параметр        і Описание                                  і
ГДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Left (слева)    і Текст располагается слева от кнопки.      і
і                   і                                           і
і   Right (справа)  і Текст располагается справа от кнопки.     і
АДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

            Управление с помощью полос прокрутки
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

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

     Вертикальные и  горизонтальные  полосы  прокрутки  вы можете
включать в любое место диалогового окна.

     Хотя вы можете разместить полосы прокрутки с помощью палитры
инструментальных средств или команды ControlsіScrollbar (Управля-
ющие элементыіПолосы  прокрутки),  полосы  прокрутки   необходимо
настроить с помощью диалогового окна Scroll Bar Style (Тип полосы
прокрутки). Чтобы вывести данное диалоговое окно,  щелкните кноп-
кой "мыши" на той полосе прокрутки, которую вы хотите модифициро-
вать.

     Диалоговое окно Scroll Bar Style включает в себя общие и уп-
равляющие параметры (атрибуты), приведенные в таблицах 4.4 - 4.6,
а также параметры выравнивания, настраивающие полосу прокрутки.

                     Параметры выравнивания          Таблица 4.13
ЪДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і   Параметр          і Описание                                і
ГДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   None              і Полоса прокрутки заполняет  всю  прямоу-і
і   (отсутствует )    і гольную область (по умолчанию).         і
і                     і                                         і
і   Top Left          і Полоса прокрутки выводится в верхнем ле-і
і   (верхний левый)   і вом углу прямоугольника.                і
і                     і                                         і
і   Bottom Right      і Полоса прокрутки выводится в нижнем пра-і
і   (нижний правый)   і вом углу прямоугольника.                і
АДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

                        Блоки списка
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

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

     Блоки списка часто выводятся в диалоговом окне File Open.

                     Files:
                    ЪДДДДДДДДДДДДДДДДДДДДДВДї
                    іkatznjmr.ico         і^і
                    іkitty.ico            ГДґ
                    іledger2.ico          і±і
                    іledger3.ico          іІі
                    іledger4.ico          і±і
                    іlgricons.ico         і±і
                    іmouse.ico            ГДґ
                    іnetmail.ico          іvі
                    АДДДДДДДДДДДДДДДДДДДДДБДЩ

     Рис. 4.17 Блок списка в диалоговом окне File Open

     Если размер  списка  элементов превышает длину блока списка,
вы можете добавить в блок списка полосу прокрутки.

     Кроме других описанных ранее параметров диалоговое окно List
Box Style имеет параметры Owner Drawing и List Box.

     Параметр Owner  Drawing (Отображение пользователя) определя-
ет, будет ли содержащийся  в  блоке  список  отображаться  блоком
списка или прикладной программой.  Выберите атрибуты из следующей
таблицы:

               Параметры отображения пользователя    Таблица 4.14
ЪДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і   Параметры         і Описание                                і
ГДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Not Owner         і Отображением   списка   управляет   блокі
і   Draw (не поль-    і списка.                                 і
і   зовательское      і                                         і
і   отображение       і                                         і
ГДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Fixed             і Прикладная  программа   отображает  блокі
і   (фиксированный)   і списка в ответ на сообщение WM_DRAWITEM.і
і                     і Прикладная программа отвечает  также  наі
і                     і сообщение WM_COMPAREITEM, WM_DELETEITEM,і
і                     і WM_MEASUREITEM.                         і
і                     і                                         і
і                     і Блок списка управляет передачей  сообще-і
і                     і ния WM_MEASUREITEM прикладной  программеі
і                     і только когда блок  списка  первоначальноі
і                     і отображается,  фиксируя  высоту элементаі
і                     і блока списка.                           і
ГДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Variable          і Прикладная  программа   отображает  блокі
і   (переменный)      і списка в ответ на сообщение WM_DRAWITEM.і
і                     і Прикладная программа отвечает  также  наі
і                     і сообщение WM_COMPAREITEM, WM_DELETEITEM,і
і                     і WM_MEASUREITEM.                         і
і                     і                                         і
і                     і Блок списка управляет передачей  сообще-і
і                     і ния WM_MEASUREITEM прикладной  программеі
і                     і для каждого элемента списка. Каждый эле-і
і                     і мент  списка может иметь различную высо-і
і                     і ту.                                     і
ГДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Has Strings       і Если   вы  выбрали  параметр  Fixed  илиі
і   (имеет строки)    і Variable,  блок  списка  сохраняет тексті
і                     і каждого элемента   списка   в  сообщенииі
і                     і LB_INSERTSTRING или  LB_ADDSTRING.  Блокі
і                     і списка  может  также  получать  элементыі
і                     і списка из сообщения LB_GETTEXT.         і
АДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     Параметры блока  списка позволяют вам выполнить его дальней-
шее определение.  Выберите один или более параметров из следующей
таблицы:

                     Параметры блока списка          Таблица 4.15
ЪДДДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і   Параметр             і Описание                             і
ГДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Notify               і Когда пользователь щелкает на элемен-і
і   (уведомление)        і те списка  кнопкой  "мыши",  посылаеті
і                        і порождающему окну сообщение ввода (поі
і                        і умолчанию).                          і
і                        і                                      і
ГДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Sort                 і Сортирует список в алфавитном  поряд-і
і   (сортировка)         і ке.                                  і
і                        і                                      і
ГДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Multiple Select      і Позволяет пользователю выбирать болееі
і   (множественный       і одно элемента за один раз.  Пользова-і
і   выбор)               і тель может также включать и выключатьі
і                        і отдельные элементы.                  і
і                        і                                      і
ГДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Don't Redraw         і Предотвращает  повторное  отображениеі
і   (не нужно повтор-    і блока списка при его изменении.      і
і   ного отображения)    і                                      і
і                        і                                      і
ГДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Tab Stops            і Организует информацию в блоке  спискаі
і   (позиции табуляции)  і по   столбцам.  По  умолчанию  ширинаі
і                        і столбца равна 32  диалоговым единицамі
і                        і или 8 символам.  Вы можете для форма-і
і                        і тирования текста использовать символыі
і                        і Tab (\x09).                          і
і                        і                                      і
і                        і (Если вы   хотите   изменить   ширинуі
і                        і столбца,  прикладная программа  уста-і
і                        і навливает  свои  собственные  позицииі
і                        і табуляции   с    помощью    сообщенияі
і                        і LB_SETTABSTOPS.)                     і
і                        і                                      і
ГДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Integral Height      і Приводит к тому, что во время  выпол-і
і   (Полная высота)      і нения высота блока списка  будет  из-і
і                        і меняться - область пользователя будеті
і                        і достаточно велика для  полного выводаі
і                        і элементов (по умолчанию).            і
і                        і                                      і
і                        і Если параметр  Integral  Height уста-і
і                        і новлен,  и размер блока списка  нужноі
і                        і изменить, чтобы вывести элементы пол-і
і                        і ностью,  блок  списка  уменьшается  ві
і                        і размере.  Например, во время выполне-і
і                        і ния полностью выводятся три элемента,і
і                        і но еще один элемент вмещается не пол-і
і                        і ностью,  то блок  списка  уменьшится,і
і                        і так  что  выводиться будут только триі
і                        і элемента.                            і
і                        і                                      і
ГДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Multi Column         і Позволяет пользователю  горизонтальноі
і   (несколько столбцов) і прокручивать блок списка для работы сі
і                        і несколькими столбцами.               і
і                        і                                      і
і                        і Если вы  включите  данный   параметр,і
і                        і прикладная  программа должна передатьі
і                        і сообщение LB_SETCOLWIDTH, чтобы уста-і
і                        і новить  ширину  столбца  в  элементахі
і                        і изображения.                         і
і                        і                                      і
ГДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Pass Keyboard Input  і Передает то, что пользователь набира-і
і   (передача ввода с    і ет на клавиатуре.                    і
і   клавиатуры)          і                                      і
і                        і                                      і
ГДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Extend Select        і Когда  данный  параметр  используетсяі
і   (расширенный выбор)  і для блока списка с множественным  вы-і
і                        і бором, данный  атрибут   модифицируеті
і                        і характер  выделения пользователем бо-і
і                        і лее одного элемента в списке.        і
і                        і                                      і
АДДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

        Редактируемые текстовые управляющие элементы
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Редактируемый текстовый  управляющий элемент позволяет поль-
зователю вводить с клавиатуры текст.  Обычно эти управляющие эле-
менты применяются в диалоговом окне File Open.

     ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
     і±±±±±±±±±±±±ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДїі
     і±±File±name±і*.rc                                        іі
     і±±±±±±±±±±±±АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩі
     АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     Рис. 4.18 Редактируемый текстовый управляющий элемент диало-
гового окна File Open

     Чтобы настроить редактируемый текстовый управляющий элемент,
дважды щелкните на нем кнопкой "мыши". При этом выводится диалого-
вое окно Edit Text Style (Тип редактируемого  текстового  элемен-
та).

     Данное диалоговое окно включает в себя общие параметры и уп-
равляющие атрибуты,  перечисленные в таблицах,  начиная с таблицы
4.4, а также следующие параметры:

     - Justification (выравнивание);
     - Automatic Scroll (автоматическая прокрутка);
     - Line (строка);
     - Case (регистр символов);
     - Other (прочие).

     Параметр Justification (выравнивание) определяет,  как наби-
рается текст в текстовом элементе и как выводится текст.

                     Параметры выравнивания          Таблица 4.16
ЪДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і   Параметр    і Описание                                      і
ГДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Left        і Текст из нескольких строк выравнивается слева.і
і   (слева)     і                                               і
і               і                                               і
і   Right       і Текст из нескольких строк выравнивается  спра-і
і   (справа)    і ва.                                           і
і               і                                               і
і   Center      і Центрирует текст из нескольких строк.         і
і   (центриро-  і                                               і
і   вание)      і                                               і
і               і                                               і
АДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     Параметр Automatic Scroll управляет автоматической  прокрут-
кой.

               Параметры автоматической прокрутки    Таблица 4.17
ЪДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і   Параметр         і Описание                                 і
ГДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Horizontal       і Когда пользователь набирает символ у пра-і
і   (горизонтальная) і вого края границы  редактируемого текста,і
і                    і текст автоматически прокручивается на  10і
і                    і символов вправо. Когда пользователь нажи-і
і                    і мает клавишу Enter, текст  прокручиваетсяі
і                    і обратно к нулевой позиции.               і
і                    і                                          і
ГДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Vertical         і Когда пользователь нажимает клавишу Enterі
і   (вертикальная)   і на последней строке редактируемого управ-і
і                    і ляющего  элемента,  текст  прокручиваетсяі
і                    і вверх на полную страницу.  Например, еслиі
і                    і управляющий элемент имеет  размер  в пятьі
і                    і строк, нажатие на последней строке клави-і
і                    і ши Enter  приводит к  прокрутке  на  пятьі
і                    і строк вверх. Курсор возвращается к  верх-і
і                    і ней строке.                              і
і                    і                                          і
і                    і Чтобы этот параметр действовал, вы должныі
і                    і также задать, что редактируемый управляю-і
і                    і щий текстовый элемент  может  состоять изі
і                    і нескольких строк.                        і
і                    і                                          і
АДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     Параметр Line (строка) определяет,  можно ли в редактируемом
текстовом управляющем элементе вводить несколько строк  или одну.

                         Параметры Line              Таблица 4.18
ЪДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і   Параметр          і Описание                                і
ГДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Single Line       і Ограничивает   редактируемый   текстовыйі
і   (одна строка)     і элемент одной строкой.                  і
і                     і                                         і
ГДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Multiple Line     і Позволяет пользователю вводить текст  изі
і   (несколько строк) і нескольких строк. (Возможно вы  захотитеі
і                     і выбрать характер прокрутки  текста.  См.і
і                     і параметр Vertical Automatic Scroll.)    і
і                     і                                         і
АДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     Параметры Case (регистр символов) определяет, будет в редак-
тируемом текстовом управляющем элементе текст вводится  в верхнем
регистре, в нижнем регистре или без изменения (как вводится).

                         Параметры Case              Таблица 4.19
ЪДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і   Параметр         і Описание                                 і
ГДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Case Insensitive і Текст выводится также,  как  он  вводитсяі
і   (регистр не      і (по умолчанию).                          і
і   различается)     і                                          і
і                    і                                          і
ГДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Upper Case       і Весь текст выводится в  верхнем  регистреі
і   (верхний регистр)і независимо от того, как он вводится.     і
і                    і                                          і
ГДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Lower Case       і Весь текст выводится в  нижнем   регистреі
і   (нижний регистр) і независимо от того, как он вводится.     і
і                    і                                          і
АДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     Приведем еще три параметра, доступные в редактируемом управ-
ляющем элементе:

                        Другие параметры             Таблица 4.20
ЪДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і   Параметр         і Описание                                 і
ГДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Password         і Когда  этот  параметр  установлен,  выводі
і   (пароль)         і каждой буквы при ее  наборе  подавляется.і
і                    і вместо этого на ее месте выводится  звез-і
і                    і дочка. Это полезно использовать при вводеі
і                    і пароля и другой секретной информации.    і
і                    і                                          і
ГДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Convert OEM      і Преобразует текст, набранный в  управляю-і
і   (преобразование  і щем элементе  в  текущий  набор  символові
і   OEM)             і OEM, после чего текст  преобразуется  об-і
і                    і ратно в ANSI. Этот параметр  полезно  ис-і
і                    і пользовать в блоках  ввода,  так  как  оні
і                    і обеспечивает, что введенное имя файла бу-і
і                    і дет преобразовываться  в  набор  символові
і                    і OEM, который используется в файловой сис-і
і                    і теме DOS.                                і
і                    і                                          і
ГДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Keep Selection   і Подсвечивает выделенный текст, даже когдаі
і   (сохранение      і данный управляющий  элемент  не  являетсяі
і   выделения)       і текущим. Предположим, например, что поль-і
і                    і зователь  подсвечивает  половину  текста,і
і                    і выведенную в редактируемом текстовом эле-і
і                    і менте. Обычно  когда пользователь переме-і
і                    і щается к другому  управляющему  элементу,і
і                    і текст больше не  подсвечивается.  Если выі
і                    і хотите,  чтобы пользователь видел подсве-і
і                    і ченный  текст  даже  при работе с другимиі
і                    і управляющими элементами,  выберите данныйі
і                    і параметр.                                і
і                    і                                          і
АДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

              Статические управляющие элементы
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     В статических управляющих элементах выводится текст или гра-
фика,  которую пользователь изменить не может. Статические управ-
ляющие элементу можно использовать, чтобы отмечать части диалого-
вого окна, или для графического представления информации.

     Статический управляющий  элемент  в палитре инструментальных
средств включает в себя:

     - статический текст;
     - пиктограмму;
     - рамку;
     - прямоугольную область.

     Настроить статические  управляющие  элементы вы можете с по-
мощью диалогового окна Static Style (Тип  статического элемента).
Это диалоговое окно выводится,  если дважды щелкнуть кнопкой "мы-
ши" на статическом элементе а диалоговом окне.

     Диалоговое окно Static Style выключает в себя общие и управ-
ляющие параметры,  описанные в приведенных выше таблицах (начиная
с Таблицы 4.4),  а также несколько параметров,  специфических для
статических управляющих элементов.

     Для статического управляющего элемента,  представляющего со-
бой пиктограмму,  поле Caption (Заголовок) должно  содержать  имя
числового идентификатора  ресурса пиктограммы,  иначе пиктограмма
не выводится.  Если ресурс пиктограммы имеет имя,  введите имя  и
выберите параметр  Text.  Если ресурс пиктограммы имени не имеет,
то введите имя и выберите параметр Number.  (Более  подробно  см.
далее.)

     Кнопка с   независимой  фиксацией  (параметр)  No  Character
Underline (Подчеркивания  символов  отсутствует)  позволяет   вам
включить или выключить подчеркивание. Если ваш статический управ-
ляющий элемент включает в себя текст,  вы можете подчеркнуть сим-
вол, указав перед ним символ &.  Если вы хотите запретить подчер-
кивание, выберите   параметр   No   Character   Underline.   Если
подчеркивание требуется, отмените данный параметр.

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

             Параметры типа управляющего элемента    Таблица 4.21
ЪДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і   Параметр         і Описание                                 і
ГДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Left Text        і Текст выводится слева в границах управля-і
і   (текст слева)    і ющего элемента (по умолчанию). При  нали-і
і                    і чии нескольких строк текста слова,  выхо-і
і                    і дящие за  строку,  переносятся  не другуюі
і                    і строку.                                  і
і                    і                                          і
ГДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Left Text -      і Текст выводится слева в  границах  управ-і
і   No Wrap (текст   і ляющего элемента. При наличии  несколькихі
і   слева без        і строк текста данный параметр автоматичес-і
і   переноса)        і ки запрещает перенос слов.  строки  нужноі
і                    і заканчивать символом возврата каретки.   і
і                    і                                          і
ГДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Centered Text    і Тест выводится по центру в  границах  уп-і
і   (сцентрированный і равляющего элемента. При наличии несколь-і
і   текст)           і ко  строк  текста  слова,   выходящие  заі
і                    і строку, переносятся не другую строку.    і
і                    і                                          і
ГДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Right Text       і Текст выводится справа в границах  управ-і
і   (текст справа)   і ляющего элемента. При наличии нескольких і
і                    і строк текста слова,  выходящие за строку,і
і                    і переносятся не другую строку.            і
і                    і                                          і
ГДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Simple Text      і Выводится одна строка текста  со  сдвигомі
і   (простой текст)  і влево.                                   і
і                    і                                          і
ГДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   White Rectangle  і Выводится заполненный  прямоугольник, ко-і
і   (белый           і торый будет невидимым,  так как он  имееті
і   прямоугольник)   і тот же цвет, что и  фоновый цвет текущегоі
і                    і окна. По умолчанию Windows использует дляі
і                    і текущего окна белый цвет.                і
і                    і                                          і
ГДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Gray Rectangle   і Выводит закрашенный  прямоугольник,  цветі
і   (серый           і которого  совпадает   с  текущим  фоновымі
і   прямоугольник)   і цветом экрана  (оперативной области).  Поі
і                    і умолчанию Windows использует для текущегоі
і                    і окна белый цвет.                         і
і                    і                                          і
ГДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Black Rectangle  і Выводит закрашенный  прямоугольник,  цветі
і   (черный          і которого  совпадает с  цветом рамки   те-і
і   прямоугольник)   і кущего окна. По умолчанию Windows исполь-і
і                    і зует для рамки черный цвет.              і
і                    і                                          і
ГДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   White Frame      і Выводит пустую рамку, которая  будет  не-і
і   (белая рамка)    і видима, так как она имеет  тот  же  цвет,і
і                    і что и фон  текущего  окна.  По  умолчаниюі
і                    і Windows использует для фонового цвета бе-і
і                    і лый цвет.                                і
і                    і                                          і
ГДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Gray Frame       і Выводит пустую рамку, имеющую цвет  теку-і
і   (серая рамка)    і щего фона  экрана (оперативной  области).і
і                    і по умолчанию Windows использует для  опе-і
і                    і ративной области серый цвет.             і
і                    і                                          і
ГДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Black Frame      і Выводит рамку с  тем  же  цветом, что  и і
і   (черная рамка)   і цвет рамки текущего окна.  По  умолчанию і
і                    і Windows использует для цвета рамки  чер- і
і                    і ный цвет.                                і
і                    і                                          і
ГДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Icon             і Выводит пиктограмму. Для запуска  графи- і
і   (пиктограмма)    і ческого редактора,  с  помощью  которого і
і                    і можно редактировать пиктограмму, исполь- і
і                    і зуйте команду Edit Icon.                 і
і                    і                                          і
АДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     Статические управляющие элементы в виде пиктограмм
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Пакет разработчика  ресурсов  позволяет  выводить в диалого-
вом окне пиктограммы. Чтобы поместить в диалоговом окне такой уп-
равляющий элемент, нужно сделать следующее:

     1. Дважды щелкните кнопкой "мыши" на статическом управляющем
        элементе-пиктограмме для вывода диалогового  окна  Static
        Style.

     2. В  поле  Caption  (Заголовок)  наберите  имя или числовой
        идентификатор ресурса пиктограммы.  Если вы введете  имя,
        выберите параметр Text. Например, если в файле у вас есть
        пиктограмма с именем GLOBE,  которую вы хотите вывести  в
        диалоговом  окне,  наберите  в поле ввода Caption GLOBE и
        выберите кнопку с зависимой фиксацией Text. Затем выбери-
        те OK. Пиктограмма появится в диалоговом окне.

        Не забывайте  о том что,  если ввели идентификатор в поле
        Caption, следует выбрать параметр Number, так как при вы-
        числении идентификатора получается число.

     3. Если  вы  хотите редактировать пиктограмму,  снова дважды
        щелкните не ней кнопкой "мыши",  чтобы вывести диалоговое
        окно Statis Style.  Теперь кнопка Edit Icon (Редактирова-
        ние пиктограммы) разрешена.  Для запуска графического ре-
        дактора,  который позволит вам редактировать пиктограмму,
        щелкните на ней кнопкой "мыши".

     Управляющие элементы в виде комбинированных блоков
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

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

                   ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДї
         File type і                                          іvі
                   АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБНЩ

     Рис. 4.19 Комбинированный блок диалогового окна File Open

     Настроить диалоговый элемент можно с помощью диалогового ок-
на Combo Box Style (Тип комбинированного элемента).  Это диалого-
вое окно  выведется,  если  дважды  щелкнуть  кнопкой  "мыши"  на
комбинированным блоке в диалоговом окне.

     Определить комбинированный блок позволяют вам параметры  ти-
па. Выберите один из следующих параметров:

                Параметры комбинированного блока     Таблица 4.22
ЪДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і   Параметр        і Описание                                  і
ГДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Simple          і Выпадающий список всегда  расширяется  дляі
і   (простой)       і вывода элементов в списке, и  пользовательі
і                   і может редактировать  элементы  списка  (поі
і                   і умолчанию).                               і
і                   і                                           і
ГДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Drop Down       і При первоначальном выводе диалогового окнаі
і   (выпадающий)    і комбинированный блок из  одной  строки ре-і
і                   і дактируемого текста.  Чтобы расширить спи-і
і                   і сок, пользователь может щелкнуть на стрел-і
і                   і ке вниз и редактировать все элементы спис-і
і                   і ка.                                       і
і                   і                                           і
ГДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Drop Down List  і Работает, как параметр  Drop Down, но спи-і
і   (выпадающий     і сок является статическим. Пользователь мо-і
і   список)         і жет выделять элементы списка,  но не можеті
і                   і их изменять.                              і
і                   і                                           і
АДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

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

                     Параметры отображения           Таблица 4.23
ЪДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і  Параметр       і Описание                                    і
ГДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і  No             і Выводом списка управляет элемент  списка (поі
і  (отсутствует)  і умолчанию).                                 і
ГДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і  Fixed          і Прикладная программа отображает блок  спискаі
і  (фиксированный)і в ответ на сообщение WM_DRAWITEM. Прикладнаяі
і                 і программа может также отвечать  на сообщенияі
і                 і WM_DELETEITEM,        WM_COMPAREITEM       иі
і                 і WM_MEASUREITEM.                             і
і                 і                                             і
і                 і Блок списка  посылает  прикладной  программеі
і                 і сообщение WM_MEASUREITEM только при первона-і
і                 і чальном выводе блока  списка.  Размер  блокаі
і                 і списка фиксируется.                         і
ГДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і  Variable       і Прикладная программа отображает блок  спискаі
і  (переменный)   і в ответ на сообщение WM_DRAWITEM. Прикладнаяі
і                 і программа может также отвечать  на сообщенияі
і                 і WM_DELETEITEM,        WM_COMPAREITEM       иі
і                 і WM_MEASUREITEM.                             і
і                 і                                             і
і                 і Блок списка  посылает  прикладной  программеі
і                 і сообщение WM_MEASUREITEM для каждого элемен-і
і                 і та блока списка. Таким образом, размер блокаі
і                 і списка может изменяться.                    і
ГДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і  Has Strings    і Если   вы   выбрали   параметры   Fixed  илиі
і  (со строками)  і Variable, блок списка  сохраняет  текст  дляі
і                 і каждого элемента   списка    с    сообщениемі
і                 і LB_SETTEXT.  Блок  списка может также извле-і
і                 і кать элементы списка из LB_GETTEXT.         і
АДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     Диалоговое окно  Combo Box Style включает в себя общие пара-
метры и управляющие атрибуты,  описанные в  таблицах,  начиная  с
Таблицы 4.4,  а  также  параметры,  специфические для управляющих
элементов комбинированного блока.

                  Атрибуты комбинированного блока    Таблица 4.24
ЪДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і   Параметр           і Описание                               і
ГДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Vertical Scroll    і Помещает в блок списка полосу  прокрут-і
і   (вертикальная      і ки.                                    і
і   прокрутка)         і                                        і
ГДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Sorted             і Автоматически сортирует блок  списка  ві
і   (отсортированный)  і алфавитном порядке.                    і
ГДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Integral Height    і Определяет размер блока списка на этапеі
і   (полная высота)    і выполнения, благодаря чему в  нем  пол-і
і                      і ностью выводятся  все  элементы  спискаі
і                      і (по умолчанию).  Если вам  нужно  точноі
і                      і управлять высотой блока списка, отмени-і
і                      і те данный параметр.                    і
ГДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   OEM Conversion     і Преобразует текст, который пользовательі
і   (преобразование    і набирает в блоке, в текущий набор  сим-і
і   в OEM)             і волов   OEM,  затем  вновь  преобразуеті
і                      і текст в  ANSI. Данный  параметр полезноі
і                      і использовать в блоках ввода, так как оні
і                      і обеспечивает,  что  любое введенное имяі
і                      і файла будет преобразовываться  в  наборі
і                      і символов  OEM,  который  используется ві
і                      і файловой системе DOS.                  і
ГДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   AutoHorizontаl     і Автоматически прокручивает текст влево,і
і   (автоматический    і когда его размер превышает  ширину  уп-і
і   горизонтальный)    і равляющего элемента.                   і
АДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

           Специализированные управляющие элементы
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Если вы хотите использовать управляющий элемент,  который не
относится ни к одному из предопределенных типов Windows 3.0, мож-
но воспользоваться специализированным управляющим элементом. Пре-
допределенные управляющие элементы,  описанные в данной главе вы-
ше,  такие как полосы прокрутки, блоки списка и командные кнопки,
называются стандартными управляющими элементами.  Они были разра-
ботаны фирмой Microsoft и являются частью Windows.  Специализиро-
ванные управляющие элементы, с другой стороны, относятся к любому
другому оконному классу,  который вы захотите включить в диалого-
вые окна.

     Существует два типа специализированных  управляющих  элемен-
тов: те,  которые  можете установить вы,  и те,  которые являются
специфическими для прикладной программы.  Устанавливаемые специа-
лизированные  управляющие  элементы нужно реализовывать с помощью
динамически компонуемой библиотеки.  Специализированные управляю-
щие элементы, специфические для прикладной программы, реализуются
самой прикладной программой.  Пакет разработчика ресурсов отобра-
жает их как серые блоки или пустые рамки.

                    Создание пользовательских
            специализированных управляющих элементов
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

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

  Установка библиотеки специализированных управляющих элементов
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Специализированные управляющие элементы записываются в файлы
DLL. Если  вы хотите добавить в окно специализированные управляю-
щие элементы,  вам понадобиться установить соответствующие  файлы
DLL.  Тогда специализированный управляющий элемент в этой библио-
теке DLL будет доступен, как любой другой стандартный управляющий
элемент.

     Чтобы установить файл DLL, содержащий библиотеку специализи-
рованных управляющих элементов, сделайте следующее:

     1. В редакторе  диалогов  выберите  команду  OptionsіInstall
        Control Library (ПараметрыіУстановка библиотеки управляю-
        щих элементов).  При этом выведется диалоговое  окно  New
        Control Library (Новая библиотека управляющих элементов).

     2. Задайте  файл  DLL специализированных управляющих элемен-
        тов.

     3. Выберите командную кнопку OK.

     Теперь управляющие элементы,  содержащиеся в файле DLL, дос-
тупны для вас, и вы можете добавить элемент в диалоговое окно.

     Вывод на экран специализированных управляющих элементов
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Перед тем,  как вы добавите  специализированные  управляющие
элементы в диалоговое окно,  нужно определить, как он будет выво-
дится в редакторе диалогов.  Чтобы увидеть, будут ваши диалоговые
блоки выводится  в  режиме  Draft  или  Normal,  выберите команду
OptionsіPreferences. Если выбран один из этих  параметров, иногда
полезно отменить параметр "Draw Custom Controls as Frames" (Вывод
специализированных управляющих элементов в виде рамок), благодаря
чему специализированный управляющий элемент можно представлять не
просто рамкой.

    Добавление специализированного управляющего элемента
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     После установки  файла  DLL,  содержащего специализированные
управляющие элементы,  вы сможете добавить в свое диалоговое окно
любой из этих специализированных управляющих элементов.  Для это-
го:

     1. Щелкните кнопкой "мыши" на специализированном управляющем
        элементе из палитры инструментальных средств или выберите
        команду ControlіCustom. При этом выводится диалоговое ок-
        но New Custom Control (Новый специализированный управляю-
        щий элемент).

ЪДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і - і               New custom control                          і
ГДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї  і
і і         ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДїЪДї    і  і
і і Class   і                                        ііvі    і  і
і і         АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩАНЩ    і  і
і АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ  і
і ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±  і
і ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±  і
і ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±  і
і ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±  і
і ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±  і
і ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±  і
і ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±  і
і ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±  і
і ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±  і
ГДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   ЪДДДДДДДДДДДї         ЪДДДДДДДДДДДї       ЪДДДДДДДДДДДї     і
і   і  _        і±        і           і±      і           і±    і
і   і V  OK     і±        і X  Cancel і±      і ?  Help   і±    і
і   АДДДДДДДДДДДЩ±        АДДДДДДДДДДДЩ±      АДДДДДДДДДДДЩ±    і
і     ±±±±±±±±±±±±          ±±±±±±±±±±±±        ±±±±±±±±±±±±    і
і                                                               і
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     Рис. 4.14 Диалоговое окно Form controls into an array

     New custom  control  -  новый специализированный управляющий
элемент;  Class - класс; OK - выполнение; Cancel - отмена; Help -
справка.

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

     3. Когда  вы  выделите нужный специализированный управляющий
        элемент, выберите командную кнопку OK. Курсор "мыши" при-
        нимает форму, показывающую, что можно размещать специали-
        зированный управляющий элемент.

     4. Щелкните кнопкой "мыши" в том месте диалогового окна, где
        вы  хотите разместить специализированный управляющий эле-
        мент.

                  Проверка диалогового окна
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

                            ЪДДДДДДДДДДї
                            і          і
                            і  Test    і  Проверка
                            і          і
                            АДДДДДДДДДДЩ

     Проверку вашего  диалогового  окна облегчает редактор диало-
гов, благодаря чему вы можете видеть все внесенные изменения. Вы-
берите пиктограмму "Проверка" из палитры инструментальных средств
или команду OptionsіTest Dialog (ПараметрыіПроверка диалога).

     После этого вы можете нажимать клавишу Tab и  клавиши  стре-
лок, чтобы увидеть как можно перемещаться в диалоговом окне, либо
набрать текст и посмотреть,  как будет прокручиваться текст в ре-
дактируемом управляющем элементе. Посмотрите, расположены ли ваши
управляющие элементы в нужном порядке.

     Когда вы проверяете диалоговое окно,  в строке  сообщения  в
нижней части экрана выводится сообщение Test.

     Когда вы захотите выйти из режима проверки, выберите команду
OptionsіTest Dialog (ПараметрыіПроверка диалога).

                 Сохранение диалогового окне
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     В процессе работы полезно сохранять диалоговые окна,  не до-
жидаясь, пока Пакет разработчика ресурсов выведет  вам  подсказку
при закрытии  проекта.  Сохранить внесенные изменения вы можете с
помощью двух основных параметров. Вы можете:

     - сохранить весь проект;
     - сохранить диалоговое окно в записи файла ресурсов (.DLG).

                     Сохранение проекта
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Чтобы сохранить  весь  проект,  выберите  команду  FileіSave
Project (ФайліСохранение  проекта).  Пакет  разработчика ресурсов
компилирует ресурсы, которые изменены со времени последней компи-
ляции, и сохраняет их в файле проекта.  Он также обновляет диало-
говое окно во внешнем файле записей диалогового ресурса.

             Сохранение диалогового окна в файле
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Вы можете сохранить ресурсы диалогового окна в файлах  запи-
сей диалоговых ресурсов (обычно эти файлы имеют расширение .DLG).
Диалоговый файл обычно содержит записи, определяющие один или бо-
лее  ресурсов  в  виде диалоговых окон,  но может содержать также
другие ресурсы. Если вы добавляете к проекту диалоговое окно, Па-
кет  разработчика ресурсов автоматически добавляет в окно проекта
ссылку rcinclude, которая ссылается на диалоговый файл.

     Файл .rc содержит текст записей ресурса для
     одного или более диалоговых  окон, он может
     также  содержать  ссылки RCINCLUDE на файлы
     .DLG.

     ЪДДДДДДДДДДДДї                      ЪДДДДДДДДДДДДДДї
     і myproj.rc  і   ЪДДДДДДДДДДДДДДДДДДґ first.dlg    і
     і .......... і   і Каждый файл .DLG і ............ і
     і .......... і   і содержит исход-  і ............ і
     і ..........ДЕДДДЩ ные записи для   і ............ і
     і .......... і     одного или более і ............ і
     і ..........ДЕДДДї ресурсов.        і ............ і
     і .......... і   і                  і ............ і
     АДДДДДВДДДДДДЩ   і                  АДДДДДДДДДДДДДДЩ
           і          і                  ЪДДДДДДДДДДДДДДї
           і          АДДДДДДДДДДДДДДДДДДґ second.dlg   і
           і                             і ............ і
    ЪДДДДДДБДДДДДДДї                     і ............ і
    і myproj.h     і                     і ............ і
    і ............ і                     і ............ і
    і ............ і                     і ............ і
    і ............ і                     АДДДДДДДДДДДДДДЩ
    і ............ і  Для присваивания диалоговым окнам
    і ............ і  имен вы можете  использовать  оп-
    і ............ і  ределения #define файлов .H.
    і ............ і
    АДДДДДДДДДДДДДДЩ

     Рис. 4.21 Файл .RC ссылается на файлы .DLG и .H

     Чтобы сохранить  диалоговые окна в файле диалога .DLG, нужно
добавить файл диалога к проекту. После этого вы можете записывать
диалоговые окна при их создании в данном файле диалога. Чтобы до-
бавить файл диалога к файлу проекта и записать в  нем  новый  ре-
сурс, нужно сделать следующее:

     1. Выберите  команду  FileіAdd to Project (ФайліДобавление к
        проекту).  Выводится диалоговое окно Add to Project  (До-
        бавление к проекту).

     2. В выпадающем блока списка File Type (Тип файла), выберите
        DLG Resource Script.

     3. Наберите в диалоговом окне File Name новое имя файла.

     4. Выберите командную кнопку OK. Выводится диалоговый блок с
        сообщением:  "<имя_файла>  does  not  exist.  Create it?"
        ("файл 'имя_файла' не существует, создать его?").

     5. Выберите Yes (Да).

     В окно проекта добавляется оператор rcinclude.  Если  вы  не
видите его, выберите команду ViewіBy File (ПросмотріПо файлу).

ЪДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДВДї
і - і               New custom control                      іvі^і
ГДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДЕДґ
і myproj.rc                                                   іvі
і                                                             ГДґ
і                                                             іІі
і      pascal unit ch5const.pas                               і±і
і      MENU MENU_1                                            і±і
і      ACCELERATORS: ACCELERATORS                             і±і
і      ICON:ICON_1±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±і±і
і      rcinclude mydlgs.dlg                                   і±і
і                                                             і±і
і                                                             і±і
і                                                             і±і
і                                                             і±і
і                                                             і±і
і                                                             і±і
і                                                             ГДґ
і                                                             іvі
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДЩ

     Рис. 4.22 Окно проекта с оператором rcinclude для файла .DLG

     Вы создали пустой диалоговый файл.  Теперь вы можете создать
новое диалоговое окно и добавить его к файлу записей диалога.

     1. Выберите  команду ResourceіNew (РесурсіНовый).  Выводится
        новое диалоговое окно.

     2. Выберите файл записей диалога, который вы только что соз-
        дали, в комбинированном блоке "Place resource in".

     3. В блоке списка Resource Type (Тип ресурса) дважды щелкни-
        те кнопкой "мыши" на элементе DIALOG или  выберите DIALOG
        и активизируйте командную кнопку OK.

     В редакторе диалогов вы увидите новое диалоговое окно, кото-
рое вы можете настраивать с помощью управляющих  элементов. Когда
вы выполните  настройку  диалогового  окна и выйдите из редактора
диалогов, то увидите,  что запись DIALOG в окне проекта выровнена
под оператором rcinclude для файла .DLG.

                Просмотр двух диалоговых окон
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Пакет разработчика ресурсов  предоставляет  вам  возможность
одновременно выводить  на экран два диалоговых окна для их однов-
ременного просмотра или сравнения.

     Чтобы просматривать два диалоговых окна, сделайте следующее:

     1. В окне проекта щелкните кнопкой "мыши" на одном из диало-
        говых  окон,  которое вы хотите просмотреть.  Запускается
        редактор диалогов,  который выводит данное диалоговое ок-
        но.

     2. Щелкните   кнопкой  "мыши"  на  палитре  инструментальных
        средств или выберите команду OptionsіTest  Dialog  (Пара-
        метрыіПроверка диалога).

     3. Щелкните кнопкой "мыши" в редакторе диалога на кнопке ми-
        нимизации. Редактор диалогов не будет сжиматься в пиктог-
        рамму,  как можно было бы ожидать. Вместо этого ваше диа-
        логовое  окно  станет  плавающим  безрежимным  диалоговым
        окном, которое вы можете перемещать по своему усмотрению.

     4. Вернитесь  в  окно  проекта  и щелкните кнопкой "мыши" на
        втором диалоговом окне,  которое вы хотите редактировать.
        Запускается второй диалоговый редактор.

     5. Снова  щелкните  кнопкой "мыши" на пиктограмме "Проверка"
        палитры инструментальных  средств  или  выберите  команду
        OptionsіTest Dialog во втором диалоговом редакторе.

     6. Щелкните кнопкой "мыши" на кнопке минимизации второго ди-
        алогового окна.

     Теперь у вас есть два диалоговых  окна,  которые  вы  можете
разместить рядом.

               Настройка диалогового редактора
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Пакет разработчика ресурсов позволяет вам изменять некоторые
характеристики работы редактора диалогов.  Для вывода диалогового
окна   Preferences   (Параметры)   выберите   команду    Optionsі
Preferences.

ЪДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і - і                      Preferences                          і
ГДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і Status line units    Selection border    Drawing type         і
і ЪДДДДДДДДДДДДДДДДДДїЪДДДДДДДДДДДДДДДДДДїЪДДДДДДДДДДДДДДДДДДї  і
і і <* Dialog        іі <* Thick frame   іі >  Draft         і  і
і і                  іі                  іі                  і  і
і і >  Screen        іі >  Handles       іі >  Normal        і  і
і і                  іі                  іі                  і  і
і і                  іі                  іі <* WYSIWYG       і  і
і АДДДДДДДДДДДДДДДДДДЩАДДДДДДДДДДДДДДДДДДЩАДДДДДДДДДДДДДДДДДДЩ  і
і                                                               і
і  Selection Options                                            і
іЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї   і
іі ЪДї                                                      і   і
іі і і   Select near border                                 і   і
іі АДЩ                                                      і   і
іі ЪДї                                                      і   і
іі і і   Selection rectange surrounds                       і   і
іі АДЩ                                                      і   і
іАДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ   і
іЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї   і
іі ЪДї                                                      і   і
іі іVі   Generate CONTROL statement only                    і   і
іі АДЩ                                                      і   і
іі ЪДї                                                      і   і
іі і і   Draw custom controls as frames                     і   і
іі АДЩ                                                      і   і
іАДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ   і
ГДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   ЪДДДДДДДДДДДї         ЪДДДДДДДДДДДї       ЪДДДДДДДДДДДї     і
і   і  _        і±        і           і±      і           і±    і
і   і V  OK     і±        і X  Cancel і±      і ?  Help   і±    і
і   АДДДДДДДДДДДЩ±        АДДДДДДДДДДДЩ±      АДДДДДДДДДДДЩ±    і
і     ±±±±±±±±±±±±          ±±±±±±±±±±±±        ±±±±±±±±±±±±    і
і                                                               і
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     Рис. 4.23 Диалоговое окно Preferences

     Preferences - параметры;  Status line units - единицы строки
состояния; Selection border - рамка выбора;  Drawing type  -  тип
отображения; Dialog - диалог; Thick frame - жирная рамка; Draft -
схемам;  Screen - экран; Handles - описатели; Normal - нормальный
Selection  Options  -  параметры  выделения;  Select near border;
Selection rectange surrounds - прямоугольники выделения; Generate
CONTROL  statement  only  - генерировать только оператор CONTROL;
Draw custom controls as frames - в качестве рамок выводить специ-
ализированные управляющие элементы; OK - выполнение; Cancel - от-
мена; Help - справка

               Параметры Status line units           Таблица 4.25
ЪДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і   Единица          і Описание                                 і
ГДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Dialog           і В качестве единицы измерения строки  сос-і
і   (диалог)         і тояния используется  единица  диалога.  Ві
і                    і единице диалога y = 1/8 высоты  шрифта, xі
і                    і = 1/4 ширины шрифта.                     і
і                    і                                          і
ГДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Screen           і В качестве единицы измерения строки  сос-і
і   (экран)          і тояния используется элемент изображения. і
і                    і                                          і
АДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     Параметр Selection Border (Рамка выбора) позволяет вам изме-
нить внешний вид рамки, которая окружает выделенные вами управля-
ющие элементы.

                   Параметры Selection Border        Таблица 4.26
ЪДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і   Параметр        і Описание                                  і
ГДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Thick frame     і Рамка выбора выводится в виде жирной  рам-і
і   (жирная рамка)  і ки вокруг выделенных  управляющих  элемен-і
і                   і тов (по умолчанию).                       і
і                   і                                           і
ГДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Handles         і Рамки выбора выводятся в виде рамки вокругі
і   (описатели)     і выделенных управляющих элементов с  описа-і
і                   і телями.                                   і
і                   і                                           і
АДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     На языке записей ресурсов каждый тип  управляющего  элемента
имеет уникальный синтаксис. Например, сцентрированный статический
текст использует оператор CTEXT. В операторе CONTROL, однако, мо-
жет задаваться любой тип диалогового окна.  Если вы хотите, чтобы
Пакет разработчика ресурсов генерировал только  операторы CONTROL
в записях ресурсов вместо специализированных диалоговых управляю-
щих элементов,  выберите параметр Generate CONTROL statement only
(Генерировать только оператор CONTROL).

     Параметр Drawing Type (Тип отображения) определяет, как эле-
менты диалогового окна выводятся в диалоговом редакторе.

                     Параметры Drawing Type          Таблица 4.27
ЪДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і   Параметр          і Описание                                і
ГДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Draft             і Отображает управляющие  элементы в  видеі
і   (схема)           і прямоугольников с  порядковым  номером ві
і                     і центре. Использование данного типа отоб-і
і                     і ражения  представляет собой увидеть точ-і
і                     і ные размеры управляющих элементов.      і
і                     і                                         і
ГДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Normal            і Моделирует отображение управляющего эле-і
і   (нормальный)      і мента. Это  параметр  наиболее  быстрогоі
і                     і отображения, но  специализированные  уп-і
і                     і равляющие элементы  выводятся  только  ві
і                     і виде серых блоков.                      і
і                     і                                         і
ГДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   WYSIWYG           і Когда выбран данный параметр, Пакет раз-і
і                     і работчика  ресурсов  создает  диалоговыеі
і                     і окна, а управляющие дочерние окна и  уп-і
і                     і равляющие элементы отображают себя сами.і
і                     і Данный параметр  работает  медленно,  ноі
і                     і более точно. Устанавливаемые специализи-і
і                     і рованные управляющие элементы  отобража-і
і                     і ются сами. Этот параметр используется поі
і                     і умолчанию.                              і
і                     і                                         і
АДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     Параметры Selection  (Выбор)  определяют,  как  ведут   себя
средства выделения,  когда  вы выбираете управляющие элементы для
настройки.

                       Параметры Selection           Таблица 4.28
ЪДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і   Параметр           і Описание                               і
ГДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Select Near Border і Когда установлен данный  параметр,  дляі
і   (выделение в       і выбора управляющего  элемента вы должныі
і   ближней границе)   і щелкать кнопкой "мыши" очень  близко  кі
і                      і рамке. Если  данный параметр не выбран,і
і                      і то щелчок кнопкой "мыши" в окрестностяхі
і                      і управляющего  элемента  приведет  к егоі
і                      і выбору.  При работе с управляющими эле-і
і                      і ментами, выбираемыми на ближнем рассто-і
і                      і янии, иногда желательно включить данныйі
і                      і параметр, что обеспечивает более точноеі
і                      і управление и позволяет избежать непред-і
і                      і намеренного выбора.                    і
і                      і                                        і
ГДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Selection rectangleі Когда  установлен данный  параметр,  выі
і   (выделение в       і должны  полностью заключить  выделяемыйі
і   прямоугольнике)    і элемент в  рамку  выбора.  Если  данныйі
і                      і параметр не установлен, и прямоугольникі
і                      і выбора  окружает только часть управляю-і
і                      і щего элемента,  то он выбран не  будет.і
і                      і При  работе  с управляющими элементами,і
і                      і выбираемыми  на   ближнем   расстоянии,і
і                      і иногда желательно включить данный пара-і
і                      і метр, что обеспечивает более точное уп-і
і                      і равление и позволяет избежать непредна-і
і                      і меренного выбора.                      і
і                      і                                        і
АДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

                       Пример проекта
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Пакет разработчика ресурсов поставляется с  примером проекта
RWPDEMO.RC, который  даст  вам возможность почувствовать работу с
редактором диалогов. Выполните следующие шаги:

     1. Выберите команду FileіOpen Project (ФайліОткрытие  проек-
        та).

     2. Используйте  диалоговое  окно Open File (Открытие файла),
        чтобы найти и открыть файл RWPDEMO.RC, поставляемый с Па-
        кетом разработчика ресурсов.

        В блоке  File  Type  (Тип  файла)  выберите  RC  Resource
        Script,  затем используйте блоки списка Files  (Файлы)  и
        Directories (Каталоги), чтобы найти файл RWPDEMO.RC. Либо
        вы можете ввести полное имя файла в поле ввода  File Name
        (Имя файла).

        После открытия файла RWPDEMO.RC увидите окно проекта.

ЪДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДВДї
і - і                rwpdemo.rc                             іvі^і
ГДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДЕДґ
і±BITMAP±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±іvі
і    BITMAP_1                                                 ГДґ
і    bmp_StatusLine                                           іІі
і MENU                                                        і±і
і    men_Main                                                 і±і
і DIALOG                                                      і±і
і    DIALOG_5                                                 і±і
і    dlg_Open                                                 і±і
і    dlg_SaveAs                                               і±і
і                                                             ГДґ
і                                                             іvі
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДЩ

     Рис. 4.24 Окно проекта для файла RWPDEMO

     3. В окне проекта дважды щелкните кнопкой "мыши"в записи dgl
        _Open.

        Теперь увидите редактор диалогов с определенным в нем ди-
        алоговым окном Open (Открытие).

ЪДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДВДДї
і - і±±±±±±±±±±±±±±±±±Resource Workshop - rwpdemo.rc±±±±±±±іvіv і
ГДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДБВДґ
і=  File Edit Resource Control Options Window Help         і  і і
ГДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДДЕДДґ і
і - і±±±±±±±±±±±±±±±±±±±DIALOG: dgl_Open±±±±±±±±±±±±±±±±і vіv і і
ГДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДДБВДЕДґ
іЪДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї ЪДВДДДДДДДДДДДї і^і^і
іі=і             Open                     і і=і Caption   і ГДЕДґ
іГДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ ГДБДДДДДДДДДДДґ і±іІі
іі            ЪДДДДДДДДДДДДДДДДДДДДДДїЪДДїі ГДВДДДДДВДДДДДґ і±і±і
іі File name: і                      іі^vіі і=іAlignіToolsі і±і±і
іі            АДДДДДДДДДДДДДДДДДДДДДДЩАДДЩі ГДЕДВДВДЕДВДВДґ і±і±і
іі Path:                                  і і<і>і<і>і^іСіОі і±і±і
іі  Files              Directories        і ГДЕДЕДЕДЕДЕДЕДґ іІі±і
ііЪДДДДДДДДДДДДДДДДї ЪДДДДДДДДДДДДДДДДї   і іvі^іvі^іЧіКіѕі і±і±і
ііі                і і                і   і АДБДБДБДЕДЕДЕДґ і±і±і
ііі                і і                і   і         іGі"іxі і±і±і
ііі                і і                і   і         ГДЕДЕДґ і±і±і
ііі                і і                і   і         і1іХіёі і±ГДґ
ііАДДДДДДДДДДДДДДДДЩ АДДДДДДДДДДДДДДДДЩ   і         ГДЕДЕДґ і±іvі
ііЪOptionsДДДДДДДДДДДДДДДДДДДДДДДДДДДї    і         іTіГіUі і±ГДґ
ііі                                  і    і         ГДЕДЕДґ і±і і
ііі O Text      O Scribble  O Graph  і    і         іші:і і і±і і
ііАДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ    і         ГДЕДЕДґ і±і і
іі                                        і         іuі іфі і±і і
іі ±±±OK±±±   ±±±Cancel±±±±  ±±±±Help±±±± і         АДБДБДЩ ГДґ і
іАДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ                 іvі і
ГДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДЕДґ і
і<і±±±±±±±±±±±±±±±±±±±±±І±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±і>і і і
ГДБДДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДБДґ і
і Ready                   і Modify                            і і
АДДДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДЩ

     Рис. 4.25 Пример диалогового окна Open

     File -  файл;  Edit  -  редактирование;  Resource  - ресурс;
Control - управление;  Options - параметры;  Window - окно Help -
справка; Open - открытие; Caption - заголовок; Alignment - вырав-
нивание; Tools - инструментальные средства;  File name - имя фай-
ла; Path  -  маршрут;  Files  -  файлы;  Directories  - каталоги;
Options - параметры; Text - текст; Ready - готово; Modify - моди-
фикация.

        Обратите внимание  на  палитру инструментальных средств с
        правой стороны.  Она содержит различные типы  управляющих
        элементов, которые вы можете добавлять в создаваемые диа-
        логовые окна.

     4. Дважды щелкните кнопкой "мыши" в центре блока  списка под
        Files.

        Вы увидите диалоговое окно List Box Style (Тип окна спис-
        ка),  где вы можете задать более подробную информацию  об
        управляющих элементах,  являющихся блоками списка.  Заме-
        тим, что для данного блока списка выбрана полоса прокрут-
        ки.

        В общем  случае если вы хотите задать подробные параметры
        типа,  то можете дважды щелкнуть кнопкой "мыши" на  любом
        управляющем элементе диалогового окна. Если предпочитаете
        использовать клавиатуру,  то для выбора управляющего эле-
        мента используйте клавишу Tab,  затем нажмите Enter, либо
        воспользуйтесь  для  выбора  диалогового  окна   командой
        ControlіStyle (Управляющий элементіТип).

     5. Для закрытия диалогового окна List Box Style выберите ко-
        мандную кнопку Cancel.

     6. Если хотите,  можете немного поэкспериментировать. Дважды
        щелкните кнопкой "мыши" на другом управляющем элементе, и
        вы увидите, как выглядят другие диалоговые окна Style.

     7. Чтобы вывести для диалогового  окна  окно  Style,  дважды
        щелкните  кнопкой "мыши" на внешнем крае или строке заго-
        ловка окна.  Либо вы можете использовать клавишу Tab, за-
        тем нажать клавишу Enter, или выбрать для вывода диалого-
        вого окна команду ControlіStyle.

     8. Вы можете также проверить диалоговое окно,  чтобы  прове-
        рить,  как  оно будет работать во время выполнения.  Если
        открыто диалоговое окно Style, нужно сначала закрыть его.
        Щелкните кнопкой "мыши" на пиктограмме "Проверка" палитры
        инструментальных    средств    или    выберите    команду
        OptionsіTest Dialog (ПараметрыіПроверка диалога).

        Вы увидите проверочную версию диалогового окна.  Здесь вы
        можете поэкспериментировать, введя, например, текст в по-
        ле File Name, нажимая Tab, чтобы проверить перемещение по
        управляющим элементам,  и открыть меню  Control  в  левом
        верхнем углу.

        Чтобы выйти из режима проверки, нажмите клавишу Enter или
        Esc. Кроме того, из режима проверки вы можете выйти таким
        же образом, как пользователь выходит из диалогового окна:
        путем выбора командной кнопки OK или Cancel,  или  закрыв
        диалоговое окно с помощью управляющего меню Control и вы-
        бора команды Close (Закрытие).

        Чтобы выйти из проекта RWPDEMO.RC, выберите команду Fileі
        Close All (ФайліЗакрыть все).

              Создание нового диалогового окна
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Итак, вы увидели, как можно работать с существующим диалого-
вым окном.  Теперь вы увидите, как можно создать новое диалоговое
окно. Но перед этим нужно рассмотреть два вопроса:

     - В каком тип окна должно находиться диалоговое окно? Должно
       ли оно включать в себя заголовок в строке заголовка? Долж-
       но ли это быть всплывающее окно?  Нужно ли вам управляющее
       меню?

     - Какие типы управляющих элементом вам нужны?

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

     - Следует ли упорядочить элементы в диалоговом  окне,  после
       того как вы добавите в окно все нужные элементы? Смогут ли
       пользователи получить доступ ко всем управляющим элементам
       с помощью клавиши Tab?

     Предположим, вы  хотите  создать диалоговое окно,  в котором
пользователи могут набирать текст и выбирать пару параметров фор-
матирования. Это диалоговое окно выглядит следующим образом:

ЪДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і - і         Insert text dialog box                            і
ГДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і                                                               і
і            ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї                і
і            і Type your text here             і                і
і            АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ                і
і                                                               і
і            ЪДДFormatting choicesДДДДДДДДДДДДДї                і
і            і ЪДї                             і                і
і            і і і   Bold                      і                і
і            і АДЩ                             і                і
і            і ЪДї                             і                і
і            і і і   Italic                    і                і
і            і АДЩ                             і                і
і            АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ                і
і          ЪДДДДДДДДДДДї                 ЪДДДДДДДДДДДї          і
і          і  _        і±                і           і±         і
і          і V  OK     і±                і X  Cancel і±         і
і          АДДДДДДДДДДДЩ±                АДДДДДДДДДДДЩ±         і
і            ±±±±±±±±±±±±                  ±±±±±±±±±±±±         і
і                                                               і
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     Insert text  dialog  box - диалоговое окно включения текста;
Type your text here - введите здесь текст;  Formatting choices  -
параметры форматирования; Bold - жирный; Italic - наклонный; OK -
выбор; Cancel - отмена.

     Рассмотрим теперь различные части данного диалогового окна:

     - В строке заголовка диалогового окна выводится  идентифици-
       рующий его заголовок: Insert Text Dialog Box.

     - В редактируемом управляющем элементе сообщается: Type your
       text here (введите здесь текст). Пользователь может ввести
       здесь текст.

       Групповой блок представляет собой рамку, которая объединя-
       ет вместе группы кнопок.  Пользователь может  выбрать  две
       кнопки  с  независимой  фиксацией (два параметра) - Bold и
       Italic.  Пользователь  может  выбирать  данные  параметры,
       включая или выключая их.

     - Командные кнопки OK и Cancel дают возможность оперативного
       управления. Кнопка OK выбирается по умолчанию (она выбира-
       ется, когда пользователь нажимает клавишу Enter.
     Если бы вы сами написали записи ресурса для данного диалого-
вого окна, то этот код выглядел бы следующим образом (числа в ис-
ходном коде могут изменяться в зависимости от размера и места вы-
вода диалогового окна и управляющих элементов):

     MY_DB DIALOG 18, 18, 115, 118
     CAPTION "Insert Text Dialog Box"
     STYLE DS_MODALFRAMEіWS_POPUPіWS_CAPTIONіWS_SYSMENU
     BEGIN
       CONTROL "Type your text here", 102, "EDIT",
         ES_LEFTіWS_BORDERіWS_TABSTOP, 16, 17, 75, 12
       CONTROL "Bold", 2, "BUTTON"
         BS_CHECKBOXіES_TABSTOP, 30, 50, 28, 12
       CONTROL "Italic", 2, "BUTTON"
         BS_CHECKBOXіES_TABSTOP, 30, 65, 28, 12
       CONTROL "Formatting choices", 4,
         "BUTON", BS_GROUPBOX, 15, 35, 75, 50
       CONTROL "OK", 106 "BUTTON", BS_DEFPUSHBUTTONіWS_TABSTOP,
         156, 95, 30, 14
       CONTROL "OK", 107 "BUTTON", BS_DEFPUSHBUTTONіWS_TABSTOP,
         60, 95, 30, 14
     END

     Теперь вы видите,  как легко можно создать диалоговое окно с
помощью редактора диалогов Пакета разработчика ресурсов.

                  Запуск редактора диалогов
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Во-первых, откройте новый проект и запустите редактор диало-
гов (если вам потребуется более подробная информация о  работе  с
проектом, см. Главу 3).

     1. Выберите команду FileіNew Project (ФайліНовый проект).

     2. В диалоговом окне New Project (Новый проект) выберите .RC
        и OK.

     3. Выберите команду ResourceіNew (РесурсіНовый).

     4. В блоке списка Resource Type (Тип ресурса) дважды щелкни-
        те кнопкой "мыши" на элементе DIALOG или выберите DIALOG,
        затем выберите командную кнопку OK.

                 Настройка диалогового окна
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Теперь вы находитесь в диалоговом редакторе. Диалоговое окно
можно настроить следующим образом:

     1. Выберите пустое диалоговое окно, щелкнув кнопкой "мыши" в
        строке заголовка. Вокруг окна появится рамка выбора.

     2. Наберите Insert Text Dialog Box в качестве заголовка диа-
        логового окна. Нажмите клавишу Enter.

         Добавление текстового управляющего элемента
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

                      ЪДДДДДДДДї  Редакти-
                      і  ДїЪД  і  руемый
                      і   іі   і  управляющий
                      і  ДЩАД  і  элемент
                      АДДДДДДДДЩ

     Далее добавьте редактируемый текстовый управляющий элемент:

     1. В палитре инструментальных средств  выберите  пиктограмму
        "Редактирование  текста",  щелкнув на ней кнопкой "мыши".
        Переместитесь в диалоговое окно и добавьте текстовый  ре-
        дактируемый  управляющий  элемент,  щелкнув  в окне левой
        кнопкой "мыши" в том месте, куда вы хотите поместить этот
        управляющий элемент.

        Когда вы добавляете новый управляющий элемент, вокруг не-
        го появляется рамка изменения размера.  Это означает, что
        он выбран. Чтобы увеличить управляющий элемент, выполните
        с помощью "мыши" буксировку его края или угла.  Если бук-
        сировать  управляющий элемент,  зацепив его за внутреннюю
        область, то он будет перемещаться.

     2. При редактировании нового управляющего  элемента наберите
        Type your text here и нажмите клавишу Enter.

          Добавление кнопок с независимой фиксацией
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Теперь добавьте два элемента проверки и заключите их в рамку
группы. Для этого выберите пиктограмму "Кнопка с независимой фикса-
цией" (блок проверки) - третий элемент в правом  столбце  палитры
инструментальных средств.

                         ЪДДДДДДДДї
                         і ЪДДДДДїі Кнопка с
                         і і  X  іі независимой фиксацией
                         і АДДДДДЩі
                         АДДДДДДДДЩ

     1. С помощью левой кнопки "мыши" выберите пиктограмму "Кноп-
        ка с независимой фиксацией" из  палитры  инструментальных
        средств, щелкнув на ней кнопкой, затем переместите указа-
        тель "мыши" в то место диалогового окна,  куда вы  хотите
        поместить кнопку с независимой фиксацией, и снова щелкни-
        те кнопкой "мыши".  С помощью правой кнопки "мыши" вы мо-
        жете  разместить  дополнительные копии уже выбранного уп-
        равляющего элемента.  Поэтому  переместите  курсор  в  то
        место,  куда  вы хотите поместить второй управляющий эле-
        мент, и снова нажмите правую кнопку "мыши".

     2. Добавьте заголовки Bold и Italic, которые выводятся в уп-
        равляющих элементах, выделив каждый управляющий элемент и
        набрав текст заголовка.

                                     ЪДДДДДДДДї
                                     і ЪДДДДДїі
                           Групповой і і:::::іі
                           блок      і АДДДДДЩі
                                     АДДДДДДДДЩ

     3. Пиктограмма "Групповой блок" находится  в  центре  левого
        столбца палитры инструментальных средств, непосредственно
        над пиктограммой "Редактируемый текст".  Добавьте  данный
        управляющий  элемент  в диалоговое окно.  Переместите его
        или измените размер, чтобы групповой блок заключал в себя
        кнопки с независимой фиксацией.

     4. Когда  будет  выбран групповой блок,  наберите Formatting
        choices и нажмите клавишу Enter.

     5. Если это требуется, вернитесь назад и измените размер уп-
        равляющих  элементов  или  упорядочите их так,  чтобы все
        выглядело так как нужно.

                 Добавление командных кнопок
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Теперь можно  добавить в диалоговое окно две командных кноп-
ки: OK (Выполнить) и Cancel (Отменить).

     1. Если в диалоговом окне у вас не хватает  места  для  этих
        кнопок,  увеличьте его размер. Щелкните кнопкой "мыши" на
        заголовке диалогового окна.  Выполните буксировку  нижней
        границы  диалогового  окна,  пока  его размер не окажется
        удовлетворительным.

     2. В палитре инструментальных средств  выберите  пиктограмму
        "Командная кнопка".

     3. Щелкните кнопкой "мыши" в том месте диалогового окна, где
        вы хотите разместить командную кнопку.

     4. Переместитесь туда,  где вы хотите разместить вторую  ко-
        мандную кнопку,  и щелкните правой кнопкой "мыши".  Выво-
        дится копия командной кнопки"

     5. Выделите первую командную кнопку и наберите OK.

     6. Дважды щелкните кнопкой "мыши" на  командной  кнопке  OK.
        Выводится  диалоговое  окно  Button  Style (Тип командной
        кнопки).

     7. Выберите тип Default Push Button (Командная кнопка, испо-
        льзуемая по умолчанию) и кнопку OK.

     8. Выберите вторую командную кнопку и наберите Enter.

     9. Если  вам не понравится,  как выглядят диалоговые кнопки,
        переместите их или  измените  размер  данных  управляющих
        элементов.

                  Проверка диалогового окна
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

                            ЪДДДДДДДДДДї
                            і          і
                            і  Test    і  Проверка
                            і          і
                            АДДДДДДДДДДЩ

     Теперь вы можете проверить диалоговое окно и посмотреть, как
оно работает.

     1. Щелкните кнопкой "мыши" на пиктограмме "Проверка".

        Наберите новый текст в редактируемом управляющем элементе
        и поэкспериментируйте с клавишей Tab, чтобы проверить пе-
        ремещение по элементам диалогового окна.

     2. Когда вы все сделаете, для выхода из режима проверки наж-
        мите клавишу Enter.  Теперь вы можете выполнять все необ-
        ходимые изменения.

                     Сохранение проекта
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Когда вы завершите  работу  с  диалоговым  окном,  сохраните
проект под именем MYPROJ.RC:

     1. Выберите команду FileіSave File As (ФайліСохранение файла
        под именем).

     2. В диалоговом окне File Name (Имя файла) наберите MYPROJ.

     3. Выберите командную кнопку OK.

                   Глава 5. Создание меню
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Большинство прикладных программ  Windows  используют  строку
меню. Любой  выборе  в строке меню приводит к выводу всплывающего
меню (которое иногда называют выпадающим),  в котором дается спи-
сок элементов для выбора.  Например, большинство программ Windows
включают в себя меню File (Файл), которое дает возможность откры-
тия нового файла или создания существующего.

                       ЪДДДДДДДДДДДДДДДДї
                       і±New±±±±±±±±±±±±і  Новый
                       і Open           і  Открыть
                       ГДДДДДДДДДДДДДДДДґ
                       і Save           і  Сохранить
                       і Save as...     і  Сохранить как
                       ГДДДДДДДДДДДДДДДДґ
                       і Print          і  Печать
                       ГДДДДДДДДДДДДДДДДґ
                       і Exit           і  Выход
                       АДДДДДДДДДДДДДДДДЩ

     Рис. 5.1 Типичное меню File

     Большинство всплывающих меню присоединяются к команде иници-
ализирующего меню. Однако с помощью функции TrackPopupMenu вы мо-
жете  выводить  всплывающее  меню  в  любом месте окна прикладной
программы. Такой тип всплывающего меню называется плавающим.

           Примечание: О функции  TrackPopupWindow рассказывается
      в документации, поставляемой с компилятором и в "Cправочном
      руководстве программиста для Microsoft Windows".

     Пакет разработчика ресурсов предусматривает для вас редактор
меню, который  облегчает создание и редактирование меню для прик-
ладной программы. При работе с меню вы выполняете четыре основных
задачи:

     - запуск редактора меню;
     - настройку меню;
     - проверку меню;
     - сохранение меню.

     На первом шаге (запуск редактора меню)  запускается редактор
меню и  выводится меню,  которое вы можете настраивать.  Второй и
третий шаг (настройка меню и его проверка) выполняется  с помощью
редактора меню. Четвертый шаг (сохранение меню) выполняется авто-
матически при сохранении проекта.

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

     Если хотите,   можете   открыть   демонстрационный    проект
RWDEMO.RC, щелкнуть  кнопкой "мыши" на ресурсе меню и попробовать
работу со средствами, о которых вы прочтете в данной главе.

                    Экран редактора меню
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Редактор меню использует для вывода различной информации три
области: область схемы,  аналогичная записи ресурса, область про-
верки меню  и область диалогового окна (которая обычно называется
диалоговым окном),  позволяющую  настроить  текущую  подсвеченную
строку схемы.  С  помощью  команды View (Просмотр) можно изменить
позиции области,  а записи меню можно создать с  помощью  команды
Menu.

     Пакет разработчика  ресурсов  при открытии демонстрационного
проекта RWPDEMO.RC выводит следующий экран:

ЪДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДДДВДДДї
і - і           Resource Workshop - rwpdemo.rc          і ^ і v і
ГДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДДДБДДДґ
і   File Edit Resource Menu View Window Help                    і
ГДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДДДВДДДґ
і - і                    MENU : men_Main                і ^ і v і
ГДДДБДДДДДДДДДДДДДДДДВДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДДДБДДДґ
іЪДДДДДДДДДДДДДДДДДДїі - і       TEST MENU : men_Main           і
ііItem text         іГДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
ііЪДДДДДДДДДДДДДДДДїііFile Edit Resource Menu View Window Help  і
ііАДДДДДДДДДДДДДДДДЩіГДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
іАДДДДДДДДДДДДДДДДДДЩі                                          і
іЪДДДДДДДДДДДДДДДДДДїі                                          і
ііItem id           іі                                          і
ііЪДДДДДДДїЪДДДДДДДїіі                                          і
ііАДДДДДДДЩАДДДДДДДЩіАДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДґ
іАДДДДДДДДДДДДДДДДДДЩ     і               man_Men             і^і
і Item type  Break before ГДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДґ
і                         і±POPUP±"&File"±±±±±±±±±±±±±±±±±±±±±іІі
і <*Pop-up   <*No break   і   MENUITEM "&New"                 і±і
і >Menu item > Menu bar   і   MENUITEM "&Open"                і±і
і > Separator   break     і   MENUITEM SEPARATOR              і±і
і            > Menu break і   MENUITEM "&Save"                і±і
і            > Help break і   MENUITEM "Save&as..."           і±і
і                         і   MENUITEM SEPARATOR              і±і
і Initial state           і   MENUITEM "&Print"               і±і
і                         і   MENUITEM SEPARATOR              і±і
і <*Enabled               і   MENUITEM "E&xit"                і±і
і > Disabled П Checked    і__EndPopup__                       ГДґ
і > Grayed                іPOPUP "&Edr"                       іvі
ГДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДґ
і Ready                   і                                     і
АДДДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     Рис. 5.2 Редактор меню с меню RPWDEMO

     Resource Workshop - rwpdemo.rc - Пакет  разработчика  ресур-
сов,  файл rwpdemo.rc;  File - файл;  Edit - редактор; Resource -
ресурс; Menu - меню; View - просмотр; Window - окно; Help; справ-
ка; Item text - текст элемента меню; Item id - идентификатор эле-
мента; Item type - тип элемента; Break before - разрыв до; Pop-up
- вплывающее;  No  break - нет разрыва;  Menu item break - разрыв
элемента меню; Menu bar - строка меню;  Separator - разделитель;
Menu break - разрыв меню; Help break - разрыв Help; Initial state
- начальное состояние; Enabled - разрешено; Disabled - запрещено;
Checked - установлено;  Grayed - выводится серым цветом

                     Область схемы меню
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     В области схемы (нижняя правая область) выводится схема  но-
вого меню. Когда вы добавляете элементы меню, команды всплывающих
меню и разделители, они выводятся в данной области в виде псевдо-
кода. В верхней строке области выводится имя меню, внешние строки
- это операторы,  определяющие отдельные всплывающие меню, содер-
жащие отдельный элемент меню.  Чтобы отредактировать запись меню,
выделите в данной области оператор.

     Для выделения строки в данной области вы можете использовать
"мышь" или сделать следующее:

     - Если  вы находитесь в данной области,  используйте клавиши
       стрелок (вверх и вниз).

     - В любом другом месте окна можно использовать клавиши Ctrl+
       стрелка вверх и Ctrl+стрелка вниз.

     - При  наличии "мыши" вы можете выделить команду меню в про-
       верочном меню.  При этом вы переместитесь на ту же команду
       в схеме.

     Для перемещения между диалоговым окном и областью схемы мож-
но использовать клавиши F6 или Shift+F6.

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

                  Область диалогового окна
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Область диалогового  окна (или сокращенно - диалоговое окно)
показана на Рис.  5.2 слева. Это окно позволяет вам задать инфор-
мацию об операторах, которые в данный момент подсвечены в области
схемы. Ваш выбор определит характеристики  подсвеченного элемента
меню.

     Для перемещения  в  диалоговом  окне  вы можете использовать
"мышь" (позиционируя ее курсор и делая выбор) или клавиши.

     - Клавиши Tab и Shift+Tab позволяют вам  перемещаться  между
       группами  (такими как Item Type и Break before). Текстовый
       блок (Item text) также считается группой.

     - Находясь в группе, для перемещения и выбора кнопок с зави-
       симой  фиксацией  вы  можете использовать клавиши стрелок.
       Для переключения кнопок с независимой фиксацией  (парамет-
       ров) используйте клавишу пробела.  (Заметим, что в Initial
       state кнопки с независимой фиксацией и кнопки  с зависимой
       фиксацией представляют собой разные группы.)

     - Для  перемещения  между  областью схемы и диалоговым окном
       используйте клавиши F6 или Shift+F6.

     Выбранные  параметры  будут  действовать,  когда вы сделаете
следующее:

     - для ввода изменений нажмете клавишу Enter;

     - либо для ввода изменения и вставки нового элемента выбери-
       те команду MenuіNew Menu Item (МенюіНовый элемент меню);

     - либо используете клавиши Ctrl+стрелка вниз или Ctrl+стрелка
       вверх для перемещения к другому элементу схемы;

     - либо  нажмете  Ctrl+P или выберите команду MenuіNew Pop-up
       (МенюіНовое всплывающее меню )для включения нового  всплы-
       вающего меню;

     - либо   нажмете   Ctrl+S   или  выберите  команду  MenuіNew
       Separator (МенюіНовый разделитель) для вставки нового раз-
       делителя.

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

           Параметры диалогового окна редактора меню  Таблица 5.1
ЪДДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і   Параметр            і       Описание                        і
ГДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Item text           і Имя команды меню  или  команды  выводаі
і   (текст элемента)    і всплывающего   меню  и  необязательноеі
і                       і описание  его  акселератора  (если  оні
і                       і имеется).                             і
і                       і                                       і
ГДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Item ID             і Уникальный идентификатор элемента  ме-і
і   (идентификатор      і ню. Данный параметр применяется толькоі
і   элемента)           і к элементам меню, но не к командам вы-і
і                       і вода всплывающего меню или  разделите-і
і                       і лям.                                  і
і                       і                                       і
ГДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Item Type           і Это может быть всплывающее меню,  эле-і
і   (тип элемента)      і мент меню или разделитель меню.       і
і                       і                                       і
ГДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Break Before        і Управляет форматом команд меню в стро-і
і   (разрыв до)         і ле меню и во вплывающих меню. Выберитеі
і                       і один из следующих параметров:         і
і                       і                                       і
і     No Break          і Перед командой разрыва нет.           і
і     (нет разрыва)     і                                       і
і                       і                                       і
і     Menu Break        і Начинает новую  строку в  строке  менюі
і     (разрыв меню)     і или новый столбец во всплывающем меню.і
і                       і                                       і
і     Menu Bar Break    і Начинает новую строку  в  строке меню.і
і     (разрыв строки    і Во   вплывающем  меню  начинает  новыйі
і     меню)             і столбец и рисует  вертикальную  линию,і
і                       і разделяющую столбцы.                  і
і                       і                                       і
і     Help Break        і Смещает элемент меню в строке  меню  ві
і     (разрыв Help)     і крайнюю   правую  позицию. Используйтеі
і                       і данный параметр только в элементах ме-і
і                       і ню верхнего уровня.                   і
і                       і                                       і
ГДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Initial State       і Параметры Enabled, Disabled  и  Grayedі
і   (начальное          і в  левом  столбце  представляют  собойі
і   состояние)          і кнопки с  зависимой  фиксацией  (можноі
і                       і выбрать только один из  них).  Checkedі
і                       і box  - это кнопки с независимой фикса-і
і                       і цией,которые можно устанавливать неза-і
і                       і висимо.  Например, вы можете выбрать иі
і                       і Enabled, и Checked.                   і
і                       і                                       і
ГДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Enabled             і Команда работает,  когда  пользовательі
і   (разрешена)         і ее выбирает.                          і
і                       і                                       і
ГДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Disabled            і Запрещает   команду.  Пользователь  неі
і   (запрещена)         і сможет различить параметры  Enabled  иі
і                       і Disabled. В меню они выглядят одинако-і
і                       і во.                                   і
і                       і                                       і
ГДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Grayed              і Запрещает команду. Текст выводится се-і
і   (серый)             і рым цветом. Благодаря этому пользоват-і
і                       і тель может узнать, что данная  командаі
і                       і сейчас недоступна.                    і
і                       і                                       і
ГДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Checked             і Помещает метку после команды.  Выбери-і
і   (выбрана)           і те  данный параметр, если  элемент бу-і
і                       і дет функционировать,   как  переключа-і
і                       і тель, и вы хотите, чтобы его начальноеі
і                       і состояние было включенным.            і
АДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

                    Область проверки меню
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Область проверки меню, которая выводится над окном схемы ме-
ню, показывает ваше меню и позволяет его проверить.

                 ЪДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
                 і - і       TEST MENU : men_Main           і
                 ГДДДБДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
                 іPop-up і                                  і
                 ГДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
                 іItem±±±і                                  і
                 ГДДДДДДДЩ                                  і
                 і                                          і
                 АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     Рис. 5.3 Вновь созданное меню

     Как можно видеть, всплывающее меню для используемой по умол-
чанию  команды Po-up содержит единственную команду Item.  Если вы
вносите изменение в схему,  редактор меню автоматически обновляет
данное проверочное меню.

     Для изменения характера вывода проверочного меню и его пози-
ции относительно других областей вы можете  использовать  команду
меню View (Просмотр).

                         Параметры View               Таблица 5.2
ЪДДДДДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і   Выбор меню             і Описание                           і
ГДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   View as Pop-up         і Управляет выводом  меню  по  строкеі
і   (просмотр, как         і меню или в виде всплывающего меню. і
і   всплывающего меню)     і                                    і
і                          і Если данный параметр не  установлені
і                          і (по умолчанию), то проверочное менюі
і                          і выводится по  строке  меню.  Данныйі
і                          і параметр прекрасно  действует, еслиі
і                          і вы работаете со  всем  меню  сразу,і
і                          і поскольку  верхний  уровень  вашегоі
і                          і меню выводится в программе по стро-і
і                          і ке меню.                           і
і                          і                                    і
і                          і Однако, если вы разрабатываете менюі
і                          і как отдельный ресурс, и текущее ме-і
і                          і ню,  с которым вы работаете, предс-і
і                          і тавляет собой всплывающее или  пла-і
і                          і вающее меню, вы можете видеть его ві
і                          і том виде,  как оно фактически выво-і
і                          і дится.  В этом случае выберите дан-і
і                          і ный параметр для  проверки  меню  ві
і                          і виде всплывающего меню. В провероч-і
і                          і ном меню выводится  команда Pop-up,і
і                          і и  вы  выбираете  Pop-up для выводаі
і                          і самого меню.                       і
і                          і                                    і
ГДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   First graphic          і Данная графика представляет исполь-і
і   (первая графика)       і зуемую  по  умолчанию  конфигурациюі
і                          і областей. При этом проверочное менюі
і                          і выводится по области схемы и справаі
і                          і от диалогового окна.               і
і                          і                                    і
ГДДДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і   Second graphic         і Выберите данный параметр для выводаі
і   (вторая графика)       і проверочного меню по окну  редакти-і
і                          і рования, как обычной строки меню.  і
і                          і                                    і
АДДДДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     На следующем рисунке показан редактор меню  в альтернативном
формате (при включении параметра Second graphic):

ЪДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДДДВДДДї
і - і           Resource Workshop                       і ^ і v і
ГДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДДДБДДДґ
і   File Edit Resource Menu View Window Help                    і
ГДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДДДВДДДґ
і - і                    MENU : MENU_1                  і ^ і v і
ГДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДДДБДВДґ
і - і                 TEST MENU: MENU_1                       іІі
ГДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ і
і Pop-up                                                      і і
і                                                             і і
і                                                             і і
ГДДДДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДїі і
іЪДДДДДДДДДДДДДДДДДДДДДДї і              MENU_1            і^іі і
ііItem text             і ГДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДґі і
ііЪДДДДДДДДДДДДДДДДДДДДїі і±POPUP±"Pop-up"±±±±±±±±±±±±±±±±±іІіі і
ііі Pop-up             іі і   MENUITEM "&Item"             і±іі і
ііАДДДДДДДДДДДДДДДДДДДДЩі і   __EndPopup__pen"             і±іі і
іАДДДДДДДДДДДДДДДДДДДДДДЩ і                                і±іі і
іЪДДДДДДДДДДДДДДДДДДДДДДї і                                і±іі і
ііItem id               і і                                і±іі і
ііЪДДДДДДДїЪДДДДДДДДДДДїі і                                і±іі і
ііАДДДДДДДЩАДДДДДДДДДДДЩі і                                і±іі і
іАДДДДДДДДДДДДДДДДДДДДДДЩ і                                і±іі і
і Item type  Break before і                                і±іі і
і                         і                                і±іі і
і <*Pop-up   <*No break   і                                і±іі і
і >Menu item > Menu bar   і                                і±іі і
і > Separator   break     і                                і±іі і
і            > Menu break і                                і±іі і
і            > Help break і                                і±іі і
і                         і                                і±іі і
і Initial state           і                                і±іі і
і                         і                                ГДґі і
і <*Enabled               і                                іvіі і
і > Disabled   П Checked  ГДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДЕДґі і
і > Grayed                і<іІ±±±±±±±±±±±±±±±±±±±±±±±±±±±і>і іі і
ГДДДДДДДДДДДДДДДДДДДДДДДДДЕДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДБДББДґ
і Ready                   і                                     і
АДДДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     Рис. 5.4 Редактор меню в альтернативном формате

     Resource Workshop - rwpdemo.rc - Пакет  разработчика  ресур-
сов,  файл rwpdemo.rc;  File - файл;  Edit - редактор; Resource -
ресурс; Menu - меню; View - просмотр; Window - окно; Help; справ-
ка; Item text - текст элемента меню; Item id - идентификатор эле-
мента; Item type - тип элемента; Break before - разрыв до; Pop-up
-  вплывающее;  No break - нет разрыва;  Menu item break - разрыв
элемента меню;  Menu bar - строка меню;  Separator - разделитель;
Menu break - разрыв меню; Help break - разрыв Help; Initial state
- начальное состояние; Enabled - разрешено; Disabled - запрещено;
Checked - установлено; Grayed - выводится серым цветом

                    Запуск редактора меню
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Независимо от того,  создаете вы новое меню или редактируете
существующее, вам потребуется редактор меню.  Редактор меню выво-
дит меню,  которое вы можете модифицировать для своей  прикладной
программы. В  следующем  разделе  подробно  описываются различные
способы запуска редактора меню.

                    Создание нового меню
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Для создания нового меню сделайте следующее:

     1. Убедитесь,  что вы уже открыли проект,  к которому хотите
        добавить меню. Для создания нового проекта вы можете выб-
        рать  команду  FileіNew  Project  (ФайліНовый проект) для
        создания нового проекта или FileіOpen (ФайліОткрытие) для
        открытия существующего.

     2. Когда  вы  откроете  новый проект,  выберите ResourceіNew
        (РесурсіНовый) для создания нового  ресурса  для  данного
        проекта.  Выводится  диалоговое  окно New Resource (Новый
        ресурс).

     3. В диалоговом окне New Resource прокрутите список Resource
        Type (Тип ресурса) до MENU, затем дважды щелкните кнопкой
        "мыши" на MENU или щелкните на нем кнопкой "мыши",  затем
        активизируйте кнопку OK.

     Пакет разработчика  ресурсов выводит редактор меню с исполь-
зуемым по умолчанию меню, которое вы можете настраивать.

              Редактирование существующего меню
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Для редактирования существующего меню откройте проект, в ко-
тором записано меню, и сделайте следующее:

     - Дважды щелкните кнопкой "мыши" на имени меню в окне проек-
       та.

     - Подсветите  имя  меню  и  выберите  команду  ResourceіEdit
       (РесурсіРедактирование).

                     ЪДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДВДї
                     і - і     rwpdemo.rc              іvі^і
                     ГДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДЕДґ
                     і BITMAP                            і^і
                     і    BITMAP_1                       ГДґ
                     і    bmp_StatusLine                 іІі
                     і MENU                              і±і
                     і    menu_Man±±±±±±±±±±±±±±±±±±±±±±±і±і
                     і DIALOG                            і±і
                     і    DIALOG_5                       і±і
                     і    dlg_Open                       ГДґ
                     і    dlg_SaveAs                     іvі
                     АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДЩ

     Рис. 5.5 Окно проекта RWPDEMO

           Примечание: Подробнее об открытии проектов рассказыва-
       ется в Главе 3.

      Пакет разработчика  ресурсов  выводит  окно с загруженным в
него меню, которое вы выбрали.

           Примечание: Пример данного экрана см.  на Рис. 5.2 или
      в начале главы.

                       Настройка меню
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Если в редактор меню у вас загружено меню,  то можно  начать
его настраивать.  Используя  редактор меню,  вы можете определить
новые команды меню, всплывающие меню и разделители, а также пере-
мещать, копировать или редактировать любую часть меню.

                 Добавление нового оператора
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

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

     Когда вы определите,  куда нужно поместить новый оператор, и
подсветите соответствующую строку,  можете добавить новый  опера-
тор, выбрав команду Menu.

                             ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
 Новое сплывающее меню       і±New±pop-up±±±±±±±±±±±±±±±±Ctrl+P±±і
 Новый элемент меню          і New menu item             Ins     і
 Новый разделитель           і New separator             Ctrl+S  і
                             ГДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
 Новое всплывающее меню file і New file pop-up                   і
 Новое всплывающее меню edit і New edit pop-up                   і
 Новое всплывающее меню help і New help pop-up                   і
                             ГДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
 Проверить дублирование      і Check duplicate                   і
                             АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     Рис. 5.6 Меню Menu

     Используйте данное  меню для вставки новых команд меню,  ко-
манд вывода всплывающих меню и разделителей меню. Вы можете также
включить полные  стандартные  всплывающие меню File (Файл),  Edit
(Редактирование) или Help (Справка) и проверить ваше меню на дуб-
лирование идентификаторов  (подробнее  об этом рассказывается ни-
же).

                  Перемещение и копирование
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     В меню Edit для перемещения и копирования операторов в схеме
меню редактора меню вы можете использовать команды  Cut  (Выреза-
ние), Copy (Копирование) и Paste (Вставка).

     Подсветите оператор,  который вы хотите переместить или ско-
пировать, затем выберите команду EditіCut (РедактированиеіВыреза-
ние) или EditіCopy (РедактированиеіКопирование). Затем подсветите
оператор, после которого вы хотите вставить  строку,  и  выберите
команду Paste (Вставка).

           Примечание: Команда  EditіCut  удаляет выделенный эле-
      мент, но позволяет вам вставить его в другом месте.

                   Отмена в случае ошибок
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Как и  при  работе с другими редакторами Пакета разработчика
ресурсов, редактор меню позволяет вам отменять изменения и выпол-
нять их повторно.  Для этого выберите команду EditіUndo (Редакти-
рованиеіОтмена) или EditіRedo (РедактированиеіПовтор) или исполь-
зуйте  акселераторы  Alt+пробел (отмена) и Shift+Alt+пробел (пов-
тор).

     Например, если вы ошибочно заменили элемент меню на раздели-
тель, то  можно  выбрать  команду  EditіUndo.  Пакет разработчика
ресурсов. Пакет разработчика ресурсов указывает,  какое изменение
отменяется (в  этом  случае  он  выводит  сообщение  "Undo change
item" - "отмена изменения элемента"). Для отмены изменения нажми-
те  клавишу  Enter,  щелкните  кнопкой "мыши" на Undo или нажмите
клавиши Alt+пробел.

                   Настройка элемента меню
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Элемент (или  команда)  меню вызывает инициализацию действия
прикладной программы (в отличие от  команды  вывода  всплывающего
меню, которое просто выводит меню). Обычно команды меню содержат-
ся во всплывающих меню.  Например, в большинстве прикладных прог-
рамм Windows,  если  вы выберите команду вывода всплывающего меню
File (Файл),  она выводит всплывающее меню, из которого вы можете
выбрать команду Open (Открыть).

           Примечание: Элементы  строки  меню обычно представляют
      собой команды вывода всплывающего меню.

     Для настройки элемента меню нужно сначала создать новый эле-
мент или выбрать существующий.  Затем вы можете настроить элемент
меню в диалоговом окне.

                     Новые элементы меню
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Следующий шаг в создании элемента меню состоит в определении
того, куда его включить.

               Выбор места вставки нового элемента

     Перед вставки нового элемента меню нужно решить,  где вы хо-
тите выводить его в меню, и подсветить предыдущую строку в облас-
ти схемы меню.  В общем случае,  если вы хотите поместить элемент
меню  после другого оператора,  вам нужно подсветить существующий
оператор и включить под ним новый.

     Если вы хотите вставить команду вывода всплывающего  меню на
том же уровне,  но после данной команды вывода всплывающего меню,
правило становится несколько более сложным. Если не соблюдать ак-
куратность, то новый элемент выведется в неверном месте.

     Предположим, например,  что  вы хотите добавить к следующему
меню две команды:  новую команду Stored order во всплывающем меню
Arrange List,  и  команду  Quit,  которая выводится в строке меню
после Widgets.
          ЪДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
          і - і       TEST MENU: MENU_1              і
          ГДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
          іWidgets±                                  і
          ГДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДґ
          і±List±±±±±±±±±Ctrl+L±і                    і
          і Add...       Ctrl+A і                    і
          ГДДДДДДДДДДДДДДДДДДДДДґ                    і
          і Arrange List       >і                    і
          ГДДДДДДДДДДДДДДДДДДДДДЩ                    і
          і                                          і
          і                                          і
          АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

     Рис. 5.7 Меню Widgets

              ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДї
              і              MENU_1                  і^і
              ГДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЕДґ
              і POPUP "&Widgets"                     іІі
              і±±±MENUITEM±"&List\tCtrl+L"±±±±±±±±±±±і±і
              і   MENUITEM "&Add...\tCtrl+A"         і±і
              і   MENUITAM SEPARATOR                 і±і
              і   POPUP "A&rrange List"              і±і
              і      MENUITEM "&Ascending\tCtrl+F2"  і±і
              і      MENUITEM "&Descending\tCtrl+F3" і±і
              і   __EndPopup__                       і±і
              і __EndPopup__                         і±і
              і               __EndMenu__            і±і
              і                                      і±і
              і                                      ГДґ
              і                                      іvі
              ГДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДЕДґ
              і<іІ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±і>і і
              АДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДБДЩ

     Рис. 5.8 Схема записей для меню Widgets

     Добавить команду Stored Order достаточно просто. Нужно найти
оператор POPUP "Arrange List...",  а затем решить, куда нужно по-
местить новую команду вывода всплывающего меню.

     - Чтобы  она  стала первой командой, нужно переместить подс-
       ветку на POPUP "Arrange List..." и добавить команду.

     - Если она должна следовать за одной из команд вывода всплы-
       вающего  меню  (как  Descending),  подсветите  эту команду
       (MENUITEM Descending) и добавьте команду.

     Добавить команду Quit несколько более сложно.  Если вы попы-
таетесь добавить  команду,  подсветив Widgets,  то  новая команда
выведется непосредственно под Widgets и будет частью всплывающего
меню Widgets.  Поскольку  вы  хотите,  чтобы  данная команда была
частью строки меню с Widgets, нужно добавить ее после всплывающе-
го меню Widgets.

     Редактор меню указывает на начало всплывающего меню операто-
ром POPUP, а на конец - оператором _END POPUP_. Так как всплываю-
щее меню  Aggange  List  встроено во сплывающее меню Widgets,  то
присутствует два оператора _END POPUP_. В схеме встроенное всплы-
вающее  меню  выровнено с отступом относительно того всплывающего
меню,  в которое оно встроено. Благодаря этому легко увидеть, ка-
кое  меню  встроено  в другое и найти соответствующий завершающий
оператор.

     Если  вы  посмотрите на схему меню, то увидите, что оператор
_END POPUP_ меню Arrange List имеет отступ относительно оператора
_END POPUP_,  который за ним следует.  Второй оператор  завершает
всплывающее меню Widgets.

     Чтобы добавить команду Quit, подсветите второй оператор _ENP
POPUP_ и добавьте команду. После этого схема меню будет выглядеть
следующим образом:

ЪДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДДДВДДДї
і - і                  MENU : MENU_1                    і ^ і v і
ГДДДБДДДДДДДДДДДДДДДДДДВДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДДДБДДДґ
іЪДДДДДДДДДДДДДДДДДДДДїі - і       TEST MENU : MENU_1           і
ііItem text           іГДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
ііЪДДДДДДДДДДДДДДДДДДїіі±Widgets±±±                             і
ііі&Ascending\tCtrl+FііГДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДґ
ііАДДДДДДДДДДДДДДДДДДЩіі List        Ctrl+L і                   і
іАДДДДДДДДДДДДДДДДДДДДЩі Add...      Ctrl+A і                   і
іЪДДДДДДДДДДДДДДДДДДДДїГДДДДДДДДДДДДДДДДДДВДБДДДДДДДДДДДДДДДДДДїі
ііItem id             іі±ArrangeList±±±±±±і±Ascending±±Ctrl+F2±іі
ііЪДДДДДДДДДїЪДДДДДДДїіГДДДДДДДДДДДДДДДДДДґ Descending Ctrl+F3 іі
іііwmnnu_Ascіі103    ііі                  АДДДДДДДДДДДДДДДДДДДДЩі
ііАДДДДДДДДДЩАДДДДДДДЩіі                                        і
іАДДДДДДДДДДДДДДДДДДДДЩАДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДґ
і Item type  Break before і               MENU_1              і^і
і                         іPOPUP "&Widgets"                   ГДґ
і > Pop-up   <*No break   і±±MENUITEM±"&List\tCtrl+L"±±±±±±±±±іІі
і<*Menu item > Menu bar   і  MENUITEM "&Add...\tCtrl+A"       і±і
і > Separator   break     і  MENUITAM SEPARATOR               і±і
і            > Menu break і  POPUP "A&rrange List"            і±і
і            > Help break і    MENUITEM "&Ascending\tCtrl+F2" і±і
іДДДДДДДДДДДДДДДДДДДДДДДДДі    MENUITEM "&Descending\tCtrl+F3"і±і
і Initial state           і  __EndPopup__                     і±і
і                         і__EndPopup__                       і±і
і <*Enabled               і              __EndMenu__          і±і
і > Disabled   П Checked  і__EndPopup__                       ГДґ
і > Grayed                і                                   іvі
і                         ГДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДВДЕДґ
і                         і<іІ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±і>і і
АДДДДДДДДДДДДДДДДДДДДДДДДДБДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДБДБДЩ

     Рис. 5.9 Меню с новыми добавленными элементами

                   Создание элемента меню

     Теперь, когда вы знаете, как включать элемент в меню, можете
создать его следующим образом:

     1. Подсветите соответствующую строку в области  схемы  меню.
        Помните о том, что элемент меню вставляется после подсве-
        ченной строки.

     3. Нажмите клавишу Ins или выберите команду  Choose MenuіNew
        Menu Item (Выбор менюіНовый элемент меню).  Редактор меню
        создает новый элемент  меню,  дает  ему  используемое  по
        умолчанию  имя ("Item") и используемый по умолчанию иден-
        тификатор меню и подсвечивает его в схеме меню.

     4. Для дальнейшего определения нового элемента меню  исполь-
        зуйте  диалоговое  окно  слева от области схемы меню (см.
        раздел "Использование диалогового окна").

                     Выбор элемента меню
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

     Чтобы выбрать  элемент меню для настройки,  сделайте следую-
щее:

     1. Переместите на элемент меню подсветку с  помощью  "мыши",
        клавиш Ctrl+стрелка вверх или Ctrl+стрелка вниз, или кла-
        виш стрелок (если вы находитесь в области схемы).

     2. Редактируйте поля диалогового окна.



Яндекс цитирования