Частичное заполнение страницы, с переносом на другую
Нужно разбить текст в Memo на страницы, таким образом чтобы страница была заполнена не полностью, а на половину. Т.е. допустим на первой странице выводится 20 строк одной и той же записи, ниже пустота или какие-то элементы, далее создается следующая страница на ней выводится еще 20 строк (все той же записи) и так далее.
Сейчас я пытаюсь сделать таким образом:
MasterData:
AllowSplit = True;
StartNewPage = True;
Strached = False;
Memo:
StretchMode = smActualHeight.
Однако MasterData все равно растягивается до конца страницы.
Сейчас я пытаюсь сделать таким образом:
MasterData:
AllowSplit = True;
StartNewPage = True;
Strached = False;
Memo:
StretchMode = smActualHeight.
Однако MasterData все равно растягивается до конца страницы.
Комментарии
1) Заводим в скрипте в глобальных переменных стринглист со всем текстом;
2) В мемо OnBeforePrint грузим нужное кол-во строк (по желанию - проверяя на макс. высоту через CalcHeight)
3) Удаляем из стринглиста то, что загрузили в мемо
4) Engine.StartNewPage (или подобное)