Componentes.Terceros.DevExp.../internal/x.36/1/ExpressScheduler 3/Demos/Delphi/UnboundDemo/UnboundDemoMain.pas
2008-09-04 11:31:51 +00:00

93 lines
2.7 KiB
ObjectPascal

unit UnboundDemoMain;
interface
{$I ..\cxVer.inc}
uses
Windows, Messages, SysUtils, Classes, Variants,
Graphics, Controls, Forms, Dialogs, DemoBasicMain, cxLookAndFeels, ActnList,
ImgList, Menus, StdCtrls, ComCtrls, cxStyles, cxGraphics, cxEdit, cxScheduler,
cxSchedulerCustomControls, cxSchedulerCustomResourceView,
cxSchedulerDayView, cxSchedulerDateNavigator, cxSchedulerStorage,
cxControls, cxContainer, cxTextEdit, cxMemo, cxRichEdit, ExtCtrls, Buttons,
cxSchedulerWeekView, cxSchedulerTimeGridView, cxSchedulerUtils,
cxSchedulerYearView, cxSchedulerHolidays, cxSchedulerGanttView;
type
TUnboundDemoMainForm = class(TDemoBasicMainForm)
btnGenerate: TBitBtn;
btnDelete: TBitBtn;
SchedulerUnboundStorage: TcxSchedulerStorage;
EventImages: TImageList;
imgResources: TcxImageList;
procedure btnDeleteClick(Sender: TObject);
procedure btnGenerateClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure SchedulerInitEventImages(Sender: TcxCustomScheduler;
AEvent: TcxSchedulerControlEvent; AImages: TcxSchedulerEventImages);
procedure SchedulerUnboundStorageRemindersOpenEvent(
Sender: TcxSchedulerReminders; AEvent: TcxSchedulerControlEvent);
private
{ Private declarations }
protected
procedure OnNewEvent(AEvent: TcxSchedulerEvent; AIndex: Integer); override;
public
{ Public declarations }
end;
var
UnboundDemoMainForm: TUnboundDemoMainForm;
implementation
{$R *.dfm}
uses
cxClasses;
const
GenerateCount = 500;
procedure TUnboundDemoMainForm.btnDeleteClick(Sender: TObject);
begin
SchedulerUnboundStorage.Clear;
end;
procedure TUnboundDemoMainForm.btnGenerateClick(Sender: TObject);
begin
GenerateRandomEvents(GenerateCount, True);
end;
procedure TUnboundDemoMainForm.FormCreate(Sender: TObject);
begin
inherited;
Scheduler.SelectDays(Date, Date, True);
end;
procedure TUnboundDemoMainForm.SchedulerInitEventImages(
Sender: TcxCustomScheduler; AEvent: TcxSchedulerControlEvent;
AImages: TcxSchedulerEventImages);
var
AValue: Variant;
begin
AValue := AEvent.GetCustomFieldValueByName('IconIndex');
if VarIsNull(AValue) or VarIsEmpty(AValue) or (AValue = -1) then Exit;
AImages.Add(AValue, False);
end;
procedure TUnboundDemoMainForm.OnNewEvent(
AEvent: TcxSchedulerEvent; AIndex: Integer);
begin
AEvent.SetCustomFieldValueByName('IconIndex', AIndex);
AEvent.Reminder := (Trunc(AEvent.Start) >= Trunc(Now)) and Boolean(Random(2));
end;
procedure TUnboundDemoMainForm.SchedulerUnboundStorageRemindersOpenEvent(
Sender: TcxSchedulerReminders; AEvent: TcxSchedulerControlEvent);
begin
Scheduler.EditEventUsingDialog(AEvent);
end;
end.