unit mvMain; {$mode objfpc}{$H+} interface uses Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls, StdCtrls, PrintersDlgs, VpBaseDS, VpIniDs, VpPrtPrvDlg, VpPrtFmtCBox, VpData, VpMonthView; type { TForm1 } TForm1 = class(TForm) btnPrintPreview: TButton; btnPrint: TButton; Panel1: TPanel; PrintDialog1: TPrintDialog; VpControlLink1: TVpControlLink; VpIniDatastore1: TVpIniDatastore; VpMonthView1: TVpMonthView; VpPrintFormatComboBox1: TVpPrintFormatComboBox; VpPrintPreviewDialog1: TVpPrintPreviewDialog; procedure btnPrintPreviewClick(Sender: TObject); procedure btnPrintClick(Sender: TObject); procedure FormCreate(Sender: TObject); private public end; var Form1: TForm1; implementation {$R *.lfm} uses Printers; { TForm1 } procedure TForm1.btnPrintPreviewClick(Sender: TObject); var d1, d2: TDateTime; begin d1 := EncodeDate(2022, 10, 1); d2 := EncodeDate(2022, 12, 31); VpPrintPreviewDialog1.StartDate := d1; VpPrintPreviewDialog1.EndDate := d2; if VpPrintPreviewDialog1.Execute then if PrintDialog1.Execute then begin Printer.BeginDoc; try VpPrintPreviewDialog1.ControlLink.Printer.Print(Printer, d1, d2); finally Printer.EndDoc; end; end; end; procedure TForm1.btnPrintClick(Sender: TObject); var d1, d2: TDateTime; begin d1 := EncodeDate(2022, 10, 1); d2 := EncodeDate(2022, 12, 31); Printer.BeginDoc; try VpControlLink1.Printer.Print(Printer, d1, d2); finally Printer.EndDoc; end; end; procedure TForm1.FormCreate(Sender: TObject); begin if VpIniDatastore1.Resources.Count > 0 then VpIniDatastore1.Resource := VpIniDatastore1.Resources.Items[0]; VpMonthView1.Date := EncodeDate(2022, 10, 1); // The following properties require v1.0.7+ VpMonthView1.ApplyCategoryInfos := true; VpIniDatastore1.CategoryColorMap.Category0.UseForAllDayEvents := true; VpIniDatastore1.CategoryColorMap.Category1.UseForAllDayEvents := true; VpIniDatastore1.CategoryColorMap.Category2.UseForAllDayEvents := true; VpIniDatastore1.CategoryColorMap.Category3.UseForAllDayEvents := true; VpIniDatastore1.CategoryColorMap.Category4.UseForAllDayEvents := true; end; end.