В FastReport4, как выровнять 3 строки заметки по вертикали, где, если 2-я строка заметки пуста, остальные 2 могут быть выровнены вместе автоматически?

Использование FastReport4 в Delphi XE3.

У меня есть 3 поля Memo, как показано на рис. 1, я хочу, чтобы одно из полей было пустым, они могли автоматически выравниваться по вертикали, но моя проблема заключается в том, что если memo2 пуст, я получаю то, что на рис. 2, пустое пространство между memo1 и memo3, я пробовал растягивать, переключать режимы без толку, я хочу, чтобы это было как на рис. 3, так что есть идеи, как это сделать?

Спасибо.

Fig-1Рис-2 Рис-3


person Dreamer64    schedule 27.04.2013    source источник
comment
Использование ленты и установка растяжения были бы обычным решением этой проблемы.   -  person bummi    schedule 27.04.2013
comment
Поможет ли документация по многострочному тексту?   -  person Rob Kennedy    schedule 27.04.2013
comment
нет, я так пробовал, спасибо   -  person Dreamer64    schedule 27.04.2013


Ответы (1)


Вы должны проверить, является ли Memo пустым или не использует приведенный ниже код в Delphi перед событием печати:

if TfrxMemoView(frxReport.FindObject('Memo2')).Text = '' then
  TfrxMemoView(frxReport.FindObject('Memo3')).Top := TfrxMemoView(frxReport.FindObject('Memo2')).Top;
person Poorhoseini    schedule 27.04.2013
comment
Отлично, я знал, что это легко, но я не думал об этом таким образом! Благодарность - person Dreamer64; 27.04.2013
comment
У меня возникло бы искушение просто поместить весь доступный текст в одну многострочную заметку Memo1.text := GetAllNonEmptyLinesFrom(Array); - person Warren P; 28.04.2013