Статьи Королевства Дельфи

       

Интеграция инструментальных панелей Maplnfo краткий вводный курс.


Вы не можете переподчинить стандартные инструментальные панели MapInfo. Если Вы хотите, чтобы Ваша клиентская программа имела такие панели вы должны сами создать панели и кнопки на Delphi (например используя Tpanel и Tbutton) и их обработчике посылать специальные команды MapInfo для того что-бы MapInfo включало или переключала режимы работы (например с выбора объекта на перемещения окна карты (ладошка)).

Если Вы хотите, чтобы кнопка панели эмулировала стандартную кнопку MapInfo, используйте метод MapInfo Run Menu Command.
Например в обработчике OnClick пропишите следующею команду KDMapInfoServer1.ExecuteCommandMapBasic('Run Menu Command 1702',[]); Когда пользователь нажмет на эту кнопку, программа вызывовет метод MapInfo - Run Menu Command, который активизирует инструмент под номером 1702 (инструмент перемещение карты "рука" ).

"Магический" номер 1702 ссылается на инструмент "рука" служащий для перемещения (сдвига) карты.

Вместо того, чтобы использовать такие числа. Вы можете использовать идентификаторы, более понятные в тексте программы. MapBasic определяет стандартный идентификатор M_TOOLS_RECENTER который имеет значение 1702. Таким образом, этот пример можно записать так: KDMapInfoServer1.ExecuteCommandMapBasic('Run Menu Command %S', [M_TOOLS_RECENTER]); Использование идентификаторов (типа M_TOOLS_RECENTER) делает Вашу программу более читательной, но перед использование вы должны включить в программу (в Uses) соответствующий заголовочный файл MapBasic. Для Delphi я положил файл Global.pas (содержимое файла опубликовано в приложении 1).

В следующей таблице приведены кратко идентификаторы основных инструментальных кнопок MapInfo (для более побробной информации смотрите документацию по MapBasic).

Кнопки панели Операции НомерИдентификаторПрим.
Выбор1701М_TOOLS_SELECTORПанель ОПЕРАЦИИ
Выбор в прямоугольнике1722M_TOOLS_SEARCH_RECTПанель ОПЕРАЦИИ
Выбор в круге 1703M_TOOLS_SEARCH_RADIUSПанель ОПЕРАЦИИ
Выбор в области1704M_TOOLS_SEARCH_BOUNDARYПанель ОПЕРАЦИИ
Увеличивающая лупа1705M_TOOLS_EXPANDПанель ОПЕРАЦИИ
Уменьшающая лупа1706M_TOOLS_SHRINKПанель ОПЕРАЦИИ
Ладошка (рука)1702M_TOOLS_RECENTERПанель ОПЕРАЦИИ
Информация1707M_TOOLS_PNT_QUERYПанель ОПЕРАЦИИ
Подпись1708M_TOOLS_LABELERПанель ОПЕРАЦИИ
Линейка1710M_TOOLS_RULERПанель ОПЕРАЦИИ
Переноска1734M_TOOLS_DRAGWINDOWПанель ОПЕРАЦИИ
Символ1711M_TOOLS_POINTПанель ПЕНАЛ
Линия1712M_TOOLS_LINEПанель ПЕНАЛ
Полилиния1713M_TOOLS_POLYLINEПанель ПЕНАЛ
Дуга1716M_TOOLS_ARCПанель ПЕНАЛ
Полигон1714M_TOOLS_POLYGONПанель ПЕНАЛ
Эллипс1715M_TOOLS_ELLIPSEПанель ПЕНАЛ
Прямоугольник1717M_TOOLS_RECTANGLEПанель ПЕНАЛ
Прямоугольник скругленный1718M_TOOLS_ROUNDEDRECTПанель ПЕНАЛ
Текст|1709M_TOOLS_TEXTПанель ПЕНАЛ
Рамка1719M_TOOLS_FRAMEПанель ПЕНАЛ



Содержание раздела