Files

97 lines
2.2 KiB
ObjectPascal
Raw Permalink Normal View History

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.