Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как узнать положение текста, куда планируется его, абсолютные координаты вводимого текста 
:(
    Опции темы
Diego1
  Дата 3.12.2009, 19:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 3.9.2009

Репутация: нет
Всего: нет



Создал новый документ, задал маргины 

Код

Word::SectionPtr lastSection = m_WordDocument->Sections->GetLast();
    
lastSection->PageSetup->BottomMargin = m_AppWord->CentimetersToPoints(1);
lastSection->PageSetup->TopMargin = m_AppWord->CentimetersToPoints(1);
lastSection->PageSetup->LeftMargin = m_AppWord->CentimetersToPoints(1);
lastSection->PageSetup->RightMargin = m_AppWord->CentimetersToPoints(10);


Дальше, в цикле вставляю текст

Код

Word::ParagraphPtr paragraph = m_WordDocument->GetParagraphs()->GetLast();
paragraph->PutSpaceBefore(spaceBefore);

Word::RangePtr range = paragraph->GetRange();
range->InsertAfter(text);    

Word::_FontPtr font = range->GetFont();
font->PutName(fontName);
font->PutSize(fontSize);
font->PutColor(Word::WdColor(color));


Как на i-ой итерации цикла узнать в какую точку документа будет вставлен текст? При этом устанавливая маргины станицы, спейсинги и индеты параграфам.

Можно ли узнать размер вводимого текста? Если у нас есть текст в заранее не известного размера, после вставки его на страницу, существует возможность узнать его параметры (например: описывающий прямоугольник)? smile 

Это сообщение отредактировал(а) Diego1 - 3.12.2009, 19:17
PM MAIL   Вверх
ViterAlex
Дата 3.12.2009, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 7.10.2009
Где: Харьков

Репутация: 7
Всего: 7



Положение текста в документе определяется  по его удалённости от начала документа. У Range есть свойства Start и End, которые возвращают номер символа в документе с которого Range начинается и которым заканчивается.
Судя по твоему коду, ты вставляешь текст в последний абзац, т.е точка вставки всегда Document.Paragraphs.Last.Range.End.
PM MAIL WWW ICQ   Вверх
Diego1
Дата 4.12.2009, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 3.9.2009

Репутация: нет
Всего: нет



Существует возможность из Document.Paragraphs.Last.Range.End. получить точку (смещение в сантиметрах от начала страницы)?


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0790 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.