Страница 1 из 1

Текстовые объекты

Добавлено: 20 июн 2018, 09:12
MSL
Всем привет!
Как программно присвоить/поменять Текстовому объекту указку на линию или стрелку?

Re: Текстовые объекты

Добавлено: 20 июн 2018, 09:33
wasposa
Поподробней можно? Что такое "указка на линию"?

Re: Текстовые объекты

Добавлено: 20 июн 2018, 09:55
wasposa
В понятиях MapInfo текстовый объект и подпись являются разными вещами. Если вы хотите, чтобы подпись к объекту имела указку в виде линии, то вы должны выполнить команду:
Set Map Window FrontWindow() Layer 1 Label Object n Line Simple,
если нужна стрелка:
Set Map Window FrontWindow() Layer 1 Label Object n Line Arrow,
если нужно убрать указку:
Set Map Window FrontWindow() Layer 1 Label Object n Line none.
Где Object n указывает на определенную строку таблицы. n соответствует RowID.

Re: Текстовые объекты

Добавлено: 20 июн 2018, 10:25
MSL
wasposa,
Подробнее: Создайте текстовый объект - посмотрите {F7} геоинформацию,
там есть интервалы, выравнивание и указка. (таких объектов оч.много)
Вопрос: как программно изменить всем или одному тхт.объекту одну из этих отрибуций
в данном случае указку (и я не путаю подписи с текст.объектами - конкретно написал Текстовому объекту)
---------------------------------------------------
через Alter Object выдает ОШИБКУ!
'myobj = TXT.object
Alter Object myobj info OBJ_INFO_TEXTARROW , 2
пишет ошибку:
ошибка 828
неправильно задан атрибут для Alter Object info
---------------------------------------------------
:roll: у кого какие мысли ...

Re: Текстовые объекты

Добавлено: 20 июн 2018, 10:54
wasposa
Вот этот код у меня работает без проблем.
Fetch Rec 1 From Untitled
Dim myobject As Object
myobject=Untitled.obj
Alter Object myobject Info 6,2
Update Untitled Set obj = myobject Where Rowid=1

Судя по ошибке он ругается на OBJ_INFO_TEXTARROW. Проверьте есть подключен ли файл определений (Include "Mapbasic.def") или просто замените OBJ_INFO_TEXTARROW на 6

Re: Текстовые объекты

Добавлено: 20 июн 2018, 11:15
juffin_h
У меня 'Alter Object myobj info OBJ_INFO_TEXTARROW , 2' тоже работает нормально.
Мне кажется на OBJ_INFO_TEXTARROW ругался бы по другому.
Вы уверены, что в переменной myobj то, что надо?

Re: Текстовые объекты

Добавлено: 20 июн 2018, 12:02
wasposa
Если у Вас Alter Object myobj info OBJ_INFO_TEXTARROW , 2 работает, тогда не понятно, что у Вас не работает. Закоментированная строка?

Re: Текстовые объекты

Добавлено: 20 июн 2018, 12:37
MSL
Спасибо всем :wink: Не знаю что было, но после перезагрузки МАПИНФО ВСЕ заработало (не меняя исходника)