Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MB6REFRU.pdf
Скачиваний:
10
Добавлен:
13.02.2015
Размер:
3.83 Mб
Скачать

Оператор Alter Menu Bar

Оператор Alter Menu Bar

Назначение:

Добавляет или удаляет заголовки меню в строку меню окна MapInfo.

Синтаксис:

Alter Menu Bar { Add | Remove }

{ menuname | ID menu_id }

[, { menuname | ID menu_id } ... ]

где

menuname – имя меню (например, "Файл");

menu_id – целочисленный идентификатор меню от 1 до 22, где единица представляет меню ФАЙЛ.

Описание:

Оператор Alter Menu Bar добавляет или убирает один или более заголовков меню в строку меню. Заголовок меню – это слово, представляющее группу команд MapInfo. Указав на это слово, пользователь открывает список меню, состоящий из команд, имен подменю и элементов оформления (например, черта, разделяющая список на части).

Параметр menuname может быть строкой или выражением строкового типа, результатом которого является имя одного из стандартных меню в MapInfo (например, "Файл" или "Правка"). Параметр menuname может быть также именем меню, созданного оператором Create Menu (смотрите примеры).

Меню может быть также определено специальным идентификатором. Например, предложение ID 2 задает меню ПРАВКА.

Заметим, что набор стандартных имен зависит от языковой версии; оператор Alter Menu использует имена, соответствующие языковой версии. Поэтому, если Вы планируете использовать Вашу прикладную программу в MapInfo другой языковой версии, используйте вместо имени номер, задаваемый предложением ID. Значения параметра menu_id от 1 до 22 соответствуют заголовкам стандартного меню MapInfo: 1 соответствует меню ФАЙЛ и т. д.

Список имен стандартной системы меню MapInfo и соответствующих им значений идентификатора menu_id приведен в разделе, описывающем оператор Alter Menu.

Как добавить меню

Оператор Alter Menu Bar Add... добавляет заголовок меню в строку меню с правого края. Если Вам необходимо вставить меню в определенное место в строке меню, то для переопределения строки меню выполните оператор Create Menu Bar.

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

Как убрать меню

Оператор Alter Menu Bar Remove... удаляет заголовок из строки меню. При этом меню не пропадает и может быть в любой момент восстановлено так, как показано ниже. Следующая пара операторов сначала удаляет меню ЗАПРОС из строки меню, а затем помещает ее снова туда крайним справа:

Alter Menu Bar Remove "Запрос"

Alter Menu Bar Add "Запрос"

Справочник MapBasic

29

Оператор Alter Menu Bar

После того, как оператор Alter Menu Bar Remove... удалит меню, MapInfo отменяет все клавишные сокращения, ранее назначенные командам, которые находились в удаленном списке меню. Например, если Вы удалите меню ФАЙЛ, то клавишное сокращение Ctrl+O больше не будет вызывать команду ОТКРЫТЬ ТАБЛИЦУ.

Пример:

Создается меню ДАННЫЕ, содержащее три команды, и затем оператором Alter Menu Bar Add добавляется в строку заголовков меню MapInfo.

Declare Sub addsub

Declare Sub editsub

Declare Sub delsub

Create Menu "Данные" As

"Добавить" Calling addsub, "Правка" Calling editsub, "Удалить" Calling delsub

'Удаляются меню Окно и Справка...

Alter Menu Bar Remove ID 6, ID 7

'Добавляется меню Данные, а затем восстанавливаются ‘ меню Окно и Справка

Alter Menu Bar Add "Данные", ID 6, ID 7

Перед тем как поместить заголовок созданного меню в строку меню, эта программа сначала удаляет меню ОКНО (идентификатор 6) и меню СПРАВКА (идентификатор 7). Затем в правый конец строки меню добавляется сначала заголовок меню ДАННЫЕ, а затем меню ОКНО и СПРАВКА. Тем, что в примере меню сначала удаляется, а потом восстанавливается, соблюдается соглашение, что меню Справочной системы всегда должно быть последним справа.

Смотрите также:

Alter Menu, Alter Menu Item, Create Menu, Create Menu Bar, Menu Bar Hide, Menu_Bar Show

30

Справочник MapBasic

Оператор Alter Menu Item

Оператор Alter Menu Item

Назначение:

Изменяет состояние элемента списка меню.

Синтаксис:

Alter Menu Item { handler | ID menu_item_id }

{ [

Check | Uncheck ]

|

[

Enable | Disable ]

|

[

Text itemname ]

|

[

Calling handler | As

menuname ] }

где

handler – имя subLпроцедуры или код для стандартной команды MapInfo;

menu_item_id – целочисленный идентификатор элемента меню, который задается при создании списка меню (оператором Create Menu или Alter Menu);

menuname – заголовок списка меню;

itemname – новый текст для элемента меню (может содержать управляющие коды).

Описание:

Оператор Alter Menu Item изменяет значения атрибутов одного или более элементов списка меню. Например, оператор может сделать команду недоступной для выбора (на экране она закрашивается серым).

Элемент меню может задаваться либо именем обработчика handler, который запускается при выборе элемента в списке меню, либо идентификатором в предложении ID. Заметим, что один и тот же обработчик могут вызывать разные элементы меню. Поэтому, если оператор Alter Menu Item использует имя процедурыLобработчика handler, то MapInfo будет менять все элементы, вызывающие этот обработчик, из всех меню. Если Вы используете предложение ID, то MapInfo изменит атрибуты только одного элемента меню.

Оператор Alter Menu Item может использовать идентификатор только для тех элементов, для которых при создании списка меню он был определен. Приложение MapBasic не может использовать идентификатор, который был задан другим приложением MapBasic.

Оператор Alter Menu Item позволяет вносить изменения в систему меню MapInfo. Если меню, подвергаемое изменению, уже находится в строке заголовков, то Вы можете увидеть изменения немедленно, открыв соответствующее меню.

Если задан режим Check, то при выборе элемента меню в списке меню напротив его имени устанавливается галочка. Это возможно, если при создании этого элемента оператором Create Menu он был назначен как избираемый ("checkable"). Режим Uncheck убирает галочку.

Режимы Disable и Enable определяют доступность выбора элемента меню. Недоступные элементы закрашиваются серым цветом. Заметим, что MapInfo автоматически делает некоторые элементы меню доступными и недоступными в соответствии с текущим состоянием в среде программы MapL Info. Например, команда ФАЙЛ > ЗАКРЫТЬ становится серой, если не открыто ни одной таблицы. Поэтому, приложение MapBasic не может изменять доступность стандартного элемента MapInfo.

Вы можете обращаться к инструментальным средствам как к элементам меню (например, M_TOOLS_RULER в MENU.DEF), но не можете сделать их недоступными с помощью оператора

Справочник MapBasic

31

Оператор Alter Menu Item

Alter Menu Item.

В предложении Text можно изменить имя элемента.

Предложение Calling задает имя процедурыLобработчика, вызываемой элементом меню. Если пользователь выберет этот элемент в меню, то MapInfo запустит на выполнение эту процедуру.

Пример 1:

Cоздается меню ДАННЫЕ, содержащее четыре команды, и затем добавляется в строку заголовков меню MapInfo.

Declare Sub addsub

Declare Sub editsub

Declare Sub delsub

Create Menu "Данные" As

"Добавить" Calling addsub, "Правка" Calling editsub, "Удалить" ID 100 Calling delsub, "Удалить все" ID 101 Calling delsub

'Удаляется меню Справка...

Alter Menu Bar Remove ID 7

'Добавляется меню Данные, а затем восстанавливается меню Справка Alter Menu Bar Add "Данные", ID 7

Пример 2:

Следующий оператор Alter Menu Item переименовывает команду ПРАВКА в команду ПРАВКА...

Alter Menu Item editsub Text "Правка..."

Пример 3:

Следующий оператор делает команду УДАЛИТЬ ВСЕ недоступной.

Alter Menu Item ID 101 Disable

Пример 4:

Следующий оператор делает недоступными две команды: УДАЛИТЬ ВСЕ и УДАЛИТЬ, так как они используют один и тот же обработчик.

Alter Menu Item delsub Disable

Смотрите также:

Alter Menu, Alter Menu Bar, Create Menu

32

Справочник MapBasic

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]