Уроки Iczelion'а



         

Урок 8. Меню - часть 2


Список меню включает в себя выражения 'MENUITEM' или 'POPUP'.

'MENUITEM' определяет пункт меню, который не является подменю. Его синтаксис следующий:

MENUITEM "&text", ID [,options]

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

Опции опциональны. Доступны следующие опции:

  • *GRAYED - пункт меню неактивен, и он не генерирует сообщение WM_COMMAND. Текст серого цвета.
  • *INACTIVE - пункт меню неактивен, и он не генерирует сообщение WM_COMMAND. Текст отображается нормально.
  • *MENUBREAK - этот пункт меню и последующие пункты отображаются после новой линии меню.
  • *HELP - этот пункт меню и последующие пункты выравнены по правой стороне.

Вы можете использовать одну из вышеописанных опций или комбинировать их оператором "or". Учтите, что 'INACTIVE' и 'GRAYED' не могут комбинироваться вместе. Выражение 'POPUP' имеет следующий синтаксис:

POPUP "&text" [,options] { [menu list] }

Выражение 'POPUP' определяет пункт меню, при выборе которого выпадает список пунктов в маленьком рoрuр-окне. Список меню может быть выражением 'MENUITEM' или 'POPUP'. Есть специальный вид выражения 'MENUITEM' - 'MENUITEM SEPARATOR', который отрисовывает горизонтальную линию в popup-окне.

Последний шаг - это ссылка на ваш скрипт ресурса меню в программе.

Вы можете сделать это в двух pазных местах.

  • В члене lрszMenuName структуры WNDCLASSEX. Скажем, если у вас было меню под названием "FirstMenu", вы можете присоединить меню к вашему окну следующим образом:

.DATA MenuName db "FirstMenu",0 ........................... ........................... .CODE ........................... mov wc.lpszMenuName, OFFSET MenuName ...........................




Содержание  Назад  Вперед