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

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

Nezar

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

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 137
Реакции
10 835
Я вас от души поздравляю с новым открытием :D
исходя из этого получается что всеже у символа есть некие координаты и по логике, их можно получить какой то некой загадочной функцией.
Абсолютно ничего загадочного
Text.Story.Characters.Item(N).HorizShift и VertShift
Но это сильно вам поможет? 'hmmm'
 
  • Спасибо
Реакции: Nezar

Nezar

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

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 137
Реакции
10 835
Ну самый действенный (хоть и не совсем корректный) способ тут уже озвучивали - дублировать текстовый обьект, а полученный дубль разбирать на символы при помощи Break Appart
 

Nezar

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

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 137
Реакции
10 835
дублировать текстовый объект - это как?
Дублировать - это, в смысле, создить копию, дабы потрошить ее, не портя оригинала
На расовом канадском Shape.Duplicate (не путать с укроканадским созвучным словом)
 

Nezar

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

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 137
Реакции
10 835

Nezar

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

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

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

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 137
Реакции
10 835
имел в виду - преобразовать в кривую
Нет
На текстовых шейпах данная функция работает следующим образом
первый раз на строки разбивает, второй на символы
Преобразование в кривые не производится

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

Nezar

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

Вложения

  • 1.jpg
    1.jpg
    62.9 КБ · Просм.: 786
  • 2.jpg
    2.jpg
    54.8 КБ · Просм.: 430

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 137
Реакции
10 835
А ну так у вас совсем сложный случай - Paragraph text inside a Path
Разумеется, при раскомбинировании корел первым делом параграф текст из контейнера выводит
 

Nezar

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

Вложения

  • 3.jpg
    3.jpg
    63.7 КБ · Просм.: 592
  • 4.jpg
    4.jpg
    61.1 КБ · Просм.: 609
  • 5.jpg
    5.jpg
    62.5 КБ · Просм.: 789

Nezar

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

Вложения

  • 6.jpg
    6.jpg
    48.6 КБ · Просм.: 785

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 137
Реакции
10 835
зачем надо контур делать потом четырехугольным
Потому что последовательность действий при раскомбинировании такова:
первым делом параграф текст из контейнера выводит
затем
на строки разбивает, второй на символы
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 137
Реакции
10 835

Nezar

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

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 137
Реакции
10 835
я делаю простой текстовый фрейм.
или этот текстовый фрейм по умолчанию оказывается в контейнере?.
Поподробнее о том как именно вы делаете простой текстовый фрейм
 

Nezar

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

Вложения

  • 7.jpg
    7.jpg
    132.7 КБ · Просм.: 789

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 137
Реакции
10 835
Вам обязательно параграф фрейм такой сложной формы?
 
Статус
Закрыто для дальнейших ответов.