Возвращает номер элемента в меню, определенном с помощью команды DEFINE POPUP, или в системном меню Visual FoxPro.

GETBAR(MenuItemName, nMenuPosition)

Параметры

MenuItemName

Задает элемент меню.

nMenuPosition

Задает позицию в меню. Значение nMenuPosition может изменяться в диапазоне от 1 до общего числа элементов в меню. Позиция 1 соответствует первому элементу меню, позиция 2 ѕ второму элементу и т.д.

Expand imageВозвращаемое значение

Числовой

Expand imageПримечания

Используйте функцию GETBAR( ), чтобы определять, какой элемент какую позицию в меню занимает. Данная функция полезна при добавлении, удалении и перестановке элементов меню. Элемент добавляется в меню по команде DEFINE BAR, а удаляется командой RELEASE BAR. Позиции элементов меню могут быть изменены, если при создании меню в команде DEFINE POPUP было задано ключевое слово MOVER.

Expand imageПример

В следующем примере создается меню popDemo. Ключевое слово MOVER было задано, поэтому элементы в меню можно переставлять. О том, как переставлять элементы меню, смотрите описание предложения MOVER команды DEFINE POPUP.

Меню активизируется, и последовательность функций GETBAR( ) в составе PRMBAR( ) возвращает названия всех элементов. Переставив элементы, нажмите клавиши CTRL+Z, чтобы вывести элементы на экран в новом порядке.

  CopyCode imageCopy Code
CLEAR
ON KEY LABEL CTRL+Z DO showorder
WAIT WINDOW "Press CTRL+Z to refresh." NOWAIT

DEFINE POPUP popDemo MOVER FROM 2,2
DEFINE BAR 1 OF popDemo PROMPT 'One'
DEFINE BAR 2 OF popDemo PROMPT 'Two'
DEFINE BAR 3 OF popDemo PROMPT 'Three'
DEFINE BAR 4 OF popDemo PROMPT 'Four'

DO showorder
ACTIVATE POPUP popDemo

PROCEDURE showorder
CLEAR
@ 3,12 SAY  '1 ' + PRMBAR('popDemo', GETBAR('popDemo',1))
@ 4,12 SAY  '2 ' + PRMBAR('popDemo', GETBAR('popDemo',2))
@ 5,12 SAY  '3 ' + PRMBAR('popDemo', GETBAR('popDemo',3))
@ 6,12 SAY  '4 ' + PRMBAR('popDemo', GETBAR('popDemo',4))
RETURN

Expand imageСмотрите также