Здравствуйте!
Я новичок в MapBasic, буду очень благодарен, если мне помогут.
Хочу добиться, чтобы при наведении мыши на добавленный объект появлялась всплывающая подсказка.
Объект добавляется примерно вот так:
Create Table MyObjectTable (ID Decimal(1,0)) File "с:\service_table.tab"
Create Map For MyObjectTable CoordSys Earth
Open Table "с:\service_table.tab"
Commit Table MyObjectTable
Add Map Layer MyObjectTable Animate
Insert Into MyObjectTable (obj,ID) Values (CreatePoint(39,47),1)
Команды MapBasic выполняются через вызов метода Do OLE-сервера MapInfo.
Видел в фрагменте чужого кода создание таблицы с полем описания, что-то типа:
Create Table MyObjectTable (Description Char(100), ID Decimal(1,0)) File "с:\service_table.tab"
...
Insert Into MyObjectTable (Description, ID, obj) Values ("Текстовое Описание", 1, CreatePoint(39,47))
но как заставить MapInfo использовать это описание для всплывающей подсказки...
Заранее благодарен
Как добавить всплывающую подсказку к объекту
-
- Новоприбывший
- Сообщения: 2
- Зарегистрирован: 08 июл 2009, 14:50
- Репутация: 0
-
- Завсегдатай
- Сообщения: 257
- Зарегистрирован: 10 июн 2009, 12:21
- Репутация: 0
- Откуда: Екатеринбург
- Контактная информация:
Re: Как добавить всплывающую подсказку к объекту
Код: Выделить всё
Set Map
Layer 1
Label With label_expr
А предложение Commit Table MyObjectTable наверное надо поставить после добавления объекта в таблицу. Сразу после создания таблицы ее сохранять ни к чему.
-
- Новоприбывший
- Сообщения: 2
- Зарегистрирован: 08 июл 2009, 14:50
- Репутация: 0
Re: Как добавить всплывающую подсказку к объекту
Большое спасибо, Reasonat!
Получилось именно то, что нужно, каждый объект имеет свое описание.
Пришлось немного повозиться с одним нюансом. Я добавлял слой как Animate (Add Map Layer MyObjectTable Animate), а для анимационного слоя указанный механизм подписывания не работает, выполнение "Set Map Layer 1 Label With Description" выдает исключение.
Если же добавлять слой как обычный, все работает именно так, как хотелось. Еще раз благодарю.
Получилось именно то, что нужно, каждый объект имеет свое описание.
Пришлось немного повозиться с одним нюансом. Я добавлял слой как Animate (Add Map Layer MyObjectTable Animate), а для анимационного слоя указанный механизм подписывания не работает, выполнение "Set Map Layer 1 Label With Description" выдает исключение.
Если же добавлять слой как обычный, все работает именно так, как хотелось. Еще раз благодарю.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость