Сочетание Margin и CanGrow

Обсуждение Stimulsoft Reports.NET
Ответить
Yukio
Сообщения: 11
Зарегистрирован: 07 авг 2006, 13:32
Откуда: Москва

Сочетание Margin и CanGrow

Сообщение Yukio »

Здравствуйте!

Как сочетать ненулевой Margin и CanGrow для StiText?

Если указать ненулевой Margin для контрола StiText, который потом увеличивает свои размеры, такое ощущение, что новые размеры контрола пересчитываются без учета горизонтальной составляющей margin'a, а потом margin "съедает" часть текста в контроле (по крайней мере в Preview это так, при экспорте в разные форматы it varies).
Edward
Сообщения: 930
Зарегистрирован: 09 июн 2006, 12:23

Сочетание Margin и CanGrow

Сообщение Edward »

Yukio писал(а):Здравствуйте!

Как сочетать ненулевой Margin и CanGrow для StiText?

Если указать ненулевой Margin для контрола StiText, который потом увеличивает свои размеры, такое ощущение, что новые размеры контрола пересчитываются без учета горизонтальной составляющей margin'a, а потом margin "съедает" часть текста в контроле (по крайней мере в Preview это так, при экспорте в разные форматы it varies).
Спасибо за вопрос. Это ошибка версии 1.60. Для получения обновления обратитесь с запросом на Изображение. Пожалуйста укажите свой регистрационный номер для получения обновления для платной версии. Если Вы не зарегистрированный пользователь, обращайтесь в любом случае.
Спасибо.
Yukio
Сообщения: 11
Зарегистрирован: 07 авг 2006, 13:32
Откуда: Москва

Сочетание Margin и CanGrow

Сообщение Yukio »

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

В новой версии StiText, если ему указать CanGrow=true, и ненулевой горизонтальный margin, вместо того, чтобы формировать отступ внутри, увеличивает размер контрола по горизонтали, и он заезжает на соседние.

Еще вопрос: как связаны единицы, в которых указывает Margin, с единицами в отчете?
Edward
Сообщения: 930
Зарегистрирован: 09 июн 2006, 12:23

Сочетание Margin и CanGrow

Сообщение Edward »

Yukio писал(а):Спасибо за обновление.

В новой версии StiText, если ему указать CanGrow=true, и ненулевой горизонтальный margin, вместо того, чтобы формировать отступ внутри, увеличивает размер контрола по горизонтали, и он заезжает на соседние.
Cпасибо, поправили. Пожалуйста обращайтесь на Изображение за обновлением.
Yukio писал(а): Еще вопрос: как связаны единицы, в которых указывает Margin, с единицами в отчете?
Никак не связаны. В свойстве Margins используются единицы измерения - сотые дюйма.

Спасибо.
Yukio
Сообщения: 11
Зарегистрирован: 07 авг 2006, 13:32
Откуда: Москва

Сочетание Margin и CanGrow

Сообщение Yukio »

Еще замечено: неправильно сочетается margin с значением StiVertAlignment = Center или Bottom - текст смещается немного вверх. (Для Top работает нормально)

исправлено: другая ошибка оказалась поправленной в обновлении, сорри
Vital
Сообщения: 647
Зарегистрирован: 09 июн 2006, 12:23

Сочетание Margin и CanGrow

Сообщение Vital »


Проверили, но эффект явно не проявляется. Возможно прислать какой нибудь пример?

Спасибо.
Yukio
Сообщения: 11
Зарегистрирован: 07 авг 2006, 13:32
Откуда: Москва

Сочетание Margin и CanGrow

Сообщение Yukio »

Эффект (по крайней мере у меня) в самом деле небольшой, может быть и не стоило беспокоиться. Но тем не менее... примерно такой код может это показать:

Код: Выделить всё

StiBorder border = new StiBorder(StiBorderSides.All,Color.Black,1,StiPenStyle.Solid);
StiMargins margins = new StiMargins(0,0,0,0);
StiReport report = new StiReport();

StiText cellText = new StiText(new RectangleD(0,0,2.5,0.4));
cellText.CanShrink = true;
cellText.CanGrow = true;
cellText.Border = border;
cellText.Name = "text1";
					
cellText.VertAlignment = StiVertAlignment.Center;
cellText.Text = "valign = center";

cellText.Margins = margins;
report.Pages[0].Components.Add(cellText);

StiText cellText2 = new StiText(new RectangleD(2.5,0,2.5,0.4));
cellText2.CanShrink = true;
cellText2.CanGrow = true;
cellText2.Border = border;
cellText2.Name = "text2";
					
cellText2.VertAlignment = StiVertAlignment.Top;
cellText2.Text = "valign = top";
cellText2.Margins = margins;
report.Pages[0].Components.Add(cellText2);

report.Show();
При просмотре видно, что строчка "valign=center" чуть-чуть выше, чем "valign=top". Хотя возможно в самом деле это не так существенно.
Ответить