обработчики событий
Нужна помощь! На форме отчета много объектов TfrxCrossView, у каждого прописано однотипное событие OnCalcWidth, например:
procedure Cross1OnCalcWidth(ColumnIndex: Integer; ColumnValues: Variant; var Width: Extended);
begin
if (ColumnIndex=0) then
Width := (fr1cm *3.5)
else
if (ColumnIndex<>0) then
Width := ((fr1cm *15.4)/(Cross1.ColCount-1));
end;
как можно получить ссылку на объект TfrxCrossView, который вызывает данный метод? тоесть хочется написать что-то вроде
Width := ((fr1cm *15.4)/(Cross.ColCount-1)) ,
где Cross будет меняться от вызова к вызову, чтобы избавиться от лишнего кода...как это реализовать мне не понятно..
Вообще, суть этого обработчика в том, чтобы таблица всегда растягивалась на оределенную ширину вне зависимости от количества столбцов из которых она состоит, может быть есть какие-то неизвестные мне способы сделать это подругому?
Заранее благодарю.
procedure Cross1OnCalcWidth(ColumnIndex: Integer; ColumnValues: Variant; var Width: Extended);
begin
if (ColumnIndex=0) then
Width := (fr1cm *3.5)
else
if (ColumnIndex<>0) then
Width := ((fr1cm *15.4)/(Cross1.ColCount-1));
end;
как можно получить ссылку на объект TfrxCrossView, который вызывает данный метод? тоесть хочется написать что-то вроде
Width := ((fr1cm *15.4)/(Cross.ColCount-1)) ,
где Cross будет меняться от вызова к вызову, чтобы избавиться от лишнего кода...как это реализовать мне не понятно..
Вообще, суть этого обработчика в том, чтобы таблица всегда растягивалась на оределенную ширину вне зависимости от количества столбцов из которых она состоит, может быть есть какие-то неизвестные мне способы сделать это подругому?
Заранее благодарю.
Комментарии
procedure MyProc(Sender: TfrxCrossView; ColumnIndex: Integer; ColumnValues: Variant; var Width: Extended);
для каждого кросса сделать свой обработчик OnCalcWidth и вызывать из него свою процедуру:
MyProc(Cross1, ColumnIndex, ColumnValues, Width);
может есть другие способы растянуть кросс на ширину страницы?..