Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Word. Установка курсора на заданную позицию в строке.


King of Lamers ©   (2005-04-06 21:41:00) 

Приветсвую.

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

И как вариант решения проблеммы... можно ли получить длинну word-строки (с учетом сделанных отступов, размера и типа шрифта)? Т.е. другими словами, узнать сколько символов при данном раскладе влезет в строку?

Спасибо за внимание.


King of Lamers   (2005-04-07 20:00:00) [1]

Да-да-да, именно так :0) Днем на парах родил сию мысль

vr:=wdAlignTabLeft;vr2:=wdTabLeaderSpaces;
WP.Selection.ParagraphFormat.TabStops.Add(WP.CentimetersToPoints(10), vr,vr2);
WP.Selection.TypeText(#9);

... обратил внимание, что вдали от компьютера мозг варит лучше.

ЗЫ: В любом случае, спасибо, что не прошли мимо вопроса.


YurikGL   (2005-04-07 08:08:00) [2]


> Мучаюсь над следующей проблеммой: добавляю пустую строку,
> вставляю текст в начало, теперь необходимо переместить курсор
> на определенную позицию (например 10 сантиметров, согласно
> "линейке") и добавить еше текст... просто понаставить пробелы
> не выйдет, ибо длинна первого куска текста неизвестна (но
> не больше некого максимума). Следовательно, нужна некая
> функция, получить её спомошью макроса VB не смог :(


во ворде, если кликнуть мышкой на линейке, появиться TabStop и текст после сивола табуляции начнется с этого TabStop-а
Макрос получения TabStop-а

Selection.ParagraphFormat.TabStops.Add Position:=CentimetersToPoints(3.17) _
       , Alignment:=wdAlignTabLeft, Leader:=wdTabLeaderSpaces


Наверх

Титульная страница Поиск, карта сайта Написать письмо