unit StylesMainUnit; interface {$I ..\cxVer.inc} uses Windows, Messages, SysUtils, {$IFDEF DELPHI6} Variants, {$ENDIF} Classes, Graphics, Controls, Forms, Dialogs, DemoBasicMain, cxStyles, cxGraphics, cxEdit, cxScheduler, cxSchedulerCustomControls, cxSchedulerCustomResourceView, cxSchedulerDayView, cxSchedulerDateNavigator, cxLookAndFeels, Menus, StdCtrls, ExtCtrls, cxControls, cxSchedulerStorage, ComCtrls, Buttons, cxSchedulerDBStorage, DB, DBTables, cxSchedulerWeekView, cxSchedulerTimeGridView, cxSchedulerUtils, cxSchedulerYearView, Grids, DBGrids, cxCustomData, cxFilter, cxData, cxDataStorage, cxDBData; type TStylesMainForm = class(TDemoBasicMainForm) CustomDraw1: TMenuItem; DateNavigator1: TMenuItem; Days1: TMenuItem; Daycaptions1: TMenuItem; Monthheaders1: TMenuItem; ViewDay1: TMenuItem; imeRuler1: TMenuItem; Container1: TMenuItem; Groupseparator1: TMenuItem; Content1: TMenuItem; Headers1: TMenuItem; Events1: TMenuItem; Contentselection1: TMenuItem; cxStyleRepository1: TcxStyleRepository; stEvents: TcxStyle; stHeaders: TcxStyle; stContent: TcxStyle; stContentSelection: TcxStyle; stResources: TcxStyle; stGroupSeparator: TcxStyle; stContainer: TcxStyle; stBackground: TcxStyle; stDateContent: TcxStyle; stVertSplitter: TcxStyle; stTimeRuler: TcxStyle; miSplitter: TMenuItem; N5: TMenuItem; miResourcesStyle: TMenuItem; EventsTable: TTable; SchedulerDataSource: TDataSource; SchedulerDBStorage: TcxSchedulerDBStorage; procedure btnGenerateClick(Sender: TObject); procedure btnDeleteClick(Sender: TObject); procedure miStylesItemClick(Sender: TObject); procedure miSplitterClick(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var StylesMainForm: TStylesMainForm; implementation {$R *.dfm} procedure TStylesMainForm.btnGenerateClick(Sender: TObject); begin // GenerateRandomEvents(100, True); end; procedure TStylesMainForm.btnDeleteClick(Sender: TObject); begin // SchedulerUnboundStorage.Clear; end; procedure TStylesMainForm.miStylesItemClick(Sender: TObject); function GetStyle(AAssignedStyle: TcxStyle): TcxStyle; begin if TMenuItem(Sender).Checked then Result := AAssignedStyle else Result := nil; end; begin TMenuItem(Sender).Checked := not TMenuItem(Sender).Checked; case TMenuItem(Sender).Tag of 0: // Events Scheduler.Styles.Event := GetStyle(stEvents); 1: // Headers Scheduler.Styles.DayHeader := GetStyle(stHeaders); 2: // Content Scheduler.Styles.Content := GetStyle(stContent); 3: // Content selection Scheduler.Styles.Selection := GetStyle(stContentSelection); 4: // Resources Scheduler.Styles.ResourceHeader := GetStyle(stResources); 5: // Group separator Scheduler.Styles.GroupSeparator := GetStyle(stGroupSeparator); 6: // DayView container Scheduler.ViewDay.Styles.HeaderContainer := GetStyle(stContainer); 7: // DayView time ruler Scheduler.ViewDay.Styles.TimeRuler := GetStyle(stTimeRuler); 8: // date navigator header Scheduler.DateNavigator.Styles.Header := GetStyle(stHeaders); 9: // date navigator background Scheduler.DateNavigator.Styles.Background := GetStyle(stBackground); 10: // date navigator content Scheduler.DateNavigator.Styles.Content := GetStyle(stDateContent); end; // end; procedure TStylesMainForm.miSplitterClick(Sender: TObject); begin miSplitter.Checked := not miSplitter.Checked; if miSplitter.Checked then begin Scheduler.OptionsView.VertSplitterWidth := 50; Scheduler.Styles.VertSplitter := stVertSplitter; end else begin Scheduler.OptionsView.VertSplitterWidth := cxDefaultSplitterWidth; Scheduler.Styles.VertSplitter := nil; end end; procedure TStylesMainForm.FormCreate(Sender: TObject); begin inherited; Scheduler.GoToDate(EncodeDate(2005, 9, 20)); end; end.