Как пролистать все объекты Tfxreport?
О моей ситуации: в задаче все отчеты имеют цветную полоску(фон) в заголовке каждой страницы, и еще, во многих отчетах для читабельности мы используем серый фон при печати данных.
Передо мной поставлена задача - с целью экономии картриджа во всех отчетах проета надо предоставить клиетнам возможность перед выполнением отчета установить режим - печатать ли отчет в цвете или цвет сделать clTransparent (прозрачный фон).
То есть мне надо, в зависимости от выбора пользователя, пройтись по всем TfrMemoView отчета и поменять свойство FillColor (если хотят печатать без цветного фона).
У нас все отчеты строятся на основе одного компонента TfrReport,который мы положили в DataModule. Пэтому в принципе было бы возможно для всех существующих отчетов одним махом реализовать эту задачу, и я даже уже попробовала примерить это для конкретного отчета, в котором я заранее посмотрела имя цветного TMemo и написалав процедуре, которая запускается перед выполнением отчета
var
i : Integer;
begin
MemoView := TfrMemoView(DTM.frMainReport.FindObject('Memo15'));
if assigned(MemoView) then
begin
MemoView.FillColor := 536870911; //clTransparent
end;
end;
И это работает.
Но, вот как мне организовать цикл, с прочтением всех объктов отчета я не знаю.
К примеру, я посмотрела документацию по FastReport версии 3.0, там есть свойство AllObjects, так что думаю, это бы решило мою проблему, но в версии 2.57 этого свойства нет. Как мне быть, помогите плз.
Заранее спасибо!
Надежда
P.S. Если не смогу реализовать эту зачачу, то как крайний вариант придется просто вручную менять каждый отчет, а отчетов-ну очень много, что даже подумать страшно о такой работе.
Передо мной поставлена задача - с целью экономии картриджа во всех отчетах проета надо предоставить клиетнам возможность перед выполнением отчета установить режим - печатать ли отчет в цвете или цвет сделать clTransparent (прозрачный фон).
То есть мне надо, в зависимости от выбора пользователя, пройтись по всем TfrMemoView отчета и поменять свойство FillColor (если хотят печатать без цветного фона).
У нас все отчеты строятся на основе одного компонента TfrReport,который мы положили в DataModule. Пэтому в принципе было бы возможно для всех существующих отчетов одним махом реализовать эту задачу, и я даже уже попробовала примерить это для конкретного отчета, в котором я заранее посмотрела имя цветного TMemo и написалав процедуре, которая запускается перед выполнением отчета
var
i : Integer;
begin
MemoView := TfrMemoView(DTM.frMainReport.FindObject('Memo15'));
if assigned(MemoView) then
begin
MemoView.FillColor := 536870911; //clTransparent
end;
end;
И это работает.
Но, вот как мне организовать цикл, с прочтением всех объктов отчета я не знаю.
К примеру, я посмотрела документацию по FastReport версии 3.0, там есть свойство AllObjects, так что думаю, это бы решило мою проблему, но в версии 2.57 этого свойства нет. Как мне быть, помогите плз.
Заранее спасибо!
Надежда
P.S. Если не смогу реализовать эту зачачу, то как крайний вариант придется просто вручную менять каждый отчет, а отчетов-ну очень много, что даже подумать страшно о такой работе.