Шаг 55.
Редактор Resource Workshop.
Добавление элементов меню

    На этом шаге мы рассмотрим добавление элементов меню.

    Предположим, например, что вы хотите добавить к следующему меню две команды: новую команду Stored Order во всплывающем меню Arrange List, и команду Quit, которая выводится в строке меню после Widgets.


Рис.1. Меню Widgets

    Добавить команду Stored Order достаточно просто. Нужно найти оператор POPUP "A&rrange List", а затем решить, куда нужно поместить новую команду вывода всплывающего меню.

  1. Чтобы она стала первой командой, нужно переместить подсветку на POPUP "A&rrange List", и добавить команду.
  2. Если она должна следовать за одной из команд вывода всплывающего меню (как Descending), подсветите эту команду (MENUITEM Descending) и добавьте команду.

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

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

    Редактор меню указывает на начало всплывающего меню оператором POPUP, а на конец - оператором __END POPUP__. Так как всплывающее меню Arrange List встроено во всплывающее меню Widgets, то присутствует два оператора __END POPUP__. В схеме встроенное всплывающее меню выровнено с отступом относительно того всплывающего меню, в которое оно встроено. Благодаря этому легко увидеть, какое меню встроено в другое и найти соответствующий завершающий оператор.

    Если вы посмотрите на схему меню, то увидите, что оператор __END POPUP__ меню Arrange List имеет отступ относительно оператора __END POPUP__, который за ним следует. Второй оператор завершает всплывающее меню Widgets.

    Чтобы добавить команду Quit, подсветите второй оператор __END POPUP__ и добавьте команду.

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

Таблица 1. Параметры окна
Параметр Описание
Item Text Имя и необязательное описание.
Item ID Уникальный идентификатор элемента.
Item Туре Элемент меню, всплывающее меню или разделитель.
Break Before Одно из следующих:
  • No Break - без разделителей;
  • Меnu Ваr Break - начинает новую строку (отчеркивает столбец) в окне меню;
  • Menu Break - начинает новую строку (столбец) в окне меню;
  • Неlр Break - перемещает элемент в крайнюю правую позицию.
Initial State Enabled, Disabled и Grayed - селективные кнопки. Checked - параметр.
  • Enabled - команда доступна;
  • Disabled - команда недоступна;
  • Grayed - команда недоступна и отображается серым цветом.
Checked - пункт меню выбран.

    Опишем некоторые из перечисленных команд полее подробно.

Ввод текста

    Поле Item Text определяет текст, который выводится в меню. Если вы хотите, чтобы пользователь мог выбирать команду меню, набирая одну из букв команды, поместите непосредственно перед этой буквой символ &. Windows будет выводить данную команду с подчеркнутой буквой.

    Если вы собираетесь связать с данной командой комбинацию клавиш (акселератор), то можете включить в меню текст акселератора. Например, если пунк меню включает акселератор Shift+Del, который дублирует команду Сut меню Edit, вы можете добавить после команды текст "Shift+Del".

  1. Для отделения заголовка меню от текста акселератора используйте символ табуляции (\t), например, &Сut\tShift+Del.
  2. Для выравнивания вправо текста акселератора (например, &Сut\aShift+Del) используйте символ выравнивания вправо ().

    Прикладные программы Windows для указания комбинации клавиш обычно используют символ +, например, Shift+Del или Ctrl+Shift+F4.

Ввод идентификатора элемента

    Все элементы меню должны иметь уникальный числовой идентификатор (Item ID). Пакет разработчика ресурсов создает уникальное используемое по умолчанию значение идентификатора для элементов меню. Вы можете ввести уникальное числовое значение или уникальное имя.

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

    На следующем шаге мы рассмотрим перемещение, копирование и удаление операторов.




Предыдущий шаг Содержание Следующий шаг