Как управлять шириной заголовка отчета?
Строится кросс (TfrxCrossView), для странички задана бумага "бесконечной" ширины.
Реальная ширина, естественно, получается всякий раз разная.
Надо бы, чтобы надпись в заголовке выравнивалась по серединке.
Как вычислить реальную ширину кросс-отчета, чтобы, например, в скрипте задать нужный отступ?
Спасибо.
Реальная ширина, естественно, получается всякий раз разная.
Надо бы, чтобы надпись в заголовке выравнивалась по серединке.
Как вычислить реальную ширину кросс-отчета, чтобы, например, в скрипте задать нужный отступ?
Спасибо.
Комментарии
В дизайнере еще проще. Нужно выставить для ReportTitle1 свойство Stretched равным true. Для Memo1 свойство HAlign равным haCenter, и свойство Align равным baCenter.
На самом деле, вопрос сложнее.
Например, нужно растягивать некоторые поля в заголовке в соответствии с реальной шириной бумаги.
Слева на заголовке - картинка-логотип (не растягиваемый), правее от него - название отчета ("мемка", которую нужно разместить в рамке).
Левая граница рамки фиксирована и должна находиться сразу за логотипом, а правая граница рамки должна быть выровнена по актуальной правой границе кросс-отчета.
Т.е., нужно рассчитать и установить ширину этого поля.
<!--fonto:Courier New--><span style="font-family:Courier New"><!--/fonto-->
[Логотип][<--- Название отчета (растянуть до правой границы кросса)--->]
[<------------------- Кросс (переменной ширины)----------------------->]
<!--fontc--></span><!--/fontc-->
Хорошо бы (в т.ч.) иметь возможность задавать Ancors, как в дизайнере форм Delphi.
Вопрос: как вычислить ширину кросс - отчета при формировании заголовка отчета?
Пример отчета из mainDemo приложен.
2. Вопрос: как узнать ширину кросс - отчета?
Кросс сначала заполняется данными, потом вычисляются высота и ширина объектов, потом кросс выводится.
Можно вычислить в скрипте
Но для хидера такой вариант будет работать только в 2-х проходном отчете, если на первом проходе сохранить ширину кросса.
Только в Вашем случае смысла в этом не вижу, проще и быстрее сделать через Align(вместо двойного построения отчета).
1. Ну, я так и делаю. Жалко, конечно, что сам TfrxCrossView "не знает" свою итоговую ширину (после построения, конечно).
2. Через Align's никак. Отчет реально сложнее, чем упомянутые мной два примера.
3. Спа-си-бо!