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

Функция CommandInfo( )

Функция CommandInfo()

Нàзначение:

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

Синтаксис:

CommandInfo(attribute )

где

attribute – целочисленный код типа информации, которая будет возвращена.

Величина, полученная в результате:

Целое число или число с плавающей запятой, или строка, или логическая величина. Величина типа Integer, или типа Float, или типа String, или типа Logical.

Описание:

Функция CommandInfo(_) возвращает информацию о последних событиях в MapInfo. Например, какие изменения произошли во временной таблице "Selection", в какое место окна указал пользователь, использовал ли он только мышку или нажал на кнопку мышки в комбинации с клавишей SHIFT и так далее. Тип информации задается целочисленным кодом в параметре attribute. Для описания кодов будем использовать имена, которые назначены этим постоянным величинам в файле определений MAPBASIC.DEF. Если Вы хотите использовать имена кодов в Вашей программе, то она должна иметь строчку Include "MAPBASIC.DEF".

Вызов после закрытия диалога, построенного приложением

Вызывая функцию CommandInfo(_) сразу после закрытия окна диалога, Вы можете использовать в качестве параметра attribute один из следующих кодов:

Значение attribute

CMD_INFO_DLG_OK

CMD_INFO_STATUS

Результат CommandInfo(attribute)

Величина типа Logical: TRUE L если в диалоговом окне была выбрана кнопка OkButton; FALSE L если пользователь отменил диалог, нажав на кнопку CancelButton или на клавишу ESC. Этот код в функции предназначен только для информации о диалоговых окнах, вызываемых оператором Dialog.

Величина типа Logical: TRUE – если пользователь позволил процессу, снабженному диалогом со шкалой (смотрите оператор ProgressBar), завершиться самостоятельно; FALSE – если пользователь нажал на кнопку в этом диалоге, прекращающую выполнение.

Вызов из обработчиков новых меню и диалогов

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

Значение attribute

Результат CommandInfo(attribute)

78

Справочник MapBasic

 

Функция CommandInfo( )

 

 

 

 

CMD_INFO_MENUITEM

Целое число (Integer), представляющее идентификатор элемента

 

меню, который запустил этот обработчик.

 

Этот код используется только внутри процедурыLобработчика

 

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

 

 

CMD_INFO_DLG_DBL

Величина типа Logical: TRUE L если пользователь использовал при

 

указании на элемент списка элемент ListBox или MultiListBox

 

двойное нажатие на клавишу мышки.

 

Этот код используется только внутри процедурыLобработчика

 

элемента диалога, построенного приложением MapBasic.

 

 

Вызов из обработчиков системных событий

Если Ваше приложение имеет процедурыLобработчики системных событий (например, такую как SelChangedHandler), то в этих процедурах Вы можете использовать функцию CommandInfo(_) со следующими кодами:

Значение attribute

Из процедуры Sel4 ChangedHandler:

CMD_INFO_SELTYPE

CMD_INFO_ROWID

Результат CommandInfo(attribute)

1 – если строка была добавлена в выборку;

2 – если строка была исключена из предыдущей выборки;

3 – если все строки в таблице выбраны; 4 – если все строки таблицы были исключены из предыдущей выборки.

Целое число (Integer) – номер строки, которая была добавлена в выбор или исключена из выбора (работает только, если одна строка была выбрана или исключена из выбора).

CMD_INFO_INTERRUPT

Логическая величина (Logical). TRUE – если пользователь

 

прервал выбор клавишей ESC, FALSE – иначе.

Из процедуры RemoteMs4

 

 

gHandler или RemoteQue4

 

ryHandler( ):

 

 

 

CMD_INFO_MSG

Строка, представляющая собой “выполняемое” сообщение или имя

 

элемента послания MapInfo от программыLклиента. Детали

 

смотрите в описании процедур RemoteMsgHandler и

 

RemoteQueryHandler( ).

Из процедуры Win4

 

 

ChangedHandler или Win4

 

ClosedHandler:

 

 

 

Справочник MapBasic

79

Функция CommandInfo( )

CMD_INFO_WIN

Целое число (Integer), идентификатор окна, в котором было

 

изменение или которое было закрыто. Детали смотрите в описании

 

процедур WinChangedHandler и WinClosedHandler.

Из процедуры Foreground4

 

 

TaskSwitchHandler:

 

 

 

CMD_INFO_TASK_SWIT

Целое число (Integer), указывающее, что MapInfo либо только что

CH

стало активным приложением, либо только что перестало быть

 

активным. Результатом может быть один из кодов:

 

SWITCHING_INTO_MAPINFO (если MapInfo получает фокус).

 

SWITCHING_OUT_OF_MAPINFO (если MapInfo теряет фокус).

 

 

Вызов после операции поиска

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

Значение attribute

Результат CommandInfo(attribute)

CMD_INFO_FIND_RC

Целое число (Integer), код успеха поиска.

CMD_INFO_FIND_ROWID

Целое число (Integer), номер строки, которой соответствует

 

найденный объект.

CMD_INFO_X или

Действительное число, координата (по оси X или Y) найденного

CMD_INFO_Y

места.

Вызов из процедурыUобработчика инструмента

Внутри процедурыLобработчика инструмента ToolButton Вы можете использовать следующие коды:

Значение attribute

CMD_INFO_X

Результат CommandInfo(attribute)

XLкоордината точки, где была нажата кнопка мыши:

на Карте, долгота в установленных единицах и в соответствии с текущей в MapBasic системой координат;

вСписке, номер колонки в окне (единица соответствует самой левой колонке в окне);

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

80

Справочник MapBasic

 

Функция CommandInfo( )

 

 

 

 

CMD_INFO_Y

YLкоордината точки, где была нажата кнопка мыши:

 

на Карте, широта в установленных единицах и в соответствии с

 

текущей в MapBasic системой координат;

 

в Списке, номер строки в окне (единица соответствует самой

 

верхней строке в окне);

 

в Отчете, расстояние между верхним краем Отчета и указанной

 

точкой в текущих "бумажных" единицах (ноль соответствует

 

точке на верхнем крае листа Отчета);

 

 

CMD_INFO_X2

XLкоордината точки, в которой пользователь отпустил кнопку

 

мыши. Использование этого кода возможно, если инструменту

 

был назначен режим рисования (например, использовался код

 

DM_CUSTOM_LINE).

 

 

CMD_INFO_Y2

YLкоордината точки, в которой пользователь отпустил кнопку

 

мыши.

CMD_INFO_SHIFT

Логическая величина: TRUE (логическое "Да"), если

 

пользователь при указании нажал на клавишу SHIFT, FALSE

 

(логическое "Нет"), если эта клавиша при указании не была

 

нажата.

CMD_INFO_CTRL

Логическая величина: TRUE (логическое "Да"), если

 

пользователь при указании нажал на клавишу CTRL, FALSE

 

(логическое "Нет"), если эта клавиша при указании не была

 

нажата.

CMD_INFO_TOOLBTN

Целое число (Integer), идентификатор кнопки инструмента,

 

который вызвал этот обработчик.

 

 

CMD_INFO_CUSTOM_OBJ

Объектная величина: полилиния или многоугольник,

 

нарисованный пользователем. Применяется с режимами

 

рисования DM_CUSTOM_POLYLINE или

 

DM_CUSTOM_POLYGON.

 

 

После вызова Macintosh XCMD

В среде MapInfo для Macintosh Вы можете обратиться к Macintosh XCMD. После вызова XCMD, Вы можете использовать функцию CommandInfo( ) со следующими кодами:

Значение attribute

CMD_INFO_XCMD

Поддержка Геолинка (Hotlink)

Результат CommandInfo(attribute)

Строка, показывающая, произошла ли ошибка во время выполнения команды XCMD. Более подробно о XCMD можно прочитать в файле ..\MAPBASIC\DOC\MAC.DOC, появляющемся после установки пакета MapBasic.

Приложения MapBasic запущенные инструментом Геолинк (Hotlink) могут получить информацию об активном объекте через функцию CommandInfo. В таблице приведен список атрибутов

Справочник MapBasic

81

Функция CommandInfo( )

которые могут быть запрошены:

Значение attribute

Результат CommandInfo(attribute)

 

 

CMD_INFO_HL_WINDOW

Id окна карты или списка

_ID

 

 

 

CMD_INFO_HL_TABLE_N

Имя таблицы ассоциированной со слоем карты или окном

AME

списка

 

 

CMD_INFO_HL_ROWID

Id строки таблицы соответствующая соответствующее объекту

 

карты или записи в списке

 

 

CMD_INFO_HL_LAYER_I

id слоя, если программа была запущена из окна карты.

D

 

 

 

CMD_INFO_HL_FILENAM

Имя запущенного файла.

E

 

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

 

 

FrontWindow(_), SelectionInfo(_), Set Command Info, WindowInfo(_)

82

Справочник MapBasic

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