[CDR X8] программно узнать координаты текста в текстовом фрейме

Статус
Закрыто для дальнейших ответов.

Nezar

Участник
Топикстартер
Сообщения
158
Оценка реакций
3
Когда то уже задавал этот вопрос.
тогда форум пришел к тому что это невозможно, используя ВБА
сейчас наткнулся на ранее неизвестную для меня функцию.
...
есть некий шейп.
в нем создается текстовый фрейм.
вставляем туда один любой символ.
нажимаем Ф10, выбираем этот текстовый фрейм.
в левом нижнем углу символа появляется квадрат.
удерживая этот квадрат мы можем перемещать наш символ куда угодно.
исходя из этого получается что всеже у символа есть некие координаты и по логике, их можно получить какой то некой загадочной функцией.
или мои надежды напрасны и все же никак нельзя поучит координаты символа внутри текстового фрейма, штатными средствами?
Ссори за дублирование темы, просто вопрос для меня все еще актуален ((
 

_MBK_

Пикирующий бомбардировщик
12 лет на форуме
Сообщения
24 361
Оценка реакций
8 377
Я вас от души поздравляю с новым открытием :D
исходя из этого получается что всеже у символа есть некие координаты и по логике, их можно получить какой то некой загадочной функцией.
Абсолютно ничего загадочного
Text.Story.Characters.Item(N).HorizShift и VertShift
Но это сильно вам поможет? 'hmmm'
 

Nezar

Участник
Топикстартер
Сообщения
158
Оценка реакций
3
Спасибо.
В этом виде реально не сильно поможет ((
Думал что можно узнать глобальную координату.
А так не понятно что она за ноль принимает.
Щас пробую разобраться.
.
ноль у нее самый верхний левый участок, куда на вместила символ.
но где он в рамках страницы находится, подозреваю что не узнать.
жаль((
 
Последнее редактирование:

_MBK_

Пикирующий бомбардировщик
12 лет на форуме
Сообщения
24 361
Оценка реакций
8 377
Ну самый действенный (хоть и не совсем корректный) способ тут уже озвучивали - дублировать текстовый обьект, а полученный дубль разбирать на символы при помощи Break Appart
 

Nezar

Участник
Топикстартер
Сообщения
158
Оценка реакций
3
я дико извиняюсь, видать упустил.
дублировать текстовый объект - это как? именно копировать текстовый фрейм или разгрупировать?
 

_MBK_

Пикирующий бомбардировщик
12 лет на форуме
Сообщения
24 361
Оценка реакций
8 377
дублировать текстовый объект - это как?
Дублировать - это, в смысле, создить копию, дабы потрошить ее, не портя оригинала
На расовом канадском Shape.Duplicate (не путать с укроканадским созвучным словом)
 

Nezar

Участник
Топикстартер
Сообщения
158
Оценка реакций
3
значит не туплю.
а потом разгрупировать?
 

_MBK_

Пикирующий бомбардировщик
12 лет на форуме
Сообщения
24 361
Оценка реакций
8 377

Nezar

Участник
Топикстартер
Сообщения
158
Оценка реакций
3
понял.
разгрупировать - это я не правильно мысль выразил.
имел в виду - преобразовать в кривую ))

к сожалению BreakApart() как и преобразование в кривую работает не корректно.
если изначальный шейп имел внутри себя "дырку", то после разгрупировки или BreakApart() текстового фрейма он становится просто четырехугольный по размеру изначального шейпа. и символ перемещается в угол или кудато, куда заданно выравниванием.
т.е. не сохраняется изначалный контур.

если "дырок" нет - то все красиво. текст не смещается.
если бы не было такого неудобства - то давно бы уже сделал ((
... может конечно я что то не так делаю...
 

_MBK_

Пикирующий бомбардировщик
12 лет на форуме
Сообщения
24 361
Оценка реакций
8 377
имел в виду - преобразовать в кривую
Нет
На текстовых шейпах данная функция работает следующим образом
первый раз на строки разбивает, второй на символы
Преобразование в кривые не производится

Хотя, возможно, я не понял проблемы
 

Nezar

Участник
Топикстартер
Сообщения
158
Оценка реакций
3
BreakApart() - Ctrl+K - верно?
 

Вложения

  • 62.9 КБ Просмотры: 470
  • 54.8 КБ Просмотры: 326

_MBK_

Пикирующий бомбардировщик
12 лет на форуме
Сообщения
24 361
Оценка реакций
8 377
А ну так у вас совсем сложный случай - Paragraph text inside a Path
Разумеется, при раскомбинировании корел первым делом параграф текст из контейнера выводит
 

Nezar

Участник
Топикстартер
Сообщения
158
Оценка реакций
3
к сожалению я еще не все термины выучил.
но делал просто обычный текстовый фрейм.
картинка 4 и 5ть. все тоже самое но без "дырки"
после BreakApart() контур остается темже.
на 5й картинке сдвинул его.
как по мне - то не понятно какая ему разница есть в контуре отверстие или нет... зачем надо контур делать потом четырехугольным
 

Вложения

  • 63.7 КБ Просмотры: 291
  • 61.1 КБ Просмотры: 292
  • 62.5 КБ Просмотры: 486

Nezar

Участник
Топикстартер
Сообщения
158
Оценка реакций
3
В диспетчере объектов тоже совершенно одинаково выглядят.
 

Вложения

  • 48.6 КБ Просмотры: 473

_MBK_

Пикирующий бомбардировщик
12 лет на форуме
Сообщения
24 361
Оценка реакций
8 377
зачем надо контур делать потом четырехугольным
Потому что последовательность действий при раскомбинировании такова:
первым делом параграф текст из контейнера выводит
затем
на строки разбивает, второй на символы
 

Nezar

Участник
Топикстартер
Сообщения
158
Оценка реакций
3
я думал что кнтейнеры это PowerClip.
и его я вроде не делал - хотя есть такая функция.
поэтому у меня загадка как он оказывается в контейнере если я делаю простой текстовый фрейм.
или этот текстовый фрейм по умолчанию оказывается в контейнере?.
.
я вот думаю может вообще по другому задачу решить и не связываться с этими контейнерами.
 

_MBK_

Пикирующий бомбардировщик
12 лет на форуме
Сообщения
24 361
Оценка реакций
8 377
я делаю простой текстовый фрейм.
или этот текстовый фрейм по умолчанию оказывается в контейнере?.
Поподробнее о том как именно вы делаете простой текстовый фрейм
 

Nezar

Участник
Топикстартер
Сообщения
158
Оценка реакций
3
правой кнопкой на шейпе
 

Вложения

  • 132.7 КБ Просмотры: 474

_MBK_

Пикирующий бомбардировщик
12 лет на форуме
Сообщения
24 361
Оценка реакций
8 377
Вам обязательно параграф фрейм такой сложной формы?
 
Статус
Закрыто для дальнейших ответов.