Возможно ли менять стиль шрифта в TfrxMemoView в зависимости от состояния заголовка группы (свёрнут/развёрнут)?

Question: Возможно ли менять стиль шрифта в TfrxMemoView в зависимости от состояния заголовка группы (свёрнут/развёрнут)?

Answer:

Для этого нужно зарегистрировать в скрипте отчёта пользовательскую функцию, которая будет возвращать состояние заголовка группы

1
2
3
4
5
6
7
8
9
function TForm1.frxReport1UserFunction(const MethodName: String; var Params: Variant): Variant; 
begin 
if 
MethodName = 'CHECKDRILLSTATE' then 
Result := frxReport1.DrillState.IndexOf(Params[0]); 
end; 
procedure TForm1.FormShow(Sender: TObject); 
begin frxReport1.AddFunction('function CheckDrillState(DrillName : string): integer'); 
end;

 

 а в самом скрипте отчёта проверять состояние заголовка группы и устанавливать требуемый стиль шрифта 

1
2
3
4
5
6
7
procedure GroupHeader1OnBeforePrint(Sender: TfrxComponent); 
begin 
if CheckDrillState(GroupHeader1.DrillName) <> - 1 then 
Memo6.Font.Style := fsBold 
else 
Memo6.Font.Style := 0; 
end;