RGBPicker |
Top Previous Next |
RGB Picker
RGB Picker umožní pomocí posuvníku vybrat barvu
Vlastní funkčnost picker-u zajišťuje pouze událost OnChange příslušných trackbarů ostatní balast řídí chování reportu při vyvolání pomocí InvokeRmReportWithParams, aby zmíněné příklady fungovaly správně uložte tento report do složky Examples a pojmenujte RGB. Skript: procedure OnBeforeReport(Sender : TReportProperty); begin If ReportParams<>nil then begin ReportForm.ReportControlBar.Hide;
// ReportForm.StandardTB.Hide; // ReportForm.ExportImportToolBar.Hide;
ReportForm.StatusBar.Hide;
ReportForm.Width:=400; ReportForm.Height:=200;
TTrackBar(Sheet.GetCellProperty('B1').CellComponent).Position:=ReportParams.ParamByName('R').AsInteger; TTrackBar(Sheet.GetCellProperty('B2').CellComponent).Position:=ReportParams.ParamByName('G').AsInteger; TTrackBar(Sheet.GetCellProperty('B3').CellComponent).Position:=ReportParams.ParamByName('B').AsInteger; OnChange(Self); end; end;
procedure ButtonClick; begin If ReportParams<>nil then begin ReportParams.ParamByName('R').AsInteger:=TTrackBar(Sheet.GetCellProperty('B1').CellComponent).Position; ReportParams.ParamByName('G').AsInteger:=TTrackBar(Sheet.GetCellProperty('B2').CellComponent).Position; ReportParams.ParamByName('B').AsInteger:=TTrackBar(Sheet.GetCellProperty('B3').CellComponent).Position; end;
ReportForm.ModalResult:=mrOk; end;
procedure OnChange( Sender : TObject ); begin Sheet.CellProperty[3,1].Background:= RGB( TTrackBar(Sheet.GetCellProperty('B1').CellComponent).Position, TTrackBar(Sheet.GetCellProperty('B2').CellComponent).Position, TTrackBar(Sheet.GetCellProperty('B3').CellComponent).Position); Sheet.Invalidate; end;
procedure OnPrepareScript(Sender : TReportProperty); begin TButton(Sheet.GetCellProperty('C3').CellComponent).OnClick:=@ButtonClick;
TTrackBar(Sheet.GetCellProperty('B1').CellComponent).OnChange:=@OnChange; TTrackBar(Sheet.GetCellProperty('B2').CellComponent).OnChange:=@OnChange; TTrackBar(Sheet.GetCellProperty('B3').CellComponent).OnChange:=@OnChange; end;
procedure OnReportClose(Sender : TReportProperty); begin ReportProperty.SetModified(False); end;
begin end. |