Интеграция инструментальных панелей MapInfo

Невозможно переподчинить инструментальные панели MapInfo. Если, нужно чтобы клиентская программа имела такие панели, необходимо создать кнопки на языке, который используется в системе программирования. Эти кнопки будут эмулировать стандартные кнопки MapInfo, используя метод RunMenuCommand. (Этот метод действует так же, как оператор MapBasic Run Menu Command).

OleMapInfо.RunMenuCommand(1707)

Когда пользователь нажимает на соответствующую кнопку, программа вызывает метод MapInfo RunMenuCommand, который активизирует инструмент под номером 1707 (инструмент Информация MapInfo).

Номер 1707 ссылается на инструмент Информация. Вместо того, чтобы использовать такие числа, Так же можно использовать идентификаторы, более понятные в тексте программы, Map Basic определяет стандартный идентификатор MTOOLSPNTQUERY, который имеет значение 1707. Таким образом, этот пример можно записать так:

OleMapInfо. RunMenuCommand (M_TGGLS_PNT_QUERY)

Использование идентификаторов (типа MTOOLSPNTQUERY) делает программу более легкой для чтения. Однако если планируется использовать идентификаторы в коде, то необходимо включить соответствующий заголовочный файл MapBasic.

В следующей таблице №1. приведены идентификаторы инструментальных кнопок MapInfo, Они содержатся в файлах MAPBASIC.BAS (для Visual Basic), MAPBASIC.H (для С), и MENUS.DEF (для MapBasic).

Таблице №1. Идентификаторы инструментальных кнопок.

Кнопки панели Операции Номер Идентификатор
Стрелка   M_TOOLS_SELECTOR
Выбор в рамке   M_TOOLS_SEARCH__RECT
Выбор в круге   M_TOOLS_SEARCH_RADIUS
Выбор в области   M_TOOLS_SEARCH_BOUNDARY
Увеличивающая лупа   M_TOOLS_EXPAND
Уменьшающая лупа   M_TOOLS_SHRINK
Панорамирование   M__TOOLS_RECENTER
Информация   M_TOOLS_PNT_QUERY
Подпись   M_TOOLS_LABELER
Линейка   M_TOOLS__RULER
Перенос   M_TOOLS_DRAGWINDOW

Константы, прописанные в файле MapBasic.Def, могут быть заменены на соответствующие цифровые значения. Либо вы можете подключить к проекту файл UMapInfo.pas, в котором описаны вышеобозначенные переменные.

Запуск приложений MapInfo

Запуск приложений в языке MapBasic осуществляется оператором Run Application, поэтому в Delphi вы должны ввести следующие инструкции:

sMsgString:= ' Run Application “test.wor”';

oleMapInfo.Do(sMsgString);

или

sMsgString:= ' Run Application “test.mbx”';

oleMapInfo.Do(sMsgString);


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: