Copyright: Copyright © 2003-2008 Developer Express Inc. ALL RIGHTS RESERVED


cxSchedulerDBStorage Unit Overview
cxSchedulerDBStorage Unit

Classes

TcxSchedulerDBStorage

TcxSchedulerDBStorageDataController

TcxSchedulerDBStorageField

TcxSchedulerDBStorageFieldNames

TcxSchedulerDBStorageFields

TcxSchedulerDBStorageResources

Other Types

TcxFieldName


TcxSchedulerDBStorage
 TcxSchedulerDBStorage Object

Hierarchy          Properties          Methods          Events

The TcxSchedulerDBStorage implements the persistence manager component that stores attributes of the TcxSchedulerEvent and TcxSchedulerStorageResourceItem objects in a dataset.

Unit

cxSchedulerDBStorage

TcxSchedulerDBStorage = class(TcxCustomSchedulerStorage)

Description

The TcxSchedulerDBStorage component enables a developer to bind the corresponding fields of the underlying dataset to the TcxSchedulerEvent and TcxSchedulerStorageResourceItem properties at design-time using the Object Inspector. This component manages the flow of data at runtime between in-memory TcxSchedulerControlEvent objects and TcxSchedulerEvent objects persisted in the relational data store. The TcxSchedulerDBStorage object is referenced by the TcxScheduler.Storage property if the TcxSchedulerDBStorage component is linked to the scheduler (see also TcxSchedulerStorage).

At least five fields are required to be defined and bounded to the TcxSchedulerEvent’s properties through the TcxSchedulerDBStorageFieldNames properties: TcxSchedulerDBStorageFieldNames.ID, TcxSchedulerDBStorageFieldNames.Start, TcxSchedulerDBStorageFieldNames.Finish, TcxSchedulerDBStorageFieldNames.EventType and TcxSchedulerDBStorageFieldNames.Options.


TcxSchedulerDBStorage Hierarchy
Hierarchy

TComponent

     |

TcxCustomSchedulerStorage

     |

TcxSchedulerDBStorage


Properties for TcxSchedulerDBStorage
TcxSchedulerDBStorage Properties

TcxSchedulerDBStorage          Legend

In TcxSchedulerDBStorage

CustomFields

DataSource

FieldNames

GenerateGUIDForID

Resources

SmartRefresh

Derived from TcxCustomSchedulerStorage

EventCount

Events

FieldCount

Holidays

InternalUpdate

Reminders

ResourceCount

ResourceIDs

ResourceNames

Resources

StoreUsingGlobalTime

StoringName

Values

UseActualTimeRange


Methods for TcxSchedulerDBStorage
TcxSchedulerDBStorage Methods

TcxSchedulerDBStorage          Legend

In TcxSchedulerDBStorage

CheckRequiredFields

IsActive

IsCaptionAvailable

IsLabelColorAvailable

IsLocationAvailable

IsMessageAvailable

IsRecurrenceAvailable

IsReminderAvailable

IsStateAvailable

UpdateItems

Derived from TcxCustomSchedulerStorage

AddListener

BeginUpdate

CalculateEventActualTimeRanges

Clear

CreateEvent

CreateOccurrence

EndUpdate

FindAvailableAllDay

FindAvailableTime

FullRefresh

GenerateHolidayEvents

GetEventByID

GetEvents

GetHolidayNamesByDate

GetReminderEvents

PopulateHolidayDates

PostEvents

RemoveListener


Events for TcxSchedulerDBStorage
TcxSchedulerDBStorage Events

TcxSchedulerDBStorage          Legend

In TcxSchedulerDBStorage

OnGetEventGeneratedID

Derived from TcxCustomSchedulerStorage

OnEventDeleted

OnEventInserted

OnEventIntersect

OnEventModified

OnFilterEvent


TcxSchedulerDBStorage.CustomFields

TcxSchedulerDBStorage          See Also

Represents user-defined fields in storage.

property CustomFields: TcxSchedulerDBStorageFields;

Description

Use the CustomFields property to specify custom fields.


TcxSchedulerDBStorage.DataSource

TcxSchedulerDBStorage

Represents a data source object that provides a link to a dataset.

property DataSource: TDataSource;

Description

Represents a data source object that provides a link to a dataset.


TcxSchedulerDBStorage.FieldNames

TcxSchedulerDBStorage

Represents a set of dataset fields’ names used for binding dataset fields to the persistent TcxSchedulerEvent’s properties.

property FieldNames: TcxSchedulerDBStorageFieldNames;

Description

Use the FieldNames property to access the TcxSchedulerDBStorageFieldNames object that provides an interface allowing binding the TcxSchedulerEvent's properties to the appropriate fields in the dataset.


TcxSchedulerDBStorage.GenerateGUIDForID

TcxSchedulerDBStorage          See Also

Specifies whether the user event’s ID should be generated as GUID.

property GenerateGUIDForID: Boolean;

Description

Set the GenerateGUIDForID property to True to make the storage manager automatically generate the unique identifiers of user events (see the TcxSchedulerEvent.ID property) as GUID, thus ensuring that the unique identifier of each new record will be created in the proper manner. The type of the ID field in the underlying dataset should be defined as TGuidField or TStringField with a length of 38 characters. If the responsibility of generating the unique number should be implemented by the underlying DBMS or by the developer, then set the GenerateGUIDForID property to False.

Note: The type of the ID field should be the same as the ParentID field’s type.

The default value of the GenerateGUIDForID property is False.


TcxSchedulerDBStorage.Resources

TcxSchedulerDBStorage

Represents the manager for the resources stored in a database.

property Resources: TcxSchedulerDBStorageResources;

Description

The TcxSchedulerDBStorageResources is used to manage the resources stored in a database. Use the Resources property to access the TcxSchedulerDBStorageResources object.

Resources are used for grouping schedules (the gkByResource or gkByDate flag on the TcxSchedulerCustomResourceView.GroupingKind property is active and more than one resource is defined) to facilitate managing users time.


TcxSchedulerDBStorage.SmartRefresh

TcxSchedulerDBStorage

Specifies the manner in which dataset records are updated.

property SmartRefresh: Boolean;

Description

If the SmartRefresh property is set to True only the records which have been changed by the scheduler will be reloaded from the scheduler’s storage. Otherwise all dataset records will be updated regardless of whether or not their values have been changed by the scheduler.

The default value of the SmartRefresh property is False.


TcxSchedulerDBStorage.CheckRequiredFields

TcxSchedulerDBStorage          See Also

Checks whether the required dataset fields are bound to associated TcxSchedulerEvent’s properties.

function CheckRequiredFields: Boolean; override;

Description

At least five dataset fields (which are mapped to the corresponding properties of the TcxSchedulerEvent via the TcxSchedulerDBStorageFieldNames.ID, TcxSchedulerDBStorageFieldNames.EventType, TcxSchedulerDBStorageFieldNames.Start, TcxSchedulerDBStorageFieldNames.Finish, TcxSchedulerDBStorageFieldNames.Options properties) need to be connected to the scheduler control. These fields are used to persist values of the appropriate TcxSchedulerEvent’s properties.

The CheckRequiredFields method checks whether the associated dataset fields are connected to the scheduler control. If not, this method throws an exception with the specified message.

The CheckRequiredFields method returns a value of True if the dataset is connected to the scheduler and open, and the above fields are bound to the TcxSchedulerEvent’s properties.


TcxSchedulerDBStorage.IsActive

TcxSchedulerDBStorage          See Also

Checks whether the dataset is connected to the scheduler and open.

function IsActive: Boolean; override;

Description

Use the IsActive method to determine whether the dataset is connected to the scheduler and open.


TcxSchedulerDBStorage.IsCaptionAvailable

TcxSchedulerDBStorage          See Also

Checks whether the dataset field which persists the user event’s subject is bound to the TcxSchedulerEvent.Caption property.

function IsCaptionAvailable: Boolean; override;

Description

The IsCaptionAvailable method returns True if the associated dataset field is connected to the scheduler via the TcxSchedulerDBStorageFieldNames.Caption property.


TcxSchedulerDBStorage.IsLabelColorAvailable

TcxSchedulerDBStorage          See Also

Checks whether the dataset field which persists a color of the user event’s label is bound to the TcxSchedulerEvent.LabelColor property.

function IsLabelColorAvailable: Boolean; override;

Description

The IsLabelColorAvailable method returns True if the associated dataset field is connected to the scheduler via the TcxSchedulerDBStorageFieldNames.LabelColor property.


TcxSchedulerDBStorage.IsLocationAvailable

TcxSchedulerDBStorage          See Also

Checks whether the dataset field which persists the user event’s location is bound to the TcxSchedulerEvent.Location property.

function IsLocationAvailable: Boolean; override;

Description

The IsLocationAvailable method returns True if the associated dataset field is connected to the scheduler via the TcxSchedulerDBStorageFieldNames.Location property.


TcxSchedulerDBStorage.IsMessageAvailable

TcxSchedulerDBStorage          See Also

Checks whether the dataset field which persists the user event’s description is bound to the TcxSchedulerEvent.Message property.

function IsMessageAvailable: Boolean; override;

Description

The IsMessageAvailable method returns True if the associated dataset field is connected to the scheduler via the TcxSchedulerDBStorageFieldNames.Message property.


TcxSchedulerDBStorage.IsRecurrenceAvailable

TcxSchedulerDBStorage          See Also

Checks whether the dataset field which persists information on the user event’s recurrence is bound to the TcxSchedulerEvent.RecurrenceInfo property.

function IsRecurrenceAvailable: Boolean; override;

Description

The IsRecurrenceAvailable method returns True if the associated dataset field is connected to the scheduler via the TcxSchedulerDBStorageFieldNames.RecurrenceInfo property.


TcxSchedulerDBStorage.IsReminderAvailable

TcxSchedulerDBStorage          See Also

Checks whether the dataset field which persists the lead-time of the user event’s reminder is bound to the TcxSchedulerEvent.ReminderMinutesBeforeStart property.

function IsReminderAvailable: Boolean; override;

Description

The IsReminderAvailable method returns True if the associated dataset field is connected to the scheduler via the TcxSchedulerDBStorageFieldNames.ReminderMinutesBeforeStart property.


TcxSchedulerDBStorage.IsStateAvailable

TcxSchedulerDBStorage          See Also

Checks whether the dataset field which persists the user event’s availability status is bound to the TcxSchedulerEvent.State property.

function IsStateAvailable: Boolean; override;

Description

The IsStateAvailable method returns True if the associated dataset field is connected to the scheduler via the TcxSchedulerDBStorageFieldNames.State property.


TcxSchedulerDBStorage.UpdateItems

TcxSchedulerDBStorage

Synchronizes the scheduler with the data store to reflect data changes made by the concurrent control, if the scheduler in smart refresh mode.

procedure UpdateItems;

Description

If smart refresh mode is on (the SmartRefresh property is set to True), then the scheduler will reload only values which have been updated on its own.

In the case of sharing the underlying store between the scheduler and another controls use the UpdateItems method to synchronize the scheduler with data modifications concurrently made.


TcxSchedulerDBStorage.OnGetEventGeneratedID

TcxSchedulerDBStorage

Fires when the details on a new user event have been posted to the database and a new unique identifier has been generated but not yet assigned to the new user event.

type

  TcxSchedulerGetEventGeneratedIDEvent = procedure(Sender: TcxSchedulerDBStorage; AEvent: TcxSchedulerEvent; var EventID: Variant) of object;

property OnGetEventGeneratedID: TcxSchedulerGetEventGeneratedIDEvent;

Description

In the case of concurrent access to the data store by multiple transactions when the batch of user events is posted to the database there is no guarantee that the cursor will be set to the record associated with the current user event.

Implement a handler for the OnGetEventGeneratedID event to synchronize the new user event object with the corresponding record in the dataset.

The Sender parameter specifies the storage manager component;

The AEvent parameter specifies the newly created user event that was recorded in the data store;

The EventID parameter specifies the unique ID associated with the new user event.

Note: the OnGetEventGeneratedID event only fires if the GenerateGUIDForID property is set to False.


TcxSchedulerDBStorageDataController
TcxSchedulerDBStorageDataController Object

Hierarchy          Properties          Methods          Events

Represents a data controller that handles the data in a dataset via a standard data source object.

Unit

cxSchedulerDBStorage

TcxSchedulerDBStorageDataController = class(TcxDBDataController)

Description

Its ancestor – the TcxDBDataController – "knows" how to work with a dataset. It hides the low-level routines from the developer and provides comprehensive data processing (such as filtering, group operations, calculation of summaries, etc.). The TcxSchedulerDBDataController adds functionality that takes care of the scheduler items (i.e. the user event attributes represented by the TcxSchedulerEvent properties). The TcxSchedulerDBStorage class implicitly uses the TcxSchedulerDBDataController to communicate with a dataset via a data source object (see the TcxSchedulerDBStorage.DataSource property).


TcxSchedulerDBStorageDataController Hierarchy
Hierarchy

TPersistent

     |

TcxCustomDataController

     |

TcxDBDataController

     |

TcxSchedulerDBStorageDataController


Properties for TcxSchedulerDBStorageDataController
TcxSchedulerDBStorageDataController Properties

TcxSchedulerDBStorageDataController          Legend

Derived from TcxDBDataController

DataModeController

DataSource

DetailKeyFieldNames

Filter

KeyFieldNames

MasterKeyFieldNames


Methods for TcxSchedulerDBStorageDataController
TcxSchedulerDBStorageDataController Methods

TcxSchedulerDBStorageDataController          Legend

In TcxSchedulerDBStorageDataController

GetItem

GetItemID

UpdateData

UpdateItemIndexes

Derived from TcxDBDataController

BeginLocate

ChangeFieldName

EndLocate

GetItemByFieldName

GetItemField

GetItemFieldName

GetRecordId

GetSelectedBookmark

LocateByKey

Derived from TcxCustomDataController

Append

AppendRecord

BeginUpdate

BeginUpdateFields

Cancel

ChangeDetailExpanding

ChangeRowSelection

CheckFocusedSelected

ClearBookmark

ClearDetailLinkObject

ClearDetails

ClearSelection

ClearSorting

CollapseDetails

DeleteFocused

DeleteRecord

DeleteSelection

Edit

EndUpdate

FindRecordIndexByText

ForEachRow

FocusDetails

GetDetailDataController

GetMasterDataController

GetMasterRecordIndex

GetPatternDataController

GetRowDisplayText

GetRowIndexByRecordIndex

GetRowInfo

GetRowValue

GetSelectedCount

GetSelectedRowIndex

GotoBookmark

GotoFirst

GotoLast

GotoNext

GotoPrev

Insert

InsertRecord

IsBOF

IsBookmarkAvailable

IsDetailMode

IsEOF

IsGridMode

IsRowSelected

LoadFromStream

MakeRecordVisible

Post

RefreshExternalData

RestoreKeys

SaveBookmark

SaveKeys

SaveToStream

SelectAll

SelectRows

SyncSelected


Events for TcxSchedulerDBStorageDataController
TcxSchedulerDBStorageDataController Events

TcxSchedulerDBStorageDataController          Legend

Derived from TcxDBDataController

OnDetailHasChildren

Derived from TcxCustomDataController

OnAfterCancel

OnAfterDelete

OnAfterInsert

OnAfterPost

OnBeforeCancel

OnBeforeDelete

OnBeforeInsert

OnBeforePost

OnCompare

OnDataChanged

OnDetailCollapsed

OnDetailCollapsing

OnDetailExpanded

OnDetailExpanding

OnFilterRecord

OnGroupingChanged

OnRecordChanged

OnSortingChanged


TcxSchedulerDBStorageDataController.GetItem

TcxSchedulerDBStorageDataController          See Also

Returns the TcxSchedulerDBStorageField object from storage at the position specified by the zero-based Index parameter.

function GetItem(Index: Integer): TObject; override;

Description

Returns the TcxSchedulerDBStorageField object from storage at the position specified by the zero-based Index parameter.


TcxSchedulerDBStorageDataController.GetItemID

TcxSchedulerDBStorageDataController          See Also

Returns the position in storage of the TcxSchedulerDBStorageField object specified by the AItem parameter.

class function GetItemID(AItem: TObject): Integer; override;

Description

Returns the position in storage of the TcxSchedulerDBStorageField object specified by the AItem parameter.


TcxSchedulerDBStorageDataController.UpdateData

TcxSchedulerDBStorageDataController

Forces the cxSchedulerDBStorage storage component to update itself at design time.

procedure UpdateData; override;

Description

Forces the cxSchedulerDBStorage storage component to update itself at design time.


TcxSchedulerDBStorageDataController.UpdateItemIndexes

TcxSchedulerDBStorageDataController

Forces the cxSchedulerDBStorage storage component to update the TcxCustomSchedulerStorageField fields’ indexes and its own at design time.

procedure UpdateItemIndexes; override;

Description

Forces the cxSchedulerDBStorage storage component to update the TcxCustomSchedulerStorageField fields’ indexes and its own at design time.


TcxSchedulerDBStorageField
TcxSchedulerDBStorageField Object

Hierarchy          Properties

The TcxSchedulerDBStorageField implements the persistent field for the TcxSchedulerDBStorage persistence manager component.

Unit

cxSchedulerDBStorage

TcxSchedulerDBStorageField = class(TcxCustomSchedulerStorageField)

Description

A developer can create additional fields for storing user-defined attributes. Use the TcxSchedulerDBStorage.CustomFields property to create and manage instances of the TcxSchedulerDBStorageField class as custom fields.

The TcxSchedulerDBStorageField object is referenced by the TcxSchedulerDBStorageFields.Items property.


TcxSchedulerDBStorageField Hierarchy
Hierarchy

TCollectionItem

     |

TcxCustomSchedulerStorageField

     |

TcxSchedulerDBStorageField


Properties for TcxSchedulerDBStorageField
TcxSchedulerDBStorageField Properties

TcxSchedulerDBStorageField          Legend

In TcxSchedulerDBStorageField

DataSource

FieldName

Derived from TcxCustomSchedulerStorageField

Index

Name

ValueCount

Values

ValueType

ValueTypeClass


TcxSchedulerDBStorageField.DataSource

TcxSchedulerDBStorageField

Represents a data source object that provides a link to a dataset.

property DataSource: TDataSource;

Description

Represents a data source object that provides a link to a dataset.

ReadOnly Property


TcxSchedulerDBStorageField.FieldName

TcxSchedulerDBStorageField

Represents a field name in a dataset and is used for access to the dataset field.

property FieldName: string;

Description

Represents a field name in a dataset and is used for access to the dataset field.


TcxSchedulerDBStorageFieldNames
TcxSchedulerDBStorageFieldNames Object

Hierarchy          Properties

Represents a set of dataset fields’ names used for binding dataset fields to the persistent TcxSchedulerEvent ’s properties.

Unit

cxSchedulerDBStorage

TcxSchedulerDBStorageFieldNames = class(TPersistent)

Description

Each field in a dataset maps to the TcxSchedulerEvent ’s persistent properties. The TcxSchedulerDBStorageFieldNames exposes properties which contain the names of appropriate fields. Each property of the TcxSchedulerDBStorageFieldNames corresponds to the TcxSchedulerEvent ’s property. The TcxSchedulerDBStorageFieldNames object is referenced by the TcxSchedulerDBStorage.FieldNames property.

At least five fields are required to be defined and bounded to the TcxSchedulerEvent’s properties through the TcxSchedulerDBStorageFieldNames properties: TcxSchedulerDBStorageFieldNames.ID, TcxSchedulerDBStorageFieldNames.Start, TcxSchedulerDBStorageFieldNames.Finish, TcxSchedulerDBStorageFieldNames.EventType and TcxSchedulerDBStorageFieldNames.Options.


TcxSchedulerDBStorageFieldNames Hierarchy
Hierarchy

TPersistent

     |

TcxSchedulerDBStorageFieldNames


Properties for TcxSchedulerDBStorageFieldNames
TcxSchedulerDBStorageFieldNames Properties

TcxSchedulerDBStorageFieldNames          Legend

In TcxSchedulerDBStorageFieldNames

ActualFinish

ActualStart

Caption

DataController

EventType

Finish

ID

LabelColor

Location

Message

Options

ParentID

RecurrenceIndex

RecurrenceInfo

ReminderDate

ReminderMinutesBeforeStart

ReminderResourcesData

ResourceID

Start

State

Storage

TaskCompleteField

TaskIndexField

TaskLinksField

TaskStatusField


TcxSchedulerDBStorageFieldNames.ActualFinish

TcxSchedulerDBStorageFieldNames          See Also

Maps the TcxSchedulerEvent.ActualFinish property to the specified field in the dataset.

property ActualFinish: TcxFieldName;

Description

If the current record in a dataset represents a regular user event, then the associated field stores the value of DateOf(Event.Finish) + 1 (see the TcxSchedulerDBStorageFieldNames.Finish property). As for recurring user event it contains the last occurrence’s finish date (in a chain of occurrences) or the value of MaxInt, if the chain is unbound.

Use the ActualFinish property to bind the TcxSchedulerEvent.ActualFinish property to the corresponding dataset field.

The dataset field’s type is TIntegerField.


TcxSchedulerDBStorageFieldNames.ActualStart

TcxSchedulerDBStorageFieldNames          See Also

Maps the TcxSchedulerEvent.ActualStart property to the specified field in the dataset.

property ActualStart: TcxFieldName;

Description

If the current record in a dataset represents a regular user event, then the associated field stores the user event’s start date (see the TcxSchedulerDBStorageFieldNames.Start property). As for recurring user event it contains the first occurrence’s start date (in a chain of occurrences).

Use the ActualStart property to bind the TcxSchedulerEvent.ActualStart property to the corresponding dataset field.

The dataset field’s type is TIntegerField.


TcxSchedulerDBStorageFieldNames.Caption

TcxSchedulerDBStorageFieldNames          See Also

Maps the TcxSchedulerEvent.Caption property to the corresponding dataset field.

property Caption: TcxFieldName;

Description

Use the Caption property to bind the TcxSchedulerEvent.Caption property to the corresponding dataset field.

The dataset field’s type is TStringField.


TcxSchedulerDBStorageFieldNames.DataController

TcxSchedulerDBStorageFieldNames

Represents the data controller that handles data from a dataset via a standard data source object.

property DataController: TcxSchedulerDBStorageDataController;

Description

Represents the data controller that handles data from a dataset via a standard data source object.

ReadOnly Property


TcxSchedulerDBStorageFieldNames.EventType

TcxSchedulerDBStorageFieldNames          See Also

Maps the TcxSchedulerEvent.EventType property to the corresponding dataset field.

property EventType: TcxFieldName;

Description

Use the EventType property to bind the TcxSchedulerEvent.EventType property to the corresponding dataset field.

The dataset field’s type is TIntegerField.

Note: the EventType property is required to be bound to the corresponding dataset field.


TcxSchedulerDBStorageFieldNames.Finish

TcxSchedulerDBStorageFieldNames          See Also

Maps the TcxSchedulerEvent.Finish property to the corresponding dataset field.

property Finish: TcxFieldName;

Description

Use the Finish property to bind the TcxSchedulerEvent.Finish property to the corresponding dataset field.

The dataset field’s type is TDateTimeField or TSQLTimeStampField.

Note: the Finish property is required to be bound to the corresponding dataset field.


TcxSchedulerDBStorageFieldNames.ID

TcxSchedulerDBStorageFieldNames          See Also

Maps the TcxSchedulerEvent.ID property to the corresponding dataset field.

property ID: TcxFieldName;

Description

Use the ID property to bind the TcxSchedulerEvent.ID property to the corresponding dataset field.

Note: the ID property is required to be bound to the corresponding dataset field. The type of the ID property is the same as the ParentID property’s type. It’s recommended to use integer fields to improve performance.

If the type of the ID field is defined as GUID (for example, in MS SQL Server) then set the TcxSchedulerDBStorage.GenerateGUIDForID property to True to generate the user event’s unique identifier (see the TcxSchedulerEvent.ID property) as GUID.


TcxSchedulerDBStorageFieldNames.LabelColor

TcxSchedulerDBStorageFieldNames          See Also

Maps the TcxSchedulerEvent.LabelColor property to the corresponding dataset field.

property LabelColor: TcxFieldName;

Description

Use the LabelColor property to bind the TcxSchedulerEvent.LabelColor property to the corresponding dataset field.

The dataset field’s type is TIntegerField.


TcxSchedulerDBStorageFieldNames.Location

TcxSchedulerDBStorageFieldNames          See Also

Maps the TcxSchedulerEvent.Location property to the corresponding dataset field.

property Location: TcxFieldName;

Description

Use the Location property to bind the TcxSchedulerEvent.Location property to the corresponding dataset field.

The dataset field’s type is TStringField.


TcxSchedulerDBStorageFieldNames.Message

TcxSchedulerDBStorageFieldNames          See Also

Maps the TcxSchedulerEvent.Message property to the corresponding dataset field.

property Message: TcxFieldName;

Description

Use the Message property to bind the TcxSchedulerEvent.Message property to the corresponding dataset field.

The dataset field’s type is TStringField.


TcxSchedulerDBStorageFieldNames.Options

TcxSchedulerDBStorageFieldNames          See Also

Maps the TcxSchedulerEvent.AllDayEvent, TcxSchedulerEvent.Enabled, TcxSchedulerEvent.Reminder and TcxSchedulerEventLinks.Expanded properties to the corresponding dataset field.

property Options: TcxFieldName;

Description

Use the Options property to bind the TcxSchedulerEvent.AllDayEvent, TcxSchedulerEvent.Enabled, TcxSchedulerEvent.Reminder and TcxSchedulerEventLinks.Expanded properties to the corresponding dataset field. The bound field stores values of the mentioned properties in a bitwise representation.

The dataset field’s type is TIntegerField.

Note: the Options property is required to be bound to the corresponding dataset field.


TcxSchedulerDBStorageFieldNames.ParentID

TcxSchedulerDBStorageFieldNames          See Also

Maps the TcxSchedulerEvent.ParentID property to the corresponding dataset field.

property ParentID: TcxFieldName;

Description

Use the ParentID property to bind the TcxSchedulerEvent.ParentID property to the corresponding dataset field.

It’s recommended to use integer fields to improve performance.

Note: the type of the ParentID property is the same as the ID property’s type.


TcxSchedulerDBStorageFieldNames.RecurrenceIndex

TcxSchedulerDBStorageFieldNames          See Also

Maps the TcxSchedulerEvent.RecurrenceIndex property to the corresponding dataset field.

property RecurrenceIndex: TcxFieldName;

Description

Use the RecurrenceIndex property to bind the TcxSchedulerEvent.RecurrenceIndex property to the corresponding dataset field.

The dataset field’s type is TIntegerField.


TcxSchedulerDBStorageFieldNames.RecurrenceInfo

TcxSchedulerDBStorageFieldNames          See Also

Maps the TcxSchedulerEvent.RecurrenceInfo property to the corresponding dataset field.

property RecurrenceInfo: TcxFieldName;

Description

Use the RecurrenceInfo property to bind the TcxSchedulerEvent.RecurrenceInfo property to the corresponding dataset field.

The dataset field’s type is TBlobField.


TcxSchedulerDBStorageFieldNames.ReminderDate

TcxSchedulerDBStorageFieldNames

Maps the TcxSchedulerEvent.ReminderDate property to the corresponding dataset field.

property ReminderDate: TcxFieldName;

Description

Use the ReminderDate property to bind the TcxSchedulerEvent.ReminderDate property to the corresponding dataset field.

The dataset field’s type is TDateTimeField or TSQLTimeStampField.

Note: the ReminderDate property is required to be bound to the corresponding dataset field, if a reminder is used.


TcxSchedulerDBStorageFieldNames.ReminderMinutesBeforeStart

TcxSchedulerDBStorageFieldNames          See Also

Binds the TcxSchedulerEvent.ReminderMinutesBeforeStart property to the specified field in the dataset.

property ReminderMinutesBeforeStart: TcxFieldName;

Description

Use the ReminderMinutesBeforeStart property to bind the TcxSchedulerEvent.ReminderMinutesBeforeStart property to the corresponding dataset field.

The dataset field’s type is TIntegerField.

Note: the ReminderMinutesBeforeStart property is required to be bound to the corresponding dataset field, if a reminder is used.


TcxSchedulerDBStorageFieldNames.ReminderResourcesData

TcxSchedulerDBStorageFieldNames          See Also

Maps the TcxSchedulerEvent‘s ReminderResourcesData internal field to the corresponding dataset field.

property ReminderResourcesData: TcxFieldName;

Description

Use the ReminderResourcesData property to bind the TcxSchedulerEvent‘s ReminderResourcesData field to the corresponding dataset field.

Set the dataset field’s type to TBlobField.

Note that grouping user events by resources in the Reminders window (see the TcxSchedulerReminders.ReminderByResource property) is only enabled in bound mode, if the ReminderResourcesData field is bound to the dataset field.


TcxSchedulerDBStorageFieldNames.ResourceID

TcxSchedulerDBStorageFieldNames          See Also

Maps the TcxSchedulerEvent.ResourceID property to the corresponding dataset field.

property ResourceID: TcxFieldName;

Description

Use the ResourceID property to bind the TcxSchedulerEvent.ResourceID property to the corresponding dataset field.

The dataset field’s type is TIntegerField.

Note: If there are user events, which will be shared between resources, then the type of the dataset is TBlobField.


TcxSchedulerDBStorageFieldNames.Start

TcxSchedulerDBStorageFieldNames          See Also

Maps the TcxSchedulerEvent.Start property to the corresponding dataset field.

property Start: TcxFieldName;

Description

Use the Start property to bind the TcxSchedulerEvent.Start property to the corresponding dataset field.

The dataset field’s type is TDateTimeField or TSQLTimeStampField.

Note: the Start property is required to be bound to the corresponding dataset field.


TcxSchedulerDBStorageFieldNames.State

TcxSchedulerDBStorageFieldNames          See Also

Maps the TcxSchedulerEvent.State property to the corresponding dataset field.

property State: TcxFieldName;

Description

Use the State property to bind the TcxSchedulerEvent.State property to the corresponding dataset field.

The dataset field’s type is TIntegerField.


TcxSchedulerDBStorageFieldNames.Storage

TcxSchedulerDBStorageFieldNames

Represents the persistence manager component.

property Storage: TcxSchedulerDBStorage;

Description

The persistence manager component is used to persist the scheduler’s data in a data store.

Use the Storage property to access the storage instance.

ReadOnly Property


TcxSchedulerDBStorageFieldNames.TaskCompleteField

TcxSchedulerDBStorageFieldNames          See Also

Maps the TcxSchedulerEvent.TaskComplete property to the corresponding dataset field.

property TaskCompleteField: TcxFieldName;

Description

Use the TaskCompleteField property to bind the TcxSchedulerEvent.TaskComplete property to the corresponding dataset field.

Set the dataset field’s type to TIntegerField.


TcxSchedulerDBStorageFieldNames.TaskIndexField

TcxSchedulerDBStorageFieldNames          See Also

Maps the TcxSchedulerEvent.TaskIndex property to the corresponding dataset field.

property TaskIndexField: TcxFieldName;

Description

Use the TaskIndexField property to bind the TcxSchedulerEvent.TaskIndex property to the corresponding dataset field.

Set the dataset field’s type to TIntegerField.


TcxSchedulerDBStorageFieldNames.TaskLinksField

TcxSchedulerDBStorageFieldNames          See Also

Maps the TcxSchedulerEvent.TaskLinks property to the corresponding dataset field.

property TaskLinksField: TcxFieldName;

Description

Use the TaskLinksField property to bind the TcxSchedulerEvent.TaskLinks property to the corresponding dataset field.

Set the dataset field’s type to TBlobField.


TcxSchedulerDBStorageFieldNames.TaskStatusField

TcxSchedulerDBStorageFieldNames          See Also

Maps the TcxSchedulerEvent.TaskStatus property to the corresponding dataset field.

property TaskStatusField: TcxFieldName;

Description

Use the TaskStatusField property to bind the TcxSchedulerEvent.TaskStatus property to the corresponding dataset field.

Set the dataset field’s type to TIntegerField.


TcxSchedulerDBStorageFields
TcxSchedulerDBStorageFields Object

Hierarchy          Properties          Methods

The TcxSchedulerDBStorageFields implements the collection of TcxSchedulerDBStorageField objects when working with the database store (see the TcxSchedulerDBStorage persistence manager).

Unit

cxSchedulerDBStorage

TcxSchedulerDBStorageFields = class(TcxCustomSchedulerStorageFields)

Description

The TcxSchedulerDBStorageFields provides flexibility for handling a variable number of TcxSchedulerDBStorageField objects. It can be useful if, besides the predefined user event’s attributes, the developer needs to add custom attributes to be persisted in storage.

The TcxSchedulerDBStorageFields object is referenced by the TcxSchedulerDBStorage.CustomFields property.


TcxSchedulerDBStorageFields Hierarchy
Hierarchy

TCollection

     |

TcxCustomSchedulerStorageFields

     |

TcxSchedulerDBStorageFields


Properties for TcxSchedulerDBStorageFields
TcxSchedulerDBStorageFields Properties

TcxSchedulerDBStorageFields          Legend

In TcxSchedulerDBStorageFields

Items

Derived from TcxCustomSchedulerStorageFields

Storage


Methods for TcxSchedulerDBStorageFields
TcxSchedulerDBStorageFields Methods

TcxSchedulerDBStorageFields          Legend

In TcxSchedulerDBStorageFields

Add

ItemByFieldName


TcxSchedulerDBStorageFields.Items

TcxSchedulerDBStorageFields

Provides indexed access to the TcxSchedulerDBStorageField objects in storage.

property Items[Index:Integer]: TcxSchedulerDBStorageField;

Description

Used to specify the TcxSchedulerDBStorageField objects in storage.

The zero-based Index parameter specifies the field index.


TcxSchedulerDBStorageFields.Add

TcxSchedulerDBStorageFields

Creates a new TcxSchedulerDBStorageField instance and adds it to the TcxSchedulerDBStorageFields collection.

function Add: TcxSchedulerDBStorageField;

Description

The Add method returns the new TcxSchedulerDBStorageField instance.


TcxSchedulerDBStorageFields.ItemByFieldName

TcxSchedulerDBStorageFields          See Also

Returns the TcxSchedulerDBStorageField object, specified by the AFieldName, from the TcxSchedulerStorageFields collection.

function ItemByFieldName(const AFieldName: string): TcxSchedulerDBStorageField;

Description

Use the ItemByFieldName method to get the TcxSchedulerDBStorageField object. If the AFieldName doesn’t match the field in the collection this method returns nil.


TcxSchedulerDBStorageResources
TcxSchedulerDBStorageResources Object

Hierarchy          Properties          Methods          Events

The TcxSchedulerDBStorageResources represents the resources persisted in the relational data store.

Unit

cxSchedulerDBStorage

TcxSchedulerDBStorageResources = class(TcxSchedulerStorageResources)

Description

The TcxSchedulerDBStorageResources provides access to the underlying data store via a data source object (see the DataSource property). To create and manage persistent resources use the Items property.

The TcxSchedulerDBStorageResources object is referenced by the TcxSchedulerDBStorage.Resources property.


TcxSchedulerDBStorageResources Hierarchy
Hierarchy

TPersistent

     |

TcxSchedulerStorageResources

     |

TcxSchedulerDBStorageResources


Properties for TcxSchedulerDBStorageResources
TcxSchedulerDBStorageResources Properties

TcxSchedulerDBStorageResources          Legend

In TcxSchedulerDBStorageResources

DataItems

DataSource

ResourceColor

ResourceID

ResourceImageIndex

ResourceName

Derived from TcxSchedulerStorageResources

Images

AreImagesUsed

Items

ResourceItems


Methods for TcxSchedulerDBStorageResources
TcxSchedulerDBStorageResources Methods

TcxSchedulerDBStorageResources          Legend

Derived from TcxSchedulerStorageResources

GetResourceName


Events for TcxSchedulerDBStorageResources
TcxSchedulerDBStorageResources Events

TcxSchedulerDBStorageResources          Legend

Derived from TcxSchedulerStorageResources

OnGetResourceImageIndex

OnGetResourceName


TcxSchedulerDBStorageResources.DataItems

TcxSchedulerDBStorageResources          See Also

References the TcxSchedulerStorageResourceItems collection containing TcxSchedulerStorageResourceItem objects.

property DataItems: TcxSchedulerStorageResourceItems;

Description

Use the DataItems property to access TcxSchedulerStorageResourceItem objects when resources are stored in a database.

ReadOnly Property


TcxSchedulerDBStorageResources.DataSource

TcxSchedulerDBStorageResources

Represents a data source object providing a link to a dataset where resources are stored.

property DataSource: TDataSource;

Description

Use the DataSource property to manage a data source object.


TcxSchedulerDBStorageResources.ResourceColor

TcxSchedulerDBStorageResources          See Also

Maps the TcxSchedulerStorageResourceItem.Color property (a color for the resource) to the corresponding dataset field.

property ResourceColor: TcxFieldName;

Description

Use the ResourceColor property to bind the resource’s color to the dataset field.


TcxSchedulerDBStorageResources.ResourceID

TcxSchedulerDBStorageResources          See Also

Maps the TcxSchedulerStorageResourceItem.ResourceID property (the resource’s unique identifier) to the corresponding dataset field.

property ResourceID: TcxFieldName;

Description

Use the ResourceID property to bind the resource’s identifier to the dataset field.


TcxSchedulerDBStorageResources.ResourceImageIndex

TcxSchedulerDBStorageResources          See Also

Maps the TcxSchedulerStorageResourceItem.ImageIndex property (the index of the resource’s icon) to the corresponding dataset field.

property ResourceImageIndex: TcxFieldName;

Description

Use the ResourceImageIndex property to bind the index of the resource’s icon to the dataset field.


TcxSchedulerDBStorageResources.ResourceName

TcxSchedulerDBStorageResources          See Also

Maps the TcxSchedulerStorageResourceItem.Name property (the resource’s name) to the corresponding dataset field.

property ResourceName: TcxFieldName;

Description

Use the ResourceName property to bind the resource’s name to the dataset field.


TcxFieldName
TcxFieldName type

See Also

The TcxFieldName type is used to specify the name of the dataset field.

Unit

cxSchedulerDBStorage

TcxFieldName = type string;

Description

The TcxFieldName type is used to specify the name of the dataset field.


About The User Event

This topic describes a user event that is an entry in the schedule of a user (resource) in the scheduling area:

The TcxSchedulerEvent and its descendant (the TcxSchedulerControlEvent class) implement the user event. The first represents the persistent user event and the latter the in-memory user event that mirrors the persistent user event.

The user event’s elements

Below are images demonstrating the user event’s appearance under different Time Views:

•	Under Day View

The timeline bar residing to the left of the rectangle of the user event, that lasts less than 24 hours and occupies the time block, indicates the user’s availability status (see the TcxSchedulerEvent.State property) and it’s only visible under day view.

•	Under Week View

•	Under Weeks View

•	Under Year View

•	Under Timegrid View

•	Under Gantt View

The scheduled user event contains the following elements, which appear from left to right in the user event’s rectangle:

When scheduling under Day View

•	A bell icon which indicates that the reminder is on.

•	A chasing-arrows icon indicating that the user event is recurring (see the TcxSchedulerEvent.IsRecurring method) or a chasing-arrows icon with a strike-through if the user event is out of series (the etCustom flag on the TcxSchedulerEvent.EventType property is active).

•	The user event’s start and end times if they do not match the time blocks that are currently shown in the scheduling area (see the TcxSchedulerEvent.Start, TcxSchedulerEvent.Finish and TcxSchedulerDayView.TimeScale properties). Note: the user event’s start and end times are always displayed if the TcxSchedulerDayView.AlwaysShowEventTime property is set to True.

•	The subject of the user event, that was entered in the Subject text box in the Event dialog or in the in-place editor (see the TcxSchedulerEvent.Caption property).

•	The location of the user event (in parentheses), that was entered in the Location text box in the Event dialog (see the TcxSchedulerEvent.Location property).

•	On the next line in the user event’s rectangle the description of the user event, that was entered by an end-user in the memo box in the Event dialog (see the TcxSchedulerEvent.Message property).

Note: to show minutes in the time ruler the TcxSchedulerDayView.TimeRulerMinutes property is set to True (the TcxSchedulerDayView.TimeScale property is set to less than 60).

When scheduling under Week View

•	The user event’s start and end times (see the TcxSchedulerEvent.Start and TcxSchedulerEvent.Finish properties) displayed in the plain format or as the miniature clocks, if the TcxSchedulerCustomResourceView.ShowTimeAsClock property is set to True, as shown in the image below:

•	The subject of the user event, that was entered in the Subject text box in the Event dialog or in the in-place editor (see the TcxSchedulerEvent.Caption property).

•	The location of the user event (in parentheses), that was entered in the Location text box in the Event dialog (see the TcxSchedulerEvent.Location property).

When scheduling under Weeks View

•	The user event’s start time (see the TcxSchedulerEvent.Start property) displayed in the plain format or as the miniature clock, if the TcxSchedulerCustomResourceView.ShowTimeAsClock property is set to True.

•	The subject of the user event, that was entered in the Subject text box in the Event dialog or in the in-place editor (see the TcxSchedulerEvent.Caption property).

When scheduling under Timegrid View

•	A bell icon which indicates that the reminder is on;

•	A chasing-arrows icon indicating that the user event is recurring (see the TcxSchedulerEvent.IsRecurring method) or a chasing-arrows icon with a strike-through if the user event is out of series (the etCustom flag on the TcxSchedulerEvent.EventType property is active).

•	The user event’s start and end times (see the TcxSchedulerEvent.Start and TcxSchedulerEvent.Finish) displayed in the plain format or as the miniature clocks, if the TcxSchedulerCustomResourceView.ShowTimeAsClock property is set to True and the TcxSchedulerTimeGridView.EventDetailInfo property is set to False. Note: the start and end times are only visible if they do not match the time blocks that are currently shown in the view.

•	The subject of the user event, that was entered in the Subject text box in the Event dialog or in the in-place editor (see the TcxSchedulerEvent.Caption property).

•	The location of the user event (in parentheses), that was entered in the Location text box in the Event dialog (see the TcxSchedulerEvent.Location property).

•	On the next line in the user event’s rectangle the description of the user event, that was entered by an end-user in the memo box in the Event dialog (see the TcxSchedulerEvent.Message property).

The user event, which lasts 24 hours or longer (the all-day user event), resides in the all-day event area, located on the top of each day. This event contains the following elements, which appear from left to right in the user event’s rectangle:

•	The user event’s start time (see the TcxSchedulerEvent.Start property) if this user event is not an all-day event (see the TcxSchedulerEvent.AllDayEvent property). The start time is always shown as the miniature clock and doesn’t depend on the TcxSchedulerCustomResourceView.ShowTimeAsClock property (excepting the timegrid view);

•	A bell icon if the reminder is on;

•	A chasing-arrows icon indicating that the user event is recurring (see the TcxSchedulerEvent.IsRecurring method) or a chasing-arrows icon with a strike-through if the user event is out of series (the etCustom flag on the TcxSchedulerEvent.EventType property is active);

•	The subject of the user event, that was entered in the Subject text box in the Event dialog or in the in-place editor (see the TcxSchedulerEvent.Caption property);

•	The location of the user event (in parentheses), that was entered in the Location text box in the Event dialog (see the TcxSchedulerEvent.Location property);

•	The user event’s end time (see the TcxSchedulerEvent.Finish property) if this user event is not an all-day event (see the TcxSchedulerEvent.AllDayEvent property). The end time is always shown as the miniature clock and doesn’t depend on the TcxSchedulerCustomResourceView.ShowTimeAsClock property.

Note: under Timegrid View the all-day user event’s start and end times are shown next to the chasing-arrows icon.

Scheduling the user event

To schedule a new user event an end-user needs to double-click any time block or invoke the pop-up menu and select the New Event item. The Event dialog then appears to describe the user event in detail:

Note: if the TcxSchedulerDBStorage component is bound to the scheduler and the TcxSchedulerEvent’s properties are not bound to the dataset field (see the Bound Mode topic), the editing controls, that are used to edit those properties, will be disabled in the Event dialog. The Resource check combo box is only displayed in the Event dialog if the TcxSchedulerEventOperations.SharingBetweenResources property is set to True.

After the Event dialog exits, if the OK button in the Event dialog was pressed, the newly created user event appears in the scheduling area. To initialize the Event dialog programmatically either the TcxCustomScheduler.CreateEventUsingDialog method or the cxShowEventEditor function can be used.

As an alternative to using the Event dialog (if no details are required) an end-user can select the desired time block and drag it down to the end time required using the mouse, then press the Enter key (or just start entering the subject without pressing the Enter key), enter a subject for the user event, followed by pressing the Enter key to finish creating the new user event.

The following example shows how to create the user event programmatically:

// Delphi

// ...

   with Storage.CreateEvent do

    begin

      Caption := 'Meeting'; // specify the subject

      Start := Date + 10 * HourToTime; // the start time of the user event (the HourToTime constant is defined in the cxSchedulerUtils unit)

      Duration := 30 * MinuteToTime; // the duration of the user event (the MinuteToTime constant is defined in the cxSchedulerUtils unit)

      State := tlsBusy; // the availability status is "busy"

      Post; // synchronize with storage

    end;

Availability status

The availability status is used to identify whether a person is available to others. An end-user can specify the availability status by using the Show time as image combo box in the Event dialog or selecting the Show Time As item of the pop-up menu invoked on the scheduled user event (see also the TcxSchedulerEvent.State property).

Coloring the user event

Color labels allow different types of user events to be quickly identified visually in the scheduler. An end-user can assign (or change) a color label using the Label image combo box in the Event dialog or selecting the Label item of the pop-up menu invoked on the scheduled user event.

To set or change a color label for the user event when coding the TcxSchedulerEvent.LabelColor property is used.

Recurrence

User events that occur repeatedly are called recurring. If a user event is recurring a chasing-arrows icon appears in its header. An end-user can set the recurrence for the user event in the Event recurrence dialog. The Event recurrence dialog can be invoked by clicking the Recurrence button in the Event dialog:

To initialize the Event recurrence dialog programmatically use the cxShowRecurrenceEditor function.

For details on recurring user events please refer to the Applying The Recurrence Pattern topic.

Reminder

The scheduler control enables setting a reminder and its time – how long before the actual user event's scheduled time will alarm activate. If the reminder is set for the user event a bell icon appears in the user event’s header (as shown in the above images). The TcxSchedulerEvent.Reminder property is responsible for setting the reminder, while the TcxSchedulerEvent.ReminderMinutesBeforeStart property specifies lead-time. An end-user can switch the reminder on using the Reminder check box and assign it a time using combo box next to the Reminder check box (located in the Event dialog).

Moving and resizing the user event

When scheduling under day or timegrid view any user event can be resized with the mouse by dragging the start or end time boundary of the user event or the left or right boundary if the user event lasts 24 hours or longer. Under the week or weeks view an end-user can only resize the user event that lasts 24 hours or longer.

This way an end-user can visually modify the start and end times of a user event. To check the kind of dragging being performed use the TcxSchedulerCustomResourceViewHitTest.GetDragKind method that returns the edkResizeStart or edkResizeEnd flag, respectively.

Any user event can be rescheduled by dragging it with the mouse. To place the user event on a new time block an end-user can drag its timeline bar (under the day view), the user event’s time rectangle (under the week,weeks or timegrid view) or the user event’s caption rectangle. The TcxSchedulerCustomResourceViewHitTest.GetDragKind method returns the edkEventDragRect or edkMoveEvent flag, respectively. The end-user can also drag the user event from the time block to the all-day event area to make this event the all-day event and vice versa.

Any user event can be copied to another date not currently exposed in the scheduling area. To do this an end-user can drag the user event to the Date Navigator to drop it onto the desired date. Another way of copying the user event is using the scheduler clipboard. To copy (or even to move) the user event, an end-user can use the standard shortcuts – Ctrl+C (Ctrl+Ins) or Ctrl+X (Shift+Del), and the Ctrl+V (Shift+Ins). When coding, the TcxCustomScheduler.CopyToClipboard, TcxCustomScheduler.CutToClipboard and TcxCustomScheduler.PasteFromClipboard methods are used to perform the above operation through the scheduler clipboard.

Moving and resizing is an alternative way of changing the user event’s times by entering new ones in the Start time or End time combo box in the Event dialog.

Note: moving and resizing are allowed if the TcxSchedulerEventOperations.Moving and TcxSchedulerEventOperations.Sizing properties are set to True. Moving between resources is allowed if the TcxSchedulerEventOperations.MovingBetweenResources property is set to True.


Applying The Recurrence Pattern

Some user events are recurring – they occur repeatedly (on a regular basis). There are several elements that are used to define how the recurrence is applied to the recurrent user event:

•	The base element that defines the recurrence's behavior is frequency – the time base used to calculate when the user event repeats – daily, weekly, monthly or yearly (see the TcxSchedulerEventRecurrenceInfo.Recurrence property).

•	The next element is the interval which defines how the recurrence’s frequency is applied: every day, every 2nd…28/29/30th/31st day, every week, every 2nd…53rd/54th week, every month, every nth month, every year, or every nth year. This element is represented by the TcxSchedulerEventRecurrenceInfo.Periodicity property for a frequency basis of days, weeks and months, by the TcxSchedulerEventRecurrenceInfo.OccurDays property for specific days in a week for a frequency basis of a week, by the TcxSchedulerEventRecurrenceInfo.DayNumber property for specific day for monthly frequency basis and by the TcxSchedulerEventRecurrenceInfo.YearPeriodicity for yearly frequency intervals.

Both of these elements compose the so-called Recurrence pattern, which defines when the user event reoccurs.

There is one more element, which is called the Range of recurrence – it defines the time boundaries/limits of a recurrence. There are three possible scenarios for specifying values for this element:

•	First, the Range of recurrence can be represented by a pair of properties – the TcxSchedulerEventRecurrenceInfo.Start and TcxSchedulerEventRecurrenceInfo.Finish – the start and end time of the recurrence. This type of range is applied if the value of the TcxSchedulerEventRecurrenceInfo.Count property is 0.

•	Second, the Range of recurrence can be represented by the number of occurrences that should elapse until the recurrence is no longer in effect. The TcxSchedulerEventRecurrenceInfo.Count property specifies the number of occurrences if its value is greater than 0.

•	And third, the range of recurrence is unbound if the value of the TcxSchedulerEventRecurrenceInfo.Count property is –1.

The TcxSchedulerEvent.EventType property plays a key role in specifying the occurrence status. If the specified user event is a parent of a chain of occurrences, the etPattern value should be assigned to the TcxSchedulerEvent.EventType property. If the details of the current occurrence (that is in the chain of reoccurrences) are changed then this occurrence will be posted to storage with the TcxSchedulerEvent.EventType property’s value of etCustom. If the current reoccurrence that is spawned from the parent is deleted it will then be saved to storage with the TcxSchedulerEvent.EventType property’s value of etException.

The following example shows how to apply the Recurrence pattern and the Range of recurrence so as to create a recurring user event:

// Delphi

// ...

    with DBStorage.CreateEvent do

    begin

      ResourceID := 1; // assign the newly created user event to the Lesli Gritts resource. For how to set up a resource in bound mode see the Bound Mode topic

      Caption := 'Appointment with a doctor'; // specify the subject

      Start := Date + 10 * HourToTime; // the start time of the user event (the HourToTime constant is defined in the cxSchedulerUtils unit)

      Duration := 30 * MinuteToTime; // the duration of the user event (the MinuteToTime constant is defined in the cxSchedulerUtils unit)

      State := tlsOutOfOffice; // the availability status is "out of office"

      EventType := etPattern; // start the series of the occurrences

      RecurrenceInfo.Count := 3; // end after three occurrences

      RecurrenceInfo.Recurrence := cxreDaily; // the daily basis

RecurrenceInfo.DayType := cxdtWeekDay;

RecurrenceInfo.Periodicity := 1; // repeat every weekday

      Post; // synchronize with storage

    end;

This is the code execution result:

Note: the output shown is produced when the LookAndFeel.NativeStyle property is set to False, the lfFlat flag on the LookAndFeel.Kind property is active, two resources are defined and the gkByDate flag on the scheduler’s OptionsView.GroupingKind property is active.


Grouping User Events

This topic describes how the grouping of user events is organized in the scheduler control.

To facilitate end-users in the task of time management the scheduler control provides the ability to combine user events in groups in different ways:

•	Default grouping (the gkDefault flag on the scheduler’s OptionsView.GroupingKind property is active) – the user events are grouped by resources and sorted by dates, if more than one resource is defined. Otherwise the user events are sorted by dates;

•	No grouping (the gkNone flag on the scheduler’s OptionsView.GroupingKind property is active) – the user events are sorted by dates;

•	Grouping by dates (the gkByDate flag on the scheduler’s OptionsView.GroupingKind property is active) – the user events are grouped by dates and sorted by resources;

Note: under the week, weeks or timegrid view, when grouping by dates, the resources are sorted vertically in the scheduling area. In this case the resource headers’ captions are displayed vertically if the scheduler’s OptionsView.RotateResourceCaptions property is set to True, as shown in the image below:

•	Grouping by resources (the gkByResource flag on the scheduler’s OptionsView.GroupingKind property is active) – the user events are grouped by resources and sorted by dates.

To switch from one type of user events grouping to another the scheduler’s OptionsView.GroupingKind property is used. There is also an option to set the type of grouping for a specific time view using the TcxSchedulerCustomResourceView.GroupingKind property.

Note: the TcxSchedulerCustomResourceView.GroupingKind property has a higher priority than the scheduler’s OptionsView.GroupingKind property, with the exception of when the TcxSchedulerCustomResourceView.GroupingKind property is set to gkDefault. In this case the user events are organized as specified by the scheduler’s OptionsView.GroupingKind property.

To help an end-user to navigate multiple resources there is a resource navigator in the scheduling area. Using the resource navigator the end-user can scroll resources one at a time or by page, jump to the first or last resource, change the number of resources visible in the scheduling area. To change the number of resources in the scheduling area programmatically use the scheduler’s OptionsView.ResourcesPerPage property. To change the visibility of the resource navigator or its elements via code use the TcxSchedulerResourceNavigator.Visibility, TcxSchedulerNavigatorButton.Visible or TcxSchedulerResourceNavigator.ShowButtons properties.

Note: to show the resource navigator in the above images under different grouping modes the TcxSchedulerResourceNavigator.Visibility property was set to snvAlways.

There is an example available that shows how to set up resources that will be used as common elements to group user events by resources:

Using the Object Inspector, invoke the collection editor, create two resources, name them and set the TcxSchedulerStorageResourceItem.ResourceID property to 1 and 2 for the first and second resource respectively, as shown in the image below:

Using the Object Inspector, set the scheduler’s OptionsView.GroupingKind property to gkByResource.  Now run the application and schedule a couple of user events. The result should be similar to the following image:

To change the order of resources an end-user can call the Resources layout editor dialog and select the Resources layout editor… item in the pop-up menu. To invoke the Resources layout editor dialog programmatically use the cxShowResourcesLayoutEditor procedure.

If the user events are scheduled at a time when no grouping was used or no resources were defined, they do not belong to any resources. To display these user events, when grouping by dates or by resources and if more than one resource is defined, set the scheduler’s OptionsView.ShowEventsWithoutResource property to True. In this case, user events that are not bound to any resource will be shown under every resource that is currently visible in the scheduling area. Any changes made to this kind of user event in any resource automatically affect the replicates in other resources. If when coding there is a need to check whether the given user event is associated with a specified resource use the TcxSchedulerEvent.IsResourceEvent method.


Bound Mode

This topic describes how to persist data in Bound Mode – this is when the data is stored in a database.

To enable the scheduler control to work in Bound Mode, bind the TcxSchedulerDBStorage [image] component to the scheduler control using the TcxScheduler.Storage property.

Examples in this topic are based on the ExpressScheduler DBDemo that ships with this product. The tables that are used in this topic were created with the BDE toolset in the Paradox® format. Using resources, as shown in the examples, is optional. To learn how to persist data in a file system, refer to the Unbound Mode topic.

Binding a data source

Before you start to configure a connection to the data store make sure that you’ve created the cxSchedulerTable.db and cxSchedulerResourcesTable.db tables using the following structure:

       cxSchedulerTable.db

	Field Name	Type	Size
1	ActualFinish	TIntegerField
2	ActualStart	TIntegerField
3	Caption	TStringField	255
4	EventType	TIntegerField
5	Finish	TDateTimeField or TSQLTimeStampField
6	ID	TIntegerField (Autoincrement) or GUID
7	LabelColor	TIntegerField
8	Location	TStringField	255
9	Message	TStringField	255
10	Options	TIntegerField
11	ParentID	TIntegerField  or GUID
12	RecurrenceIndex	TIntegerField
13	RecurrenceInfo	TBlobField
14	ReminderDate	TDateTimeField or TSQLTimeStampField
15	ReminderMinutesBeforeStart	TIntegerField
16	ReminderResourcesData	TBlobField
17	ResourceID	TIntegerField  or TBlobField
18	Start	TDateTimeField or TSQLTimeStampField
19	State	TIntegerField
20	TaskCompleteField	TIntegerField
21	TaskIndexField	TIntegerField
22	TaskLinksField	TBlobField
23	TaskStatusField	TIntegerField

Note: The ID and ParentID are related fields and should be of the same type. The ParentID field will only contain a value, if the current record represents an occurrence of the etCustom or etException type (see the TcxSchedulerEvent.EventType property) of the recurring user event.

  cxSchedulerResourcesTable.db

	Field Name	Type	Size
1	ResourceID	TIntegerField
2	ResourceColor	TIntegerField
3	ResourceImageIndex	TIntegerField
4	ResourceName	TStringField	255

Note the following:

•	If a user event will be shared between different resources then the ResourceID field’s type (the cxSchedulerTable dataset) should be TBlobField.

•	Grouping user events by resources in the Reminders window is only enabled (see the TcxSchedulerReminders.ReminderByResource property), if the user event’s ReminderResourcesData field is bound to the dataset field.

Using the Database Desktop utility populate the cxSchedulerResourcesTable.db table with the records as shown in the image below (in the example only the ResourceID and ResourceName fields are used):

Note: it is better to use the TcxSchedulerStorageResourceItems collection to work with resources because this collection allows read-write operations on the resources. Refer to the Unbound Mode topic to learn how to use the TcxSchedulerStorageResourceItems collection. When working with the resources table (as the cxSchedulerResourcesTable.db) the scheduler control’s interface only allows read operations on the resources. To perform write operations on the resources you should use the resources dataset directly.

To set up a connection do the following:

1.	Drop two DataSource controls (located on the Data Access page) and two Table controls (located on the BDE page) onto a form from the Component Palette.

2.	Using the Object Inspector name one Table control as EventsTable and specify in the TTable.TableName property the path to the folder where the cxSchedulerTable.db table is stored. In this case the path specified is a path relative to the working folder (where the current project is located). Select another Table control, name it ResourcesTable and specify the path to the cxSchedulerResourcesTable.db table.

3.	Using the Object Inspector name one DataSource control as Events and bind the EventsTable dataset to the Events data source via the TDataSource.DataSet property. Select another DataSource control, name it Resources and bind the ResourcesTable dataset to the Resources data source via the TDataSource.DataSet property.

4.	Now assign the Events data source to the TcxSchedulerDBStorage.DataSource property and the Resources data source to the TcxSchedulerDBStorageResources.DataSource property as shown in the image:

5.	Bind the EventsTable dataset fields to the corresponding TcxSchedulerEvent’s properties via the TcxSchedulerDBStorageFieldNames’s properties:

Note: At least five fields are required to be defined and bound to the TcxSchedulerEvent’s properties via the TcxSchedulerDBStorageFieldNames properties: TcxSchedulerDBStorageFieldNames.ID, TcxSchedulerDBStorageFieldNames.Start, TcxSchedulerDBStorageFieldNames.Finish, TcxSchedulerDBStorageFieldNames.EventType and TcxSchedulerDBStorageFieldNames.Options. Mapping requirements for other fields are domain dependent.

Do the same for the ResourcesTable dataset fields using the TcxSchedulerDBStorageResources.ResourceID and TcxSchedulerDBStorageResources.ResourceName properties (in this example only two fields are used):

Now the application is ready to run. An end-user can create any user events they want which will then be stored in the data store.

The 	cxSchedulerTable.db table is populated with the user events scheduled by the end-user:

The following example shows how to schedule the user event, which will be stored in the data store, programmatically:

// Delphi

// ...

   with SchedulerDBStorage.CreateEvent do

    begin

      ResourceID := 1; // assign the newly created user event to the Lesli Gritts resource

      Caption := 'Birthday'; // specify the subject

      AllDayEvent := True; // this is the all-day event

      Post; // synchronize with storage

    end;

The image below shows an all-day event created under the Lesli Gritts resource when the code is being executed:

Note: the example shown assumes that the ID field in the data store is automatically incremented. If the type of the ID field is defined as GUID (for example, in MS SQL Server) then set the TcxSchedulerDBStorage.GenerateGUIDForID property to True to generate the user event’s unique identifier (see the TcxSchedulerEvent.ID property) as GUID.


Unbound Mode

This topic describes how to persist the data in Unbound Mode – this is when the data is stored in a file system. To enable the scheduler control to work in Unbound Mode, bind the TcxSchedulerStorage [image] component to the scheduler using the TcxScheduler.Storage property. The example in this topic is for demonstration purposes only. Using resources, as shown in the examples, is optional. To learn how to persist data in a database, refer to the Bound Mode help topic.

Consider an example where an application allows an end-user to schedule user events under different resources and saves the data to a file to work with it in multiple sessions.

1.	First, define the schedule resources:

Using the Object Inspector, invoke the collection editor by clicking the ellipsis button next to the TcxSchedulerStorageResources.Items property, create two resources, name them and set the TcxSchedulerStorageResourceItem.ResourceID property to 1 and 2, respectively, for the first and second resource, as shown in the image below:

2.	Next, implement the TCustomForm.OnCreate and TCustomForm.OnDestroy event handlers to use the data across multiple sessions, as shown in the example:

// Delphi

// ...

procedure TUnboundForm.FormCreate(Sender: TObject);

const

  DlgMsg = 'There was no file found';

begin

  if FileExists('c:\unbound.dat') then

    // load the data from the file when the application starts up

    Storage.LoadFromFile('c:\unbound.dat')

  else

    ShowMessage(DlgMsg);

end;

procedure TUnboundForm.FormDestroy(Sender: TObject; var Action: TCloseAction);

begin

  // save the data to the file when the application exits

  Storage.SaveToFile('c:\unbound.dat');

end;

Now the application is ready to run. An end-user can create any user events that will be stored in the file:

The following example shows how to schedule the user event, which will be stored in the file, programmatically:

// Delphi

// ...

   with Storage.CreateEvent do

    begin

      // assign the newly created user event to the Nata Epelman resource

      ResourceID := 2;

      // specify the subject

      Caption := 'Anniversary';

      // this is the all-day event

      AllDayEvent := True;

      // synchronize with storage

      Post;

    end;

The image below shows the all-day event created under the Nata Epelman resource when the code is being executed:


Customizing Event and Event recurrence dialogs

This topic describes how to build custom Event and Event recurrence dialogs. The ways of creating the custom fields are described for bound and unbound data modes:

•	Bound Mode – when the data is stored in a database and

•	Unbound Mode – when the data is stored in a file system.

The custom fields enable the data to be transferred between the custom controls and storage.

To specify custom fields the TcxSchedulerDBStorage.CustomFields and TcxSchedulerStorage.CustomFields properties are used. The first property is required when the scheduler works in Bound Mode and the latter when it works in Unbound Mode.

Bound Mode

To work in Bound Mode, bind the TcxSchedulerDBStorage [image] component to the scheduler via the TcxScheduler.Storage property.

The cxSchedulerTable.db table was created in Paradox® format using the BDE toolset. For details on working with the cxSchedulerTable.db table and how to set up a connection to the database, refer to the Bound Mode help topic.

Add four fields to the cxSchedulerTable.db table: FName, LName, Gender and Comments.

	Field Name	Type	Size
1	ActualFinish	TIntegerField
2	ActualStart	TIntegerField
3	Caption	TStringField	255
4	EventType	TIntegerField
5	Finish	TDateTimeField or TSQLTimeStampField
6	ID	TIntegerField (Autoincrement) or GUID
7	LabelColor	TIntegerField
8	Location	TStringField	255
9	Message	TStringField	255
10	Options	TIntegerField
11	ParentID	TIntegerField  or GUID
12	RecurrenceIndex	TIntegerField
13	RecurrenceInfo	TBlobField
14	ReminderDate	TDateTimeField or TSQLTimeStampField
15	ReminderMinutesBeforeStart	TIntegerField
16	ReminderResourcesData	TBlobField
17	ResourceID	TIntegerField  or TBlobField
18	Start	TDateTimeField or TSQLTimeStampField
19	State	TIntegerField
20	TaskCompleteField	TIntegerField
21	TaskIndexField	TIntegerField
22	TaskLinksField	TBlobField
23	TaskStatusField	TIntegerField
24	FName	TStringField	255
25	LName	TStringField	255
26	Gender	TStringField	6
27	Comments	TStringField	255

These fields are used to persist the custom fields’ data. The FName, LName and Gender fields store the data edited by an end-user in the teFirstName, teLastName and cbGender custom editing controls (described later in this topic) located in the custom Event dialog and the Comments field stores the data edited in the teComments custom editing control located in the custom Event recurrence dialog.

Using the Object Inspector, click the ellipsis button next to the TcxSchedulerDBStorage.CustomFields property to open the collection editor. Create four custom fields in the editor and bind them to the dataset fields, as shown in the image below:

Unbound Mode

To work in Unbound Mode, bind the TcxSchedulerStorage [image] to the scheduler via the TcxScheduler.Storage property.

Using the Object Inspector, click the ellipsis button next to the TcxSchedulerStorage.CustomFields property to open the collection editor. Create in the editor four custom fields, name them and then define the type of each custom field, as shown in the image below:

Note that you must pass custom field names, as they were defined in the Object Inspector, as arguments to the TcxSchedulerEvent.GetCustomFieldValueByName and TcxSchedulerEvent.SetCustomFieldValueByName methods.

Implement the TCustomForm.OnCreate and TCustomForm.OnDestroy event handlers in the main unit (the form where the scheduler control is located) to use the data across multiple sessions, as shown in the following example:

// Delphi

unit CustomDialogsUnit;

// ...

procedure TUnboundForm.FormCreate(Sender: TObject);

const

  DlgMsg = 'There was no file found';

begin

  if FileExists('c:\unbound.dat') then

    // load the data from the file when the application starts up

    Storage.LoadFromFile('c:\unbound.dat')

else

  ShowMessage(DlgMsg);

end;

procedure TUnboundForm.FormDestroy(Sender: TObject; var Action: TCloseAction);

begin

  // save the data to the file when the application exits

  Storage.SaveToFile('c:\unbound.dat');

end;

Creating custom dialogs

The event dialogs hierarchy was designed so that a developer can use the blank dialog and populate it with the custom editing controls or benefit from the full-featured event dialog and just make minor changes to it, if required.

To use the blank event dialog or blank recurrence dialog, derive from the TcxSchedulerCustomEventEditor or TcxSchedulerCustomRecurrenceEventEditor classes.

To create custom dialogs based on the scheduler’s dialogs it’s necessary to define descendants of the TcxSchedulerEventEditor and TcxSchedulerRecurrenceEventEditor classes, which are responsible for the Event and Event recurrence dialog forms, respectively.

To notify the application that the custom Event and Event recurrence dialogs are to be invoked at runtime, use the cxEventEditorClass (the cxSchedulerDialogs unit) and cxRecurrenceEventEditorClass (the cxSchedulerDialogs unit) constants. See the code shown below in this topic that demonstrates how to bind descendants using the cxEventEditorClass and cxRecurrenceEventEditorClass constants.

First, create the custom Event dialog:

1.	To facilitate the task of building the custom Event dialog form, add the cxSchedulerEventEditor.pas (cxSchedulerEventEditor.dcu) file (in which the TcxSchedulerEventEditor class is defined) to the project, using the Add to Project dialog. To open this dialog use the Shift+F11 keys or go to the main menu and select the Project -> Add to Project… item.

2.	Then create the new dialog form using the TcxSchedulerEventEditor’s template form stored in the Object Repository. Go File -> New -> Other… in the main menu to open the New Items dialog and activate the page of your currently opened project by clicking the tab which has your project’s name, in this case CustomDialogs:

Select the cxSchedulerEventEditor icon and click the OK button. The new Event dialog form appears with its features inherited from the TcxSchedulerEventEditor parent class.

3.	In the Component Palette select and drop the TcxGroupBox control (located on the Express Utilities page), three TcxLabel controls, two TcxTextEdit controls and the TcxComboBox control (located on the Express Editors 4 page) onto the form created.

4.	Using the Object Inspector, set the Caption and Name properties of the TcxGroupBox control to the Client and gbClient values, respectively. The Caption and Name properties of the three TcxLabel controls to First Name and lbFirstName, Last Name and lbLastName, Gender: and lbGender values, respectively. The Name property of the two TcxTextEdit controls to teFirstName and teLastName values, and lastly, the Name property of the TcxComboBox control to cbGender and add the female and male values to the TcxComboBoxProperties.Items property.

The following code implements the custom Event dialog:

// Delphi

unit CustomizedEventEditorForm;

// ...

type

  TcxSchedulerEventEditorCustomized = class(TcxSchedulerEventEditor)

    gbClient: TcxGroupBox;

    lbFirstName: TcxLabel;

    teFirstName: TcxTextEdit;

    lbLastName: TcxLabel;

    teLastName: TcxTextEdit;

    lbGender: TcxLabel;

    cbGender: TcxComboBox;

  private

    { Private declarations }

  protected

    procedure LoadEventValuesIntoControls; override;

    procedure UpdateEventValuesFromControls; override;

  public

    { Public declarations }

  end;

var

  cxSchedulerEventEditorCustomized: TcxSchedulerEventEditorCustomized;

implementation

uses

  cxSchedulerDialogs;

{$R *.dfm}

procedure TcxSchedulerEventEditorCustomized.LoadEventValuesIntoControls;

const

  CLRF = #13#10;

  DlgMsg = 'Can''t load data';

begin

  // invoke the parent’s method to load the data into the inherited editing controls located on the form

  inherited LoadEventValuesIntoControls;

  try

    // load the data into the custom editing controls

    // no checking for a null value is needed. The null value is automatically replaced with empty string in the editing controls

    teFirstName.EditValue := Event.GetCustomFieldValueByName('FName');

    teLastName.EditValue := Event.GetCustomFieldValueByName('LName');

    cbGender.EditValue := Event.GetCustomFieldValueByName('Gender');

  except

    on E: Exception do

      ShowMessage(DlgMsg + CLRF + E.Message);

  end;

end;

procedure TcxSchedulerEventEditorCustomized.UpdateEventValuesFromControls;

const

  CLRF = #13#10;

  DlgMsg = 'Can''t load data';

begin

  // invoke the parent’s method to post the data from the inherited editing controls located on the form

  inherited UpdateEventValuesFromControls;

  try

    // post the data from the custom editing controls

    Event.SetCustomFieldValueByName('FName', teFirstName.EditValue);

    Event.SetCustomFieldValueByName('LName', teLastName.EditValue);

    Event.SetCustomFieldValueByName('Gender', cbGender.EditValue);

    FModified := True;

  except

    on E: Exception do

      ShowMessage(DlgMsg + CLRF + E.Message);

  end;

end;

initialization

  // to use the cxEventEditorClass constant, specify the cxSchedulerDialogs unit in the uses clause

  // indicate that the new Event dialog will be invoked at runtime

  cxEventEditorClass := TcxSchedulerEventEditorCustomized;

Note: to synchronize changes made by an end-user in the Event dialog with the storage set the TcxSchedulerEventEditorCustomized.FModified property to True.

Repeat the above steps from 1 through to 2 to create the custom Event recurrence dialog. The TcxSchedulerRecurrenceEventEditor class is defined in the cxSchedulerRecurrenceEditor.pas (cxSchedulerRecurrenceEditor.dcu) file.

Next, drop from the Component Palette the TcxGroupBox control (located on the Express Utilities page), the TcxLabel control and the TcxTextEdit control (located on the Express Editors 4 page) onto the form created.

Using the Object Inspector, set the Caption and Name properties of the TcxGroupBox control to the Other and gbOther values, respectively. The Caption and Name properties of the TcxLabel control to the Comments: and lbComments values, respectively and the TcxTextEdit.Name property to teComments.

The following code implements the custom Event recurrence dialog:

// Delphi

unit CustomizedRecurrenceEventEditorForm;

// ...

type

  TcxSchedulerRecurrenceEventEditorCustomized = class(TcxSchedulerRecurrenceEventEditor)

    gbOther: TcxGroupBox;

    teComments: TcxTextEdit;

    lbComments: TLabel;

  private

    { Private declarations }

  protected

    procedure LoadEventValuesIntoControls; override;

    procedure UpdateEventValuesFromControls; override;

  public

    { Public declarations }

  end;

var

  cxSchedulerRecurrenceEventEditorCustomized: TcxSchedulerRecurrenceEventEditorCustomized;

implementation

uses

  cxSchedulerDialogs;

{$R *.dfm}

procedure TcxSchedulerRecurrenceEventEditorCustomized.LoadEventValuesIntoControls;

const

  CLRF = #13#10;

  DlgMsg = 'Can''t load data';

begin

  inherited LoadEventValuesIntoControls;

  try

    // load the data into the custom editing control

    // no checking for a null value is needed. The null value is automatically replaced with empty string in the editing controls

    teComments.EditValue := Event.GetCustomFieldValueByName('Comments');

  except

    on E: Exception do

      ShowMessage(DlgMsg + CLRF + E.Message);

  end;

end;

procedure TcxSchedulerRecurrenceEventEditorCustomized.UpdateEventValuesFromControls;

const

  CLRF = #13#10;

  DlgMsg = 'Can''t load data';

begin

  inherited UpdateEventValuesFromControls;

  try

    // send the data from the custom editing control

    Event.SetCustomFieldValueByName('Comments', teComments.EditValue);

    FModified := True;

  except

    on E: Exception do

      ShowMessage(DlgMsg + CLRF + E.Message);

  end;

end;

initialization

  // to use the cxRecurrenceEventEditorClass constant, specify the cxSchedulerDialogs unit in the uses clause

  // indicate that the new Event recurrence  dialog will be invoked at runtime

  cxRecurrenceEventEditorClass := TcxSchedulerRecurrenceEventEditorCustomized;

Note: to synchronize changes made by an end-user in the Event recurrence dialog with the storage, set the TcxSchedulerRecurrenceEventEditorCustomized.FModified property to True.

Note: if you need to invoke the Event dialog and the Event recurrence dialog programmatically, use the cxShowEventEditor and cxShowRecurrenceEditor routines, respectively.


Handling Raw Data

See Also

This topic describes how to persist a user event‘s data in the underlying data store without using scheduler storage components – TcxSchedulerStorage and TcxSchedulerDBStorage.

The cxSchedulerTable.db table that is described in this topic was created in Paradox® format using the BDE toolset.

The following pieces of information on the scheduled user event are stored in the database:

•	The end date of a chain of occurrences if the user event is recurring (see the TcxSchedulerEvent.ActualFinish and TcxSchedulerDBStorageFieldNames.ActualFinish properties).

•	The start date of a chain of occurrences if the user event is recurring (see the TcxSchedulerEvent.ActualStart and TcxSchedulerDBStorageFieldNames.ActualStart properties).

•	The subject of the user event (see the TcxSchedulerEvent.Caption and TcxSchedulerDBStorageFieldNames.Caption properties).

•	The status of the current occurrence (see the TcxSchedulerEvent.EventType and TcxSchedulerDBStorageFieldNames.EventType properties).

•	The end time of the current occurrence (see the TcxSchedulerEvent.Finish and TcxSchedulerDBStorageFieldNames.Finish properties).

•	The unique identifier of the user event recorded in the dataset (see the TcxSchedulerEvent.ID property).

•	The color label of the user event (see the TcxSchedulerEvent.LabelColor and TcxSchedulerDBStorageFieldNames.LabelColor properties).

•	The location of the user event (see the TcxSchedulerEvent.Location and TcxSchedulerDBStorageFieldNames.Location properties).

•	The description of the user event (see the TcxSchedulerEvent.Message and TcxSchedulerDBStorageFieldNames.Message properties).

•	Whether the user event is an all-day event, whether the time of the scheduled user event is later than the host environment's time, whether a reminder is set on for the corresponding user event, and whether the predecessor task is expanded (see the TcxSchedulerEvent.AllDayEvent, TcxSchedulerEvent.Enabled, TcxSchedulerEvent.Reminder and TcxSchedulerEventLinks.Expanded properties). These four states are stored in a single dataset field (see the TcxSchedulerDBStorageFieldNames.Options property).

•	The unique identifier of the current occurrence’s parent if the parent user event is recurring (see the TcxSchedulerEvent.ParentID and TcxSchedulerDBStorageFieldNames.ParentID properties).

•	The position (as a number) of the current user event‘s occurrence in the chain of reoccurrences (see the TcxSchedulerEvent.RecurrenceIndex and TcxSchedulerDBStorageFieldNames.RecurrenceIndex properties).

•	The user event‘s recurrence details (see the TcxSchedulerEvent.RecurrenceInfo and TcxSchedulerDBStorageFieldNames.RecurrenceInfo properties).

•	The date and time of the reminder that is switched on for the corresponding user event (see the TcxSchedulerEvent.ReminderDate and TcxSchedulerDBStorageFieldNames.ReminderDate properties).

•	The reminder’s time interval (see the TcxSchedulerEvent.ReminderMinutesBeforeStart and TcxSchedulerDBStorageFieldNames.ReminderMinutesBeforeStart properties).

•	Information on reminders currently active in the scheduler (see the TcxSchedulerDBStorageFieldNames.ReminderResourcesData property).

•	The unique identifier of the resource the user event belongs to (see the TcxSchedulerEvent.ResourceID and TcxSchedulerDBStorageFieldNames.ResourceID properties). If the resource is shareable then the ResourceID field’s type should be defined as of BLOB.

•	The start time of the current occurrence (see the TcxSchedulerEvent.Start and TcxSchedulerDBStorageFieldNames.Start properties).

•	The availability of an end-user to others (see the TcxSchedulerEvent.State and TcxSchedulerDBStorageFieldNames.State properties).

•	The task completion (see the TcxSchedulerEvent.TaskComplete and TcxSchedulerDBStorageFieldNames.TaskCompleteField properties).

•	The task’s vertical position relative to other tasks (see the TcxSchedulerEvent.TaskIndex and TcxSchedulerDBStorageFieldNames.TaskIndexField properties).

•	Task links (see the TcxSchedulerEvent.TaskLinks and TcxSchedulerDBStorageFieldNames.TaskLinksField properties).

•	The task status (see the TcxSchedulerEvent.TaskStatus and TcxSchedulerDBStorageFieldNames.TaskStatusField properties).

The following table shows the structure of the cxSchedulerTable.db table that stores the detailed information on the scheduled user event:

	Field Name	Type	Size
1	ActualFinish	TIntegerField
2	ActualStart	TIntegerField
3	Caption	TStringField	255
4	EventType	TIntegerField
5	Finish	TDateTimeField or TSQLTimeStampField
6	ID	TIntegerField (Autoincrement) or GUID
7	LabelColor	TIntegerField
8	Location	TStringField	255
9	Message	TStringField	255
10	Options	TIntegerField
11	ParentID	TIntegerField  or GUID
12	RecurrenceIndex	TIntegerField
13	RecurrenceInfo	TBlobField
14	ReminderDate	TDateTimeField or TSQLTimeStampField
15	ReminderMinutesBeforeStart	TIntegerField
16	ReminderResourcesData	TBlobField
17	ResourceID	TIntegerField  or TBlobField
18	Start	TDateTimeField or TSQLTimeStampField
19	State	TIntegerField
20	TaskCompleteField	TIntegerField
21	TaskIndexField	TIntegerField
22	TaskLinksField	TBlobField
23	TaskStatusField	TIntegerField

You can also add custom fields to the table to store the custom data (to learn how to use custom fields in an application, refer to the Customizing Event and Event recurrence dialogs help topic).

The Options field’s value is a compound value and it’s made up of the omAllDayEvent, omCollapsed, omEnabled and omReminder values. If these flags are set at the same time, use the OR bitwise operator to build up the Options field’s value (see the example below).

The RecurrenceInfo field of the BLOB type stores the TcxSchedulerEventRecurrenceInfoData record’s data that provides details on the user event’s recurrence. To transfer the TcxSchedulerEventRecurrenceInfoData record’s data into a sequence of bytes, use the cxRecurrenceInfoDataToString routine, an example on this is provided later on in this topic.

The RecurrenceInfo field structure corresponds to the TcxSchedulerEventRecurrenceInfoData record's structure, as illustrated in the following table:

Record Field	Type	BLOB Offset	Storage Requirement (bytes)	Description
Count	Integer	0	4	Specifies the number of occurrences of the recurring user event
DayNumber	Integer	4	4	Specifies the day number in a month, working week, Saturdays/Sundays in a month, or weekend that the current user event will reoccur on (for details refer to the Applying The Recurrence Pattern topic)
DayType	TcxDayType	8	1	Specifies the day type used to calculate the current user event’s reoccurrence in the Recurrence pattern
Finish	TDateTime	9	8	Specifies the end date and time of the current user event’s reoccurrences
OccurDays	TDays	17	1	Specifies the days in a week that the current user event reoccurs on
Periodicity	Integer	18	4	Specifies the frequency with which the current user event reoccurs with respect to the time base specified by the Recurrence field
Recurrence	TcxRecurrence	22	1	Specifies the time base for the frequency of the current user event's reoccurrences
Start	TDateTime	23	8	Specifies the start date and time for the user event’s reoccurrences
YearPeriodicity	Integer	31	4	Specifies the frequency with which the user event reoccurs on a yearly basis
Reserved1	Byte	35	1	Reserved
DismissDate	Integer	36	4	Specifies the date when the reminder is switched off for the corresponding occurrence
The following example shows how to store a new user event in the data store:

// Delphi

// ...

var

  S: string;

  ARecurrenceInfo: TcxSchedulerEventRecurrenceInfoData;

begin

FillChar(ARecurrenceInfo, SizeOf(ARecurrenceInfo), 0);

// the all-day event repeats two days (Thursday and Friday)

  with ARecurrenceInfo do

  begin

    Count := 2;

    DayNumber := 1;

    DayType := cxdtEveryDay;

    Finish := -1;

    OccurDays := [dThursday];

    Periodicity := 1;

    Recurrence := cxreDaily;

    Start := 0;

    YearPeriodicity := 1;

  end;

  // convert the TcxSchedulerEventRecurrenceInfoData record's data into the binary data contained in the string that serves as a buffer between the record and the RecurrenceInfo dataset field

  S := cxRecurrenceInfoDataToString(ARecurrenceInfo);

  // post it to the dataset

  with SchedulerTable do

  begin

    Append;

    FieldValues['Type'] := Integer(etPattern);

    FieldValues['Start'] := StrToDateTime('10/21/04 00:00');

    FieldValues['Finish'] := StrToDateTime('10/22/04 00:00');

    FieldValues['Options'] := omAllDayEvent or omEnabled;

    FieldValues['Caption'] := 'Birthday';

    FieldValues['RecurrenceIndex'] := -1;

    FieldValues['RecurrenceInfo'] := S;

    FieldValues['ResourceID'] := 1; // if the resource is set up in the scheduler

    FieldValues['Location'] := 'Sea Food Restaurant';

    FieldValues['Message'] := 'Party';

    FieldValues['State'] := tlsOutOfOffice;

    FieldValues['LabelColor'] := EventLabels.Items[1].Color; // the label is ‘important’. To use the EventLabels collection (see description on the TcxSchedulerEventLabels class in the documentation), specify the cxSchedulerUtils unit in the uses clause

    Post;

  end;

end;

To learn how to use resources, refer to the Grouping User Events and Bound Mode help topics.

Note: the example shown above assumes that the ID field in the data store is automatically incremented. If the type of the ID field is defined as GUID (for example, in MS SQL Server) and if it is not generated by the database engine for some reason, then you can use the TGuid type and the CreateGUID function to generate a value for the ID field. It’s best to implement the TDataSet.BeforePost event handler and generate a new GUID in it before the data is posted to the data store, as shown in the following example:

// Delphi

// ...

procedure TCustomDialogsForm.SchedulerTableBeforePost(DataSet: TDataSet);

var

  ASchedulerTableID: TField;

  G: TGuid;

begin

  ASchedulerTableID := DataSet.FieldByName('ID');

  if ASchedulerTableID.IsNull then

  begin

    // generate a new GUID

    CreateGUID(G);

    // assign the newly created GUID to the ID field

    ASchedulerTableID.Value := GUIDToString(G);

  end;

end;

Note: The type of the ID field and the ParentID field’s type must be the same.


Aggregate Storage

See Also

The aggregate storage component was implemented to overcome limitations of a single scheduler storage. The scheduling information can now be stored in multiple storages simultaneously.

Benefits of the aggregate storage:

•	Different types of scheduler storages – bound (TcxSchedulerDBStorage) and unbound (TcxSchedulerStorage) – can be bound to the scheduler simultaneously.

•	Since aggregate storage components can be linked to each other, you can build multilevel data sets.

•	The aggregate storage automatically merges data from bound storages and transfers it to the scheduler.

•	Scalable data structure:

•	Large storages can be split into smaller storages that can contain more specific data – you might want to use one storage for all-day user events, one – for holidays, and another – for tasks.

•	Smaller storages simplify data reuse in other applications.

•	More flexibility when modifying existing structures used by the scheduler. Since data can be split between any number of storages, the data dependency can be minimized this way. As a result, to make changes to the data layer in order to better suit business tasks, new storages can be added to the data layer, or existing storages can be removed from the data layer without affecting the other storages. This also requires minimal changes to code thanks to using the TcxSchedulerAggregateStorage.OnEventInserting event.

•	Balance between storage performance and data maintenance. Multiple storage architecture allows you to achieve optimum data handling performance, and at the same time minimize efforts on maintaining the underlying data (for instance, when performing back up, or localizing data inconsistency).


cxScheduler Unit Overview
cxScheduler Unit

Classes

TcxScheduler


TcxScheduler
 TcxScheduler Object

Hierarchy          Properties          Methods          Events

The TcxScheduler implements the cxScheduler scheduler control.

Unit

cxScheduler

TcxScheduler = class(TcxCustomScheduler)

Description

This control provides a graphical interface to end-users for scheduling user events. While its ancestor (the TcxCustomScheduler class) implements all the functionality required by the scheduler control, the TcxScheduler publishes a set of inherited properties so that they are available at design time and introduces some additional events to enable custom drawing and provide properties for accessing time views. The cxScheduler control is divided into three framed sections:

•	The scheduling area, represented by the CurrentView property, where different time views are exposed (day, week, weeks, year and timegrid views);

•	The Date Navigator pane, represented by the DateNavigator property;

•	The Control Box pane, represented by the ControlBox property.

The Date Navigator and Control Box panes can reside to the right or left of the scheduling area (their position depends on the TcxSchedulerOptionsView.ViewPosition property’s value). An end-user can resize these panes by dragging the vertical or horizontal splitter. There is an option to entirely hide the Date Navigator and Control Box panes by setting the TcxSchedulerDateNavigator.Visible and TcxSchedulerControlBox.Visible properties to False. Thus the scheduling area will be stretched to the scheduler control’s width.


TcxScheduler Hierarchy
Hierarchy

TCustomControl

     |

TcxControl

     |

TcxCustomScheduler

     |

TcxScheduler


Properties for TcxScheduler
TcxScheduler Properties

TcxScheduler          Legend

In TcxScheduler

DateNavigator

ViewDay

ViewGantt

ViewTimeGrid

ViewWeek

ViewWeeks

ViewYear

Derived from TcxCustomScheduler

ActiveHitTest

ContentPopupMenu

ControlBox

CurrentView

DateTimeHelper

DialogsLookAndFeel

EventDays

EventImages

EventOperations

EventPopupMenu

FirstVisibleResourceIndex

OptionsBehavior

OptionsCustomize

OptionsView

ResourceNavigator

SelectedDays

SelectedEventCount

SelectedEvents

SelFinish

SelResource

SelStart

Storage

StoringName

Styles

VisibleEventCount

VisibleEvents


Methods for TcxScheduler
TcxScheduler Methods

TcxScheduler          Legend

In TcxScheduler

 GoToDate

 SelectDays

 SelectWorkDays

Derived from TcxCustomScheduler

 BeginUpdate

 CopyToClipboard

 CreateEventUsingDialog

 CreateEventUsingInplaceEdit

 CutToClipboard

 DeleteEvent

 DeleteSelectedEvents

 EditEventUsingDialog

 EditEventUsingInplaceEdit

 EndUpdate

 FullRefresh

 LayoutChanged

 MakeEventVisible

 MakeResourceVisible

 PasteFromClipboard

 RestoreFromIniFile

 RestoreFromRegistry

 RestoreFromStream

 SelectEvent

 SelectTime

 StoreToIniFile

 StoreToRegistry

 StoreToStream

 UnselectEvents


Events for TcxScheduler
TcxScheduler Events

TcxScheduler          Legend

In TcxScheduler

 OnCustomDrawBackground

 OnCustomDrawButton

 OnCustomDrawContent

 OnCustomDrawDayHeader

 OnCustomDrawEvent

 OnCustomDrawGroupSeparator

 OnCustomDrawResourceHeader

 OnInitEventImages

Derived from TcxCustomScheduler

 OnAfterDragEvent

 OnAfterEditing

 OnAfterSizingEvent

 OnBeforeDeleting

 OnBeforeDragEvent

 OnBeforeEditing

 OnBeforeSizingEvent

 OnCanShowView

 OnEventSelectionChanged

 OnFirstVisibleResourceChanged

 OnGetEventDisplayText

 OnGetEventEditProperties

 OnGetEventHintText

 OnInitEdit

 OnIsWorkTime

 OnLayoutChanged

 OnMoreEventsButtonClick

 OnNavigationButtonClick

 OnScaleScroll

 OnSelectionChanged

 OnShowDateHint

 OnViewTypeChanged


TcxScheduler.DateNavigator

TcxScheduler

Represents the Date Navigator.

property DateNavigator: TcxSchedulerDateNavigator;

Description

The Date Navigator provides a quick and easy way to change the dates in the scheduling area. It can be used to change views between day, week and weeks.

Use the DateNavigator property to access the instance of the Date Navigator.

ReadOnly Property


TcxScheduler.ViewDay

TcxScheduler          See Also

Represents the day view in the scheduling area.

property ViewDay: TcxSchedulerDayView;

Description

The day view enables an end-user to schedule and view user events by day.

Use the ViewDay property to access the TcxSchedulerDayView object.


TcxScheduler.ViewGantt

TcxScheduler

Represents Gantt View.

property ViewGantt: TcxSchedulerGanttView;

Description

In the Gantt View, user events are displayed as horizontal bars along the time axis.

These user events represent tasks, which can be linked into a task series within a certain time frame.

To provide an end-user with more details on the task plan, tasks can optionally display progress bars, showing the completion percentage (see the scheduler’s ViewGantt.EventsStyle property).


TcxScheduler.ViewTimeGrid

TcxScheduler          See Also

Represents the timegrid view.

property ViewTimeGrid: TcxSchedulerTimeGridView;

Description

In the timegrid view the user events are chronologically ordered from left to right.

Use the ViewTimeGrid property to access the timegrid view instance.


TcxScheduler.ViewWeek

TcxScheduler          See Also

Represents the week view in the scheduling area.

property ViewWeek: TcxSchedulerWeekView;

Description

The week view enables an end-user to schedule and view user events by week.

Use the ViewWeek property to access the TcxSchedulerWeekView object.


TcxScheduler.ViewWeeks

TcxScheduler          See Also

Represents the weeks view in the scheduling area.

property ViewWeeks: TcxSchedulerWeeksView;

Description

The weeks view enables an end-user to schedule and view user events by weeks.

Use the ViewWeeks property to access the TcxSchedulerWeeksView object.


TcxScheduler.ViewYear

TcxScheduler          See Also

Represents the year view.

property ViewYear: TcxSchedulerYearView;

Description

The year view enables an end-user to schedule and view user events by year.

Use the VeiwYear property to access the year view instance.


TcxScheduler.GoToDate

TcxScheduler

Displays the ADate date in the scheduling area and Date Navigator.

function GoToDate(ADate: TDateTime): Boolean; override;

function GoToDate(ADate: TDateTime; AViewMode: TcxSchedulerViewMode): Boolean; override;

Description

Use the GoToDate method to make the ADate date available in the scheduling area and Date Navigator.

The ADate parameter specifies the date to be displayed;

The overloaded version allows switching to the view (specified by the AViewMode parameter) that the ADate date is displayed within. The time view’s available modes are specified by the TcxSchedulerViewMode enumeration.

Note: the GoToDate method returns False if the AViewMode time view is not available in the scheduling area (the TcxSchedulerCustomView.CanShow property is set to False for this time view). In all other cases – True. If the desired date falls on the weekend and the AViewMode parameter is set to vmWorkWeek, the next nearest working date is displayed.


TcxScheduler.SelectDays

TcxScheduler          See Also

Emulates selecting dates in the Date Navigator, which will then be displayed in the scheduling area.

procedure SelectDays(const AStartDay, AFinishDay: TDateTime; AsDays: Boolean = False); virtual;

procedure SelectDays(ASelection: TcxSchedulerDateList; AsDays: Boolean = False); virtual;

procedure SelectDays(const ASelection: array of TDateTime; AsDays: Boolean = False); virtual;

Description

Use the SelectDays method to select dates in the Date Navigator for displaying in the scheduling area.

The first overloaded method is used to select a range of adjacent dates.

The AStartDay parameter specifies the start date;

The AFinishDay parameter specifies the end date.

The other overloaded methods are used to select nonadjacent dates.

The ASelection parameter specifies the dates to be selected.

The AsDays parameter specifies whether dates are displayed under the day view or week (weeks) view. Set the AsDays parameter to True to display date(s) under the day view.


TcxScheduler.SelectWorkDays

TcxScheduler          See Also

Emulates selecting weekdays in the Date Navigator, which will then be displayed in the scheduling area.

procedure SelectWorkDays(const AWeekDate: TDateTime);

Description

Use the SelectWorkDays method to select weekdays in the Date Navigator for displaying in the scheduling area.

The AWeekDate parameter specifies the date to be displayed within a workweek. If the AWeekDate falls on the weekend, it’s not displayed in the scheduling area or selected in the Date Navigator and the next or previous week's working days are displayed instead, depending upon the regional settings of the computer. For instance if Saturday is the last day of the week and Sunday is the first day of the week (US regional settings), when the AWeekDate parameter is set to Saturday the previous week (ending with that Saturday) is displayed or if the AWeekDate parameter is set to Sunday the next week (beginning with that Sunday is displayed)

Note: When a weekend day is passed as the AWeekDate parameter the week displayed is entirely dependent upon the regional settings of the system.


TcxScheduler.OnCustomDrawBackground

TcxScheduler

Fires before the scheduling area’s background is drawn.

type

  TcxSchedulerCustomDrawBackgroundEvent = procedure(Sender: TObject; ACanvas: TcxCanvas; AViewInfo: TcxSchedulerBackgroundCellViewInfo; var ADone: Boolean) of object;

property OnCustomDrawBackground: TcxSchedulerCustomDrawBackgroundEvent;

Description

Implement the OnCustomDrawBackground event handler to custom paint the scheduling area’s background.

The Sender parameter specifies the time view currently active in the scheduling area;

The ACanvas parameter specifies the drawing surface;

The AViewInfo parameter provides information for rendering the scheduling area’s background;

The ADone parameter specifies whether default painting is required. Set ADone to True to prevent default painting.

See the examples in the Custom Drawing topic.

Note: the scheduling area’s background is only visible under the day view when the view occupies a part of the scheduling area along the y-axis (the vertical scrollbar in the scheduling area disappears).


TcxScheduler.OnCustomDrawButton

TcxScheduler

Fires before the "more events" button, that end-users can use to scroll to user events outside of the current boundaries of the scheduling area or day’s cell, is drawn.

type

  TcxSchedulerCustomDrawButtonEvent = procedure(Sender: TObject; ACanvas: TcxCanvas; AViewInfo: TcxSchedulerMoreEventsButtonViewInfo; var ADone: Boolean) of object;

property OnCustomDrawButton: TcxSchedulerCustomDrawButtonEvent;

Description

When using the day view the "more events" button is displayed if there are user events outside of the current boundaries of the scheduling area. Under the week, weeks or year view the "more events" button is displayed if there are user events that are outside of the current boundaries of the day’s cell. In the latter case, along with scrolling to user events the button also changes the time view from the above views to the day view.

Implement the OnCustomDrawButton event handler to custom paint the "more events" button.

The Sender parameter specifies the time view currently active in the scheduling area;

The ACanvas parameter specifies the drawing surface;

The AViewInfo parameter provides information for rendering the "more events" button;

The ADone parameter specifies whether default painting is required. Set ADone to True to prevent default painting.

See the examples in the Custom Drawing topic.


TcxScheduler.OnCustomDrawContent

TcxScheduler          See Also          Example

Fires before the scheduling area’s content is drawn.

type

  TcxSchedulerCustomDrawContentEvent = procedure(Sender: TObject; ACanvas: TcxCanvas; AViewInfo: TcxSchedulerContentCellViewInfo; var ADone: Boolean) of object;

property OnCustomDrawContent: TcxSchedulerCustomDrawContentEvent;

Description

Implement the OnCustomDrawContent event handler to custom paint the time blocks in the scheduling area.

The Sender parameter specifies the time view currently active in the scheduling area;

The ACanvas parameter specifies the drawing surface;

The AViewInfo parameter provides information for rendering the scheduling area’s content;

The ADone parameter specifies whether default painting is required. Set ADone to True to prevent default painting.

See the examples in the Custom Drawing topic.


TcxScheduler.OnCustomDrawDayHeader

TcxScheduler

Fires before the day’s header is drawn.

type

  TcxSchedulerCustomDrawDayHeaderEvent = procedure(Sender: TObject; ACanvas: TcxCanvas; AViewInfo: TcxSchedulerDayHeaderCellViewInfo; var ADone: Boolean) of object;

property OnCustomDrawDayHeader: TcxSchedulerCustomDrawDayHeaderEvent;

Description

Implement the OnCustomDrawDayHeader event handler to custom paint the day’s header in the scheduling area.

The Sender parameter specifies the time view currently active in the scheduling area;

The ACanvas parameter specifies the drawing surface;

The AViewInfo parameter provides information for rendering the day’s header;

The ADone parameter specifies whether default painting is required. Set ADone to True to prevent default painting.

See the examples in the Custom Drawing topic.


TcxScheduler.OnCustomDrawEvent

TcxScheduler

Fires before the user event is drawn.

type

  TcxSchedulerCustomDrawEventEvent = procedure(Sender: TObject; ACanvas: TcxCanvas; AViewInfo: TcxSchedulerEventCellViewInfo; var ADone: Boolean) of object;

property OnCustomDrawEvent: TcxSchedulerCustomDrawEventEvent;

Description

Implement the OnCustomDrawEvent event handler to custom paint the user event in the scheduling area.

The Sender parameter specifies the time view currently active in the scheduling area;

The ACanvas parameter specifies the drawing surface;

The AViewInfo parameter provides information for rendering the user event;

The ADone parameter specifies whether default painting is required. Set ADone to True to prevent default painting.

See the examples in the Custom Drawing topic.


TcxScheduler.OnCustomDrawGroupSeparator

TcxScheduler          See Also

Fires before the group separator is drawn.

type

  TcxSchedulerCustomDrawGroupSeparatorEvent = procedure(Sender: TObject; ACanvas: TcxCanvas; AViewInfo: TcxSchedulerGroupSeparatorCellViewInfo; var ADone: Boolean) of object;

property OnCustomDrawGroupSeparator: TcxSchedulerCustomDrawGroupSeparatorEvent;

Description

The group separator is a bar that visually divides groups of schedules.

Note: the group separator bar is only applicable if the TcxSchedulerOptionsView.GroupSeparatorWidth property has a value greater than 0.

Implement the OnCustomDrawGroupSeparator event handler to custom paint the group separator in the scheduling area.

The Sender parameter specifies the time view currently active in the scheduling area;

The ACanvas parameter specifies the drawing surface;

The AViewInfo parameter provides information for rendering the group separator;

The ADone parameter specifies whether default painting is required. Set ADone to True to prevent default painting.

See the examples in the Custom Drawing topic.


TcxScheduler.OnCustomDrawResourceHeader

TcxScheduler

Fires before the resource’s header is drawn.

type

  TcxSchedulerCustomDrawResourceHeaderEvent = procedure(Sender: TObject; ACanvas: TcxCanvas; AViewInfo: TcxSchedulerHeaderCellViewInfo; var ADone: Boolean) of object;

property OnCustomDrawResourceHeader: TcxSchedulerCustomDrawResourceHeaderEvent;

Description

Implement the OnCustomDrawResourceHeader event handler to custom paint the resource’s header in the scheduling area.

The Sender parameter specifies the time view currently active in the scheduling area;

The ACanvas parameter specifies the drawing surface;

The AViewInfo parameter provides information for rendering the resource’s header;

The ADone parameter specifies whether default painting is required. Set ADone to True to prevent default painting.

See the examples in the Custom Drawing topic.


TcxScheduler.OnInitEventImages

TcxScheduler          See Also          Example

Fires when the user event’s rectangle is about to be rendered.

type

  TcxSchedulerInitEventImages = procedure(Sender: TcxCustomScheduler; AEvent: TcxSchedulerControlEvent; AImages: TcxSchedulerEventImages) of object;

property OnInitEventImages: TcxSchedulerInitEventImages;

Description

Implement the OnInitEventImages event handler to provide the AEvent user event with custom icons.

Sender specifies a scheduler control;

AEvent specifies a user event instance whose rectangle will be rendered;

AImages specifies a collection containing the AEvent’s icons.


Legend

 Protected

 Published

 ReadOnly


cxSchedulerDayView Unit Overview
cxSchedulerDayView Unit

Classes

TcxSchedulerDayView

TcxSchedulerDayViewHitTest

TcxSchedulerDayViewStyles

TcxSchedulerTimeRulerPopupMenu

Other Types

TcxSchedulerAllDayAreaScrollBar

TcxSchedulerTimeRulerPopupMenuItems

Global Constants

cxDefaultTimeScale


TcxSchedulerDayView
TcxSchedulerDayView Object

Hierarchy          Properties          Methods          Events

The TcxSchedulerDayView implements the day view in the scheduling area.

Unit

cxSchedulerDayView

TcxSchedulerDayView = class(TcxSchedulerCustomResourceView)

Description

Different types of view provide different arrangements and formats for scheduling and viewing user events in the scheduling area. This type of view enables end-users to schedule and view user events by day.

The TcxSchedulerDayView object is referenced by the TcxScheduler.ViewDay property. The TcxScheduler.CurrentView property is a reference to the TcxSchedulerDayView object if the day view is currently active in the scheduling area (the Active property is set to True).


TcxSchedulerDayView Hierarchy
Hierarchy

TPersistent

     |

TcxSchedulerSubControl

     |

TcxSchedulerCustomView

     |

TcxSchedulerCustomResourceView

     |

TcxSchedulerDayView


Properties for TcxSchedulerDayView
TcxSchedulerDayView Properties

TcxSchedulerDayView          Legend

In TcxSchedulerDayView

AllDayAreaScrollBar

AlwaysShowEventTime

AutoContentHeight

DayHeaderArea

EventShadows

HeaderContainer

HitTest

ShowAllDayEventsInContentArea

Styles

TimeRulerMinutes

TimeRulerPopupMenu

TimeScale

WorkTimeOnly

Derived from TcxSchedulerCustomResourceView

EventImagesLayout

GroupingKind

ShowEndTime

ShowTimeAsClock


Methods for TcxSchedulerDayView
TcxSchedulerDayView Methods

TcxSchedulerDayView          Legend

In TcxSchedulerDayView

 MakeWorkTimeVisible


Events for TcxSchedulerDayView
TcxSchedulerDayView Events

TcxSchedulerDayView          Legend

In TcxSchedulerDayView

 OnCustomDrawContainer

 OnCustomDrawTimeRuler


TcxSchedulerDayView.AllDayAreaScrollBar

TcxSchedulerDayView

Specifies the vertical scroll bar’s availability in an all-day event area.

property AllDayAreaScrollBar: TcxSchedulerAllDayAreaScrollBar;

Description

Refer to the TcxSchedulerAllDayAreaScrollBar enumeration that provides a description of available values.

The default value of the AllDayAreaScrollBar property is adsbDefault.


TcxSchedulerDayView.AlwaysShowEventTime

TcxSchedulerDayView

Specifies whether the start and end times are shown in the user event’s rectangle.

property AlwaysShowEventTime: Boolean;

Description

The user event’s start and end times are only shown in its rectangle if they are not the same as the time blocks currently shown in the scheduling area.

Set the AlwaysShowEventTime property to True to always display user event’s times regardless of whether its time bounds match the time blocks currently shown in the scheduling area or not.

The default value of the AlwaysShowEventTime property is False.


TcxSchedulerDayView.AutoContentHeight

TcxSchedulerDayView

Specifies whether the visual interval of the time blocks is changed when an end-user resizes the scheduler control’s height.

property AutoContentHeight: Boolean;

Description

An end-user can resize the scheduler control by dragging its bottom border. If the AutoContentHeight property is set to True the visual interval of the time blocks is increased or decreased if the user enlarges or reduces the scheduler control’s height, respectively. Otherwise if this property is set to False changes to the scheduler control’s height will have no effect on the intervals' sizes.

Note: the time block’s height depends on the font height if the AutoContentHeight property is set to False.

The default value of the AutoContentHeight property is False.


TcxSchedulerDayView.DayHeaderArea

TcxSchedulerDayView          See Also

Specifies whether a day header is displayed.

property DayHeaderArea: Boolean;

Description

Set the DayHeaderArea property to False to hide the day header.

The default value of the DayHeaderArea property is True.


TcxSchedulerDayView.EventShadows

TcxSchedulerDayView

Specifies whether the user event’s rectangle is formatted as shadowed.

property EventShadows: Boolean;

Description

If the value of the EventShadows property is True the user event’s rectangle is formatted as shadowed.

Note: the user event’s rectangle is only shadowed under the day view.

The default value of the EventShadows property is True.


TcxSchedulerDayView.HeaderContainer

TcxSchedulerDayView

Specifies whether the all-day event area (which is located at the top of a day in the scheduling area) is shown.

property HeaderContainer: Boolean;

Description

Set the HeaderContainer property to False to hide the all-day event area.

The default value of the HeaderContainer property is True.


TcxSchedulerDayView.HitTest

TcxSchedulerDayView

References the TcxSchedulerDayViewHitTest object that contains information about the scheduling area’s element the mouse pointer is currently positioned over when working in the day view.

property HitTest: TcxSchedulerDayViewHitTest;

Description

Use the HitTest property to determine which one of the scheduling area’s elements the mouse pointer is currently positioned over when working in the day view.

ReadOnly Property


TcxSchedulerDayView.ShowAllDayEventsInContentArea

TcxSchedulerDayView

Specifies whether all-day user events are displayed within the all-day event area, or within the content area.

property ShowAllDayEventsInContentArea: Boolean;

Description

Scheduled all-day user events are usually displayed within the all-day event area. As an alternative, the content area can be also used to show these events, along with other user events.

To display the all-day user events in the content area, set the ShowAllDayEventsInContentArea property to True. Otherwise, they will be shown in the all-day event area.

The default value of the ShowAllDayEventsInContentArea property is False.


TcxSchedulerDayView.Styles

TcxSchedulerDayView

Represents style settings for the scheduling area when using the day view.

property Styles: TcxSchedulerDayViewStyles;

Description

Each element’s appearance can be specified by the following style attributes – background color or bitmap, text color and font details. The TcxSchedulerDayViewStyles provides styles for the scheduling area’s elements that are visible under the day view – the all-day event area located at the top of each day, the timeline bar, and the time ruler.

Use the Styles property to specify styles for the elements visible in the scheduling area when using the day view.


TcxSchedulerDayView.TimeRulerMinutes

TcxSchedulerDayView          See Also

Specifies whether minutes are displayed in time rulers.

property TimeRulerMinutes: Boolean;

Description

If the TimeRulerMinutes property’s value is True then minutes will be shown in time rulers.

Note: minutes will only be displayed if the TimeScale property’s value is less than 60.

The default value of the TimeRulerMinutes property is False.


TcxSchedulerDayView.TimeRulerPopupMenu

TcxSchedulerDayView          See Also

Represents the pop-up menu that can be invoked for time rulers located on the left side of the scheduling area.

property TimeRulerPopupMenu: TcxSchedulerTimeRulerPopupMenu;

Description

The following image shows the pop-up menu invoked for the time ruler:

Use the TimeRulerPopupMenu property to access the TcxSchedulerTimeRulerPopupMenu object.


TcxSchedulerDayView.TimeScale

TcxSchedulerDayView          See Also

Specifies the time interval for the time rulers and time blocks in the scheduling area.

property TimeScale: Integer;

Description

The TimeScale’s value applies to the time rulers and respectively to the time blocks in the scheduling area.

The default value of the TimeScale property is cxDefaultTimeScale.


TcxSchedulerDayView.WorkTimeOnly

TcxSchedulerDayView          See Also

Specifies whether only working hours are displayed in the scheduling area.

property WorkTimeOnly: Boolean;

Description

Set the WorkTimeOnly property to True to show only time blocks, which fall within the time range specified by the TcxSchedulerOptionsView.WorkStart and TcxSchedulerOptionsView.WorkFinish properties.

The default value of the WorkTimeOnly property is False.


TcxSchedulerDayView.MakeWorkTimeVisible

TcxSchedulerDayView          See Also

Scrolls the content in the scheduling area to make the start of the work time visible.

procedure MakeWorkTimeVisible;

Description

Use the MakeWorkTimeVisible method to make the start of the work time visible in the scheduling area.


TcxSchedulerDayView.OnCustomDrawContainer

TcxSchedulerDayView

Fires before the all-day event area located on the top of each day is drawn.

type

  TcxSchedulerCustomDrawContainerEvent = procedure(Sender: TObject; ACanvas: TcxCanvas; AViewInfo: TcxSchedulerContainerCellViewInfo; var ADone: Boolean) of object;

property OnCustomDrawContainer: TcxSchedulerCustomDrawContainerEvent;

Description

Implement the OnCustomDrawContainer event handler to custom paint the all-day event area.

The Sender parameter specifies the day view;

The ACanvas parameter specifies the drawing surface;

The AViewInfo parameter provides information for rendering the all-day event area;

The ADone parameter specifies whether default painting is required. Set ADone to True to prevent the default painting from being performed.

See the examples in the Custom Drawing topic.


TcxSchedulerDayView.OnCustomDrawTimeRuler

TcxSchedulerDayView

Fires before the time ruler(s) is drawn.

type

  TcxSchedulerCustomDrawTimeRulerEvent = procedure(Sender: TObject; ACanvas: TcxCanvas; AViewInfo: TcxSchedulerTimeRulerCellViewInfo; var ADone: Boolean) of object;

property OnCustomDrawTimeRuler: TcxSchedulerCustomDrawTimeRulerEvent;

Description

Implement the OnCustomDrawTimeRuler event handler to custom paint the time ruler(s).

The Sender parameter specifies the day view;

The ACanvas parameter specifies the drawing surface;

The AViewInfo parameter provides information for rendering the time ruler(s);

The ADone parameter specifies whether default painting is required. Set ADone to True to prevent the default painting from being performed.

Note: the time ruler is divided into cells in the one hour scale.

See the examples in the Custom Drawing topic.


TcxSchedulerDayViewHitTest
TcxSchedulerDayViewHitTest Object

Hierarchy          Properties          Methods

The TcxSchedulerDayViewHitTest contains information on which is the scheduling area’s element that the mouse pointer is currently positioned over when schedules are displayed using the day view.

Unit

cxSchedulerDayView

TcxSchedulerDayViewHitTest = class(TcxSchedulerCustomResourceViewHitTest)

Description

The TcxSchedulerDayViewHitTest provides an interface used to determine the scheduling area’s element that the mouse pointer is currently positioned over when schedules are displayed using the day view.

The TcxSchedulerDayViewHitTest object is referenced by the TcxSchedulerDayView.HitTest property.


TcxSchedulerDayViewHitTest Hierarchy
Hierarchy

TObject

     |

TcxSchedulerSubControlHitTest

     |

TcxSchedulerViewHitTest

     |

TcxSchedulerCustomResourceViewHitTest

     |

TcxSchedulerDayViewHitTest


Properties for TcxSchedulerDayViewHitTest
TcxSchedulerDayViewHitTest Properties

TcxSchedulerDayViewHitTest          Legend

In TcxSchedulerDayViewHitTest

HitAtContainer

HitAtTimeRuler

Derived from TcxSchedulerCustomResourceViewHitTest

HitAtButton

HitAtContent

HitAtDayHeader

HitAtGroupSeparator

HitAtResourceHeader

HitAtTimeZoneLabel

TimeZone


Methods for TcxSchedulerDayViewHitTest
TcxSchedulerDayViewHitTest Methods

TcxSchedulerDayViewHitTest          Legend

Derived from TcxSchedulerCustomResourceViewHitTest

 GetDragKind


TcxSchedulerDayViewHitTest.HitAtContainer

TcxSchedulerDayViewHitTest

Gets whether the given point falls within the rectangle of the all-day event area, which is located at the top of a day in the scheduling area.

property HitAtContainer: Boolean;

Description

If the point falls within the all-day event area’s rectangle the HitAtContainer property returns True. Otherwise – False.

ReadOnly Property


TcxSchedulerDayViewHitTest.HitAtTimeRuler

TcxSchedulerDayViewHitTest

Gets whether the given point falls within the time ruler region.

property HitAtTimeRuler: Boolean;

Description

If the point falls within the time ruler region the HitAtTimeRuler property returns True. Otherwise – False.

ReadOnly Property


TcxSchedulerDayViewStyles
TcxSchedulerDayViewStyles Object

Hierarchy          Properties          Methods

Represents style settings for the day view.

Unit

cxSchedulerDayView

TcxSchedulerDayViewStyles = class(TcxStyles)

Description

The TcxSchedulerDayViewStyles provides styles for the scheduling area’s elements visible under the day view – the all-day event area located at the top of each day, the timeline bar, and the time ruler. The TcxSchedulerDayView.Styles property provides access to the TcxSchedulerDayViewStyles object.


TcxSchedulerDayViewStyles Hierarchy
Hierarchy

TcxStyles

     |

TcxSchedulerDayViewStyles


Properties for TcxSchedulerDayViewStyles
TcxSchedulerDayViewStyles Properties

TcxSchedulerDayViewStyles          Legend

In TcxSchedulerDayViewStyles

HeaderContainer

Scheduler

SelectedHeaderContainer

TimeLine

TimeRuler


Methods for TcxSchedulerDayViewStyles
TcxSchedulerDayViewStyles Methods

TcxSchedulerDayViewStyles          Legend

In TcxSchedulerDayViewStyles

 GetHeaderContainerParams

 GetTimeLineParams

 GetTimeRulerParams


TcxSchedulerDayViewStyles.HeaderContainer

TcxSchedulerDayViewStyles          See Also

Specifies style settings for the all-day event area located at the top of each day.

property HeaderContainer: TcxStyle;

Description

Use the HeaderContainer property to customize the all-day event area's style settings.

See the examples in the Styles topic.


TcxSchedulerDayViewStyles.Scheduler

TcxSchedulerDayViewStyles

Represents the scheduler control, which the pop-up menu was invoked for.

property Scheduler: TcxCustomScheduler;

Description

The scheduler control provides a graphical interface to end-users for scheduling user events. Use the Scheduler property to access the scheduler control instance.

ReadOnly Property


TcxSchedulerDayViewStyles.SelectedHeaderContainer

TcxSchedulerDayViewStyles          See Also

Specifies style settings for the all-day event area which is located at the top of a day, when it is selected.

property SelectedHeaderContainer: TcxStyle;

Description

Use the HeaderContainer property to customize the style settings of the selected all-day event area.

See the examples in the Styles topic.


TcxSchedulerDayViewStyles.TimeLine

TcxSchedulerDayViewStyles          See Also

Specifies style settings for the timeline bar.

property TimeLine: TcxStyle;

Description

The timeline bar is a vertical bar along the left side of a day column or along the left side of the user event’s rectangle. The timeline bar is used to indicate the user's availability status (see the TcxSchedulerEvent.State property). Use the TimeLine property to customize the style settings of the timeline bar.

See the examples in the Styles topic.


TcxSchedulerDayViewStyles.TimeRuler

TcxSchedulerDayViewStyles          See Also

Specifies style settings for time rulers.

property TimeRuler: TcxStyle;

Description

Use the TimeRuler property to customize the style settings of time rulers.

See the examples in the Styles topic.


TcxSchedulerDayViewStyles.GetHeaderContainerParams

TcxSchedulerDayViewStyles          See Also

Returns the TcxViewParams record which contains information about the style attributes of the all-day event area located at the top of each day in the scheduling area.

function GetHeaderContainerParams(const ADate: TDateTime; AResource: TcxSchedulerStorageResourceItem; ASelected: Boolean): TcxViewParams;

Description

Use the GetHeaderContainerParams method to get information about the style attributes of the all-day event area.

The ADate parameter specifies the day the all-day event area is located in;

The AResource parameter specifies the resource the ADate day belongs to (in the case of the gkByResource or gkByDate flag on the TcxSchedulerCustomResourceView.GroupingKind property being active and more than one resource being defined). In other cases set the AResource parameter to nil;

The ASelected parameter specifies whether the all-day event area is selected. Set the ASelected parameter to True to indicate that the all-day event area is selected.


TcxSchedulerDayViewStyles.GetTimeLineParams

TcxSchedulerDayViewStyles          See Also

Returns the TcxViewParams record containing information about the style attributes of the timeline bar.

function GetTimeLineParams: TcxViewParams;

Description

Use the GetTimeLineParams method to get information about the style attributes of the timeline bar.


TcxSchedulerDayViewStyles.GetTimeRulerParams

TcxSchedulerDayViewStyles          See Also

Returns the TcxViewParams record containing information about the style attributes of time rulers.

function GetTimeRulerParams: TcxViewParams;

Description

Use the GetTimeRulerParams method to get information about the style attributes of time rulers.


TcxSchedulerTimeRulerPopupMenu
TcxSchedulerTimeRulerPopupMenu Object

Hierarchy          Properties          Methods          Events

The TcxSchedulerTimeRulerPopupMenu implements the pop-up menu which can be invoked for time rulers in the scheduling area.

Unit

cxSchedulerDayView

TcxSchedulerTimeRulerPopupMenu = class(TcxSchedulerPopupMenu)

Description

The TcxSchedulerTimeRulerPopupMenu provides features for embedding custom code to handle pop-up menu items being selected and enabling customization of the pop-up menu when it’s being invoked. The TcxSchedulerTimeRulerPopupMenu object is referenced by the TcxSchedulerDayView.TimeRulerPopupMenu property.

The following image shows the pop-up menu invoked for the time ruler:


TcxSchedulerTimeRulerPopupMenu Hierarchy
Hierarchy

TPersistent

     |

TcxSchedulerPopupMenu

     |

TcxSchedulerTimeRulerPopupMenu


Properties for TcxSchedulerTimeRulerPopupMenu
TcxSchedulerTimeRulerPopupMenu Properties

TcxSchedulerTimeRulerPopupMenu          Legend

In TcxSchedulerTimeRulerPopupMenu

Items

Derived from TcxSchedulerPopupMenu

PopupMenu

Scheduler

UseBuiltInPopupMenu


Methods for TcxSchedulerTimeRulerPopupMenu
TcxSchedulerTimeRulerPopupMenu Methods

TcxSchedulerTimeRulerPopupMenu          Legend

In TcxSchedulerTimeRulerPopupMenu

 Execute

 GetMenuItem

Derived from TcxSchedulerPopupMenu

 Popup


Events for TcxSchedulerTimeRulerPopupMenu
TcxSchedulerTimeRulerPopupMenu Events

TcxSchedulerTimeRulerPopupMenu          Legend

In TcxSchedulerTimeRulerPopupMenu

 OnClick

 OnPopup


TcxSchedulerTimeRulerPopupMenu.Items

TcxSchedulerTimeRulerPopupMenu

Represents a collection of pop-up menu items.

property Items: TcxSchedulerTimeRulerPopupMenuItems;

Description

Use the Items property to specify the items in the pop-up menu. A full set of the available items is provided by the TcxSchedulerTimeRulerPopupMenuItems enumeration.


TcxSchedulerTimeRulerPopupMenu.Execute

TcxSchedulerTimeRulerPopupMenu

Executes the behavior associated with the AItem pop-up menu item.

procedure Execute(AItem: TcxSchedulerTimeRulerPopupMenuItem);

Description

Invoke the Execute method to execute the operations associated with the AItem pop-up menu item.


TcxSchedulerTimeRulerPopupMenu.GetMenuItem

TcxSchedulerTimeRulerPopupMenu

Returns the TMenuItem object corresponding to the AItem pop-up menu item.

function GetMenuItem(AItem: TcxSchedulerTimeRulerPopupMenuItem): TMenuItem;

Description

Invoke the GetMenuItem method within the OnPopup event handler to use the TMenuItem object associated with the AItem pop-up menu item, to customize the pop-up menu items.


TcxSchedulerTimeRulerPopupMenu.OnClick

TcxSchedulerTimeRulerPopupMenu          See Also

Fires after the user has clicked the AItem pop-up menu item.

type

  TcxSchedulerTimeRulerPopupMenuClickEvent = procedure(Sender: TcxSchedulerTimeRulerPopupMenu; AItem: TcxSchedulerTimeRulerPopupMenuItem; var AHandled: Boolean) of object;

property OnClick: TcxSchedulerTimeRulerPopupMenuClickEvent;

Description

Implement the OnClick event handler to provide custom behavior (for example, displaying a submenu) when an end-user has clicked the menu item.

The Sender parameter specifies the pop-up menu invoked;

The AItem parameter specifies the item clicked;

The AHandled parameter specifies whether default operations are required when the event handler exits. Assign the AHandled parameter a value of True to avoid executing the default behavior.


TcxSchedulerTimeRulerPopupMenu.OnPopup

TcxSchedulerTimeRulerPopupMenu          See Also

Fires after an end-user has invoked the pop-up menu on the time ruler.

type

  TcxSchedulerTimeRulerPopupMenuPopupEvent = procedure(Sender: TcxSchedulerTimeRulerPopupMenu; ABuiltInMenu: TPopupMenu; var AHandled: Boolean) of object;

property OnPopup: TcxSchedulerTimeRulerPopupMenuPopupEvent;

Description

Implement the OnPopup event handler to customize the pop-up menu before it appears.

The Sender parameter specifies the pop-up menu invoked;

The ABuiltInMenu parameter specifies the standard pop-up menu component used as a basis for building an appropriate pop-up menu;

The AHandled parameter specifies whether the default pop-up menu is required when the event handler has finished its execution. Assign the AHandled parameter a value of True to avoid displaying the default pop-up menu.


TcxSchedulerAllDayAreaScrollBar
TcxSchedulerAllDayAreaScrollBar type

See Also

Lists values defining vertical scroll bar availability within all-day event area.

Unit

cxSchedulerDayView

TcxSchedulerAllDayAreaScrollBar = (adsbDefault, adsbNever, adsbAlways);

Description

Values include:

Value	Meaning
adsbDefault	The scroll bar is displayed, if the contents don’t fit inside the all-day event area.
adsbNever	The scroll bar is never displayed.
adsbAlways	The scroll bar is always displayed.


TcxSchedulerTimeRulerPopupMenuItems
TcxSchedulerTimeRulerPopupMenuItems type

See Also

Enumerates the available items for the pop-up menu invoked on time rulers in the scheduling area.

Unit

cxSchedulerDayView

TcxSchedulerTimeRulerPopupMenuItem = (rpmiNewEvent, rpmiNewAllDayEvent,

    rpmiNewReccuringEvent, rpmi60min, rpmi30min, rpmi15min, rpmi10min,

    rpmi6min, rpmi5min);

TcxSchedulerTimeRulerPopupMenuItems = set of TcxSchedulerTimeRulerPopupMenuItem;

Description

Values include:

Value	Meaning
rpmiNewEvent	Specifies if the Event modal dialog used to describe the user event in detail is invoked
rpmiNewAllDayEvent	Specifies if the Event modal dialog with a checked All day event check box in it is invoked (see also the TcxSchedulerEvent.AllDayEvent property)
rpmiNewReccuringEvent	Specifies if the Event modal dialog box and Event recurrence modal dialog are invoked together (see also the TcxSchedulerEvent.RecurrenceInfo property)
rpmi60min	Specifies the time interval option of 60 minutes (see also the TcxSchedulerDayView.TimeScale property)
rpmi30min	Specifies the time interval option of 30 minutes (see also the TcxSchedulerDayView.TimeScale property)
rpmi15min	Specifies the time interval option of 15 minutes (see also the TcxSchedulerDayView.TimeScale property)
rpmi10min	Specifies the time interval option of 10 minutes (see also the TcxSchedulerDayView.TimeScale property)
rpmi6min	Specifies the time interval option of 6 minutes (see also the TcxSchedulerDayView.TimeScale property)
rpmi5min	Specifies the time interval option of 5 minutes (see also the TcxSchedulerDayView.TimeScale property)


cxDefaultTimeScale constant
cxDefaultTimeScale global constant

See Also

Denotes the default time interval (in minutes) in time rulers and time blocks in the scheduling area.

Unit

cxSchedulerDayView

cxDefaultTimeScale = 30;

Description

Denotes the default time interval (in minutes) in time rulers and time blocks in the scheduling area.


cxSchedulerWeekView Unit Overview
cxSchedulerWeekView Unit

Classes

TcxSchedulerCustomWeekView

TcxSchedulerWeeksView

TcxSchedulerWeekView

Other Types

TcxSchedulerWeekViewDaysLayout


TcxSchedulerCustomWeekView
TcxSchedulerCustomWeekView Object

Hierarchy          Properties

The TcxSchedulerCustomWeekView is the base class for classes implementing week and weeks views in the scheduling area.

Unit

cxSchedulerWeekView

TcxSchedulerCustomWeekView = class(TcxSchedulerCustomResourceView)

Description

Week and weeks views, implemented by the TcxSchedulerCustomWeekView’s descendants, provide end-users with different arrangements and formats of the schedules in the scheduling area.


TcxSchedulerCustomWeekView Hierarchy
Hierarchy

TPersistent

     |

TcxSchedulerSubControl

     |

TcxSchedulerCustomView

     |

TcxSchedulerCustomResourceView

     |

TcxSchedulerCustomWeekView


Properties for TcxSchedulerCustomWeekView
TcxSchedulerCustomWeekView Properties

TcxSchedulerCustomWeekView          Legend

In TcxSchedulerCustomWeekView

CompressWeekEnd

DaysLayout

HideWeekEnd

WeekCount

Derived from TcxSchedulerCustomResourceView

GroupingKind

ShowEndTime

ShowTimeAsClock


TcxSchedulerCustomWeekView.CompressWeekEnd

TcxSchedulerCustomWeekView

Specifies whether the days in a weekend should be displayed together in one day cell.

property CompressWeekEnd: Boolean;

Description

If the value of the CompressWeekEnd property is set to True the days in a weekend are displayed together in one day cell in the scheduling area.

The default value of the CompressWeekEnd property is True.


TcxSchedulerCustomWeekView.DaysLayout

TcxSchedulerCustomWeekView

Specifies the arrangement of the days in the week view.

property DaysLayout: TcxSchedulerWeekViewDaysLayout;

Description

The days in the week view can be arranged either in one or two columns (as specified by the TcxSchedulerWeekViewDaysLayout enumeration).

The default value of the DaysLayout property is wdlTwoColumns.


TcxSchedulerCustomWeekView.HideWeekEnd

TcxSchedulerCustomWeekView

Specifies whether non-work days are to be hidden in the scheduling area.

property HideWeekEnd: Boolean;

Description

To suppress the days that are specified as non-work days (see the scheduler’s OptionsView.WorkDays property), set the HideWeekEnd property to True.

Note that non-work days are always displayed in Week View – their visibility doesn’t depend upon the HideWeekEnd property (except for schedules grouped by dates – if the scheduler’s OptionsView.GroupingKind property is gkByDate).

The default value of the HideWeekEnd property is False.


TcxSchedulerCustomWeekView.WeekCount

TcxSchedulerCustomWeekView

Determines the number of weeks that are displayed simultaneously in the scheduling area.

property WeekCount: Integer;

Description

Use the WeekCount property to determine how many weeks are displayed at once in the scheduling area.

ReadOnly Property


TcxSchedulerWeeksView
TcxSchedulerWeeksView Object

Hierarchy          Properties

The TcxSchedulerWeeksView implements the weeks view in the scheduling area.

Unit

cxSchedulerWeekView

TcxSchedulerWeeksView = class(TcxSchedulerCustomWeekView)

Description

Different types of view provide different arrangements and formats for scheduling and viewing user events in the scheduling area. This type of view enables an end-user to schedule and view user events by weeks.

The TcxSchedulerWeeksView object is referenced by the TcxScheduler.ViewWeeks property. The TcxScheduler.CurrentView property is a reference to the TcxSchedulerWeeksView object if the weeks view is currently active in the scheduling area (the Active property is set to True).


TcxSchedulerWeeksView Hierarchy
Hierarchy

TPersistent

     |

TcxSchedulerSubControl

     |

TcxSchedulerCustomView

     |

TcxSchedulerCustomResourceView

     |

TcxSchedulerCustomWeekView

     |

TcxSchedulerWeeksView


Properties for TcxSchedulerWeeksView
TcxSchedulerWeeksView Properties

TcxSchedulerWeeksView          Legend

Derived from TcxSchedulerCustomWeekView

CompressWeekEnd

HideWeekEnd

WeekCount


TcxSchedulerWeekView
TcxSchedulerWeekView Object

Hierarchy          Properties

The TcxSchedulerWeekView implements the week view in the scheduling area.

Unit

cxSchedulerWeekView

TcxSchedulerWeekView = class(TcxSchedulerCustomWeekView)

Description

Different types of view provide different arrangements and formats for scheduling and viewing user events in the scheduling area. This type of view enables end-users to schedule and view user events by week.

The TcxSchedulerWeekView object is referenced by the TcxScheduler.ViewWeek property. The TcxScheduler.CurrentView property is a reference to the TcxSchedulerWeekView object if the week view is currently active in the scheduling area (the Active property is set to True).


TcxSchedulerWeekView Hierarchy
Hierarchy

TPersistent

     |

TcxSchedulerSubControl

     |

TcxSchedulerCustomView

     |

TcxSchedulerCustomResourceView

     |

TcxSchedulerCustomWeekView

     |

TcxSchedulerWeekView


Properties for TcxSchedulerWeekView
TcxSchedulerWeekView Properties

TcxSchedulerWeekView          Legend

Derived from TcxSchedulerCustomWeekView

CompressWeekEnd

DaysLayout

HideWeekEnd

WeekCount


TcxSchedulerWeekViewDaysLayout
TcxSchedulerWeekViewDaysLayout type

See Also

Enumerates the available types of layout for the week view.

Unit

cxSchedulerWeekView

TcxSchedulerWeekViewDaysLayout = (wdlTwoColumns, wdlOneColumn);

Description

Values include:

Value	Meaning
wdlTwoColumns	The days are arranged in two columns
wdlOneColumn	The days are arranged in one column


cxSchedulerDateNavigator Unit Overview
cxSchedulerDateNavigator Unit

Classes

TcxSchedulerDateNavigator

TcxSchedulerDateNavigatorCaptionViewInfo

TcxSchedulerDateNavigatorDayCaptionViewInfo

TcxSchedulerDateNavigatorDayNumberViewInfo

TcxSchedulerDateNavigatorHitTest

TcxSchedulerDateNavigatorMonthContentViewInfo

TcxSchedulerDateNavigatorMonthHeaderViewInfo

TcxSchedulerDateNavigatorMonthViewInfo

TcxSchedulerDateNavigatorStyles


TcxSchedulerDateNavigator
TcxSchedulerDateNavigator Object

Hierarchy          Properties          Methods          Events          See Also

The TcxSchedulerDateNavigator implements the Date Navigator pane where the month(s) view is exposed.

Unit

cxSchedulerDateNavigator

TcxSchedulerDateNavigator = class(TcxSchedulerCustomDateNavigator)

Description

The Date Navigator provides a quick and easy way to change the dates in the scheduling area. It can be used to change views between day, week and weeks.

The Date Navigator can reside to the right or left of the scheduling area (its position depends on the TcxSchedulerOptionsView.ViewPosition property’s value). There is an option to entirely hide the Date Navigator by setting the TcxSchedulerDateNavigator.Visible property to False.

The amount of months shown in the Date Navigator pane depends on the ColCount and RowCount properties. An end-user can change the number of months shown in the Date Navigator by dragging the vertical or horizontal splitter.

The TcxSchedulerDateNavigator object is referenced by the TcxScheduler.DateNavigator property.


TcxSchedulerDateNavigator Hierarchy
Hierarchy

TcxSchedulerCustomDateNavigator

     |

TcxSchedulerDateNavigator


Properties for TcxSchedulerDateNavigator
TcxSchedulerDateNavigator Properties

TcxSchedulerDateNavigator          Legend

In TcxSchedulerDateNavigator

ActualFirstWeekOfYear

ColCount

Date

FirstDate

FirstWeekOfYear

HitTest

HolidayColor

LastDate

RealFirstDate

RealLastDate

RowCount

SelectionIsWeeks

SelectionList

SelectPeriod

ShowDatesContainingEventsInBold

ShowDatesContainingHolidaysInColor

ShowHolidayHints

ShowWeekNumbers

Styles


Methods for TcxSchedulerDateNavigator
TcxSchedulerDateNavigator Methods

TcxSchedulerDateNavigator          Legend

In TcxSchedulerDateNavigator

SetIntegralSizes


Events for TcxSchedulerDateNavigator
TcxSchedulerDateNavigator Events

TcxSchedulerDateNavigator          Legend

In TcxSchedulerDateNavigator

OnCustomDrawBackground

OnCustomDrawContent

OnCustomDrawDayCaption

OnCustomDrawDayNumber

OnCustomDrawHeader

OnPeriodChanged

OnSelectionChanged


TcxSchedulerDateNavigator.ActualFirstWeekOfYear

TcxSchedulerDateNavigator

Gets the flag that denotes which week is treated as the first week of a year.

property ActualFirstWeekOfYear: TcxFirstWeekOfYear;

Description

The ActualFirstWeekOfYear property gets one of the following flags that the FirstWeekOfYear property can be set to: fwyJan1, fwyFirstFullWeek and fwyFirstFourDays.

Note: one of the above flags will be returned by the ActualFirstWeekOfYear property depending on the host environment settings, if the fwySystem flag on the FirstWeekOfYear property is active.

ReadOnly Property


TcxSchedulerDateNavigator.ColCount

TcxSchedulerDateNavigator          See Also

Specifies the number of months that appear in a row in the Date Navigator pane.

property ColCount: Integer;

Description

If the value of the ColCount property is 1 and the value of the RowCount property is 1 only one month appears in the Date Navigator pane.

An end-user can change the number of months in a row by dragging the vertical splitter between the scheduling area and the Date Navigator.

The default value of the ColCount property is 1.


TcxSchedulerDateNavigator.Date

TcxSchedulerDateNavigator

Specifies the selected date or the first date in the range of selected dates.

property Date: TDateTime;

Description

Specifies the date selected by an end-user, or the first date in a range of dates selected by the end-user by pressing and holding down the Ctrl or Shift key while clicking on the desired dates.

Note: an end-user can select more than one date if the value of the SelectPeriod property is True.


TcxSchedulerDateNavigator.FirstDate

TcxSchedulerDateNavigator          See Also

Specifies the first day of the month(s) to be displayed in the Date Navigator pane.

property FirstDate: TDateTime;

Description

Use the FirstDate property to specify the first day of the month(s) to be displayed in the Date Navigator pane.


TcxSchedulerDateNavigator.FirstWeekOfYear

TcxSchedulerDateNavigator

Specifies which week should be considered to be the beginning of a year.

property FirstWeekOfYear: TcxFirstWeekOfYear;

Description

The available types for a year's first week are specified by the TcxFirstWeekOfYear enumeration.

The default value of the FirstWeekOfYear property is fwySystem.


TcxSchedulerDateNavigator.HitTest

TcxSchedulerDateNavigator

References the TcxSchedulerDateNavigatorHitTest object that contains information about the Date Navigator’s element that the mouse pointer is currently positioned over.

property HitTest: TcxSchedulerDateNavigatorHitTest;

Description

Use the HitTest property to determine which of the Date Navigator’s element the mouse pointer is currently positioned over.

ReadOnly Property


TcxSchedulerDateNavigator.HolidayColor

TcxSchedulerDateNavigator

Specifies a color used to paint holiday dates in the Date Navigator.

property HolidayColor: TColor;

Description

Holiday dates are painted with the specified color, if the ShowDatesContainingHolidaysInColor property is set to True.

The default value of the HolidayColor property is clRed.


TcxSchedulerDateNavigator.LastDate

TcxSchedulerDateNavigator          See Also

Gets the last day of the month(s) displayed in the Date Navigator pane.

property LastDate: TDateTime;

Description

Use the LastDate property to determine the last day of the month(s) displayed in the Date Navigator pane.

ReadOnly Property


TcxSchedulerDateNavigator.RealFirstDate

TcxSchedulerDateNavigator          See Also

Gets the first date displayed in the Date Navigator pane.

property RealFirstDate: TDateTime;

Description

The first date displayed in the Date Navigator is the day the current month’s first week starts with. The first day of the current month and the first day of the current month’s first week are not the same. The first day of the current month’s first week can be in the previous month.

ReadOnly Property


TcxSchedulerDateNavigator.RealLastDate

TcxSchedulerDateNavigator          See Also

Gets the last date displayed in the Date Navigator pane.

property RealLastDate: TDateTime;

Description

The last date displayed in the Date Navigator is the day the current month’s last week ends with. The last day of the current month and the last day of the current month’s last week are not the same. The last day of the current month’s last week can be in the next month.

ReadOnly Property


TcxSchedulerDateNavigator.RowCount

TcxSchedulerDateNavigator          See Also

Specifies the number of months that appear in a column in the Date Navigator pane.

property RowCount: Integer;

Description

If the value of the RowCount property is 1 and the value of the ColCount property is 1 only one month appears in the Date Navigator pane.

Note: An end-user can change the number of months in a column by dragging the horizontal splitter between the Control Box and the Date Navigator.

The default value of the RowCount property is 1.


TcxSchedulerDateNavigator.SelectionIsWeeks

TcxSchedulerDateNavigator

Specifies whether more than one week is selected in the Date Navigator.

property SelectionIsWeeks: Boolean;

Description

If the value of the SelectionIsWeeks property is True, two or more weeks are currently selected in the Date Navigator. Otherwise – False.


TcxSchedulerDateNavigator.SelectionList

TcxSchedulerDateNavigator          See Also

Represents a collection of dates to be displayed in the scheduling area.

property SelectionList: TcxSchedulerDateList;

Description

Use the SelectionList property to determine the dates to be displayed in the scheduling area.

ReadOnly Property


TcxSchedulerDateNavigator.SelectPeriod

TcxSchedulerDateNavigator

Specifies whether an end-user can select more than one date at a time in the Date Navigator.

property SelectPeriod: Boolean;

Description

If the value of the SelectPeriod property is True an end-user can select any number of dates by clicking them with the mouse while holding down the Ctrl or Shift key. If the value of the SelectPeriod property is False only one date can be selected at a time.


TcxSchedulerDateNavigator.ShowDatesContainingEventsInBold

TcxSchedulerDateNavigator          See Also

Specifies whether days containing user events are shown in bold in the Date Navigator.

property ShowDatesContainingEventsInBold: Boolean;

Description

If the value of the ShowDatesContainingEventsInBold property is True days containing user events are shown in bold in the Date Navigator.

The default value of the ShowDatesContainingEventsInBold property is True.


TcxSchedulerDateNavigator.ShowDatesContainingHolidaysInColor

TcxSchedulerDateNavigator          See Also

Specifies whether holiday dates are to be highlighted in the Date Navigator.

property ShowDatesContainingHolidaysInColor: Boolean;

Description

To paint holiday dates with a color specified via the HolidayColor property, set the ShowDatesContainingHolidaysInColor property to True.

The default value of the ShowDatesContainingHolidaysInColor property is False.


TcxSchedulerDateNavigator.ShowHolidayHints

TcxSchedulerDateNavigator          See Also

Specifies whether the hint window is displayed when an end-user hot-tracks a holiday in the Date Navigator.

property ShowHolidayHints: Boolean;

Description

The ShowHolidayHints property is only in effect, if the ShowDatesContainingHolidaysInColor property is set to True.

To display the holiday day hint, set the ShowHolidayHints property to True.

The default value of the ShowHolidayHints property is False.


TcxSchedulerDateNavigator.ShowWeekNumbers

TcxSchedulerDateNavigator

Specifies whether week numbers in the Date Navigator are shown.

property ShowWeekNumbers: Boolean;

Description

If the value of the ShowWeekNumbers property is True the number of each week in the current year (for the weeks displayed in the Date Navigator) appears on the left side of the Date Navigator.

The default value of the ShowWeekNumbers property is True.


TcxSchedulerDateNavigator.Styles

TcxSchedulerDateNavigator

Represents the style settings for the Date Navigator.

property Styles: TcxSchedulerDateNavigatorStyles;

Description

Each element’s appearance can be specified by the following style attributes – background color or bitmap, text color and font details. The TcxSchedulerDateNavigatorStyles provides styles for the Date Navigator‘s elements - the Date Navigator pane’s background, calendar, header and selected dates. Use the Styles property to specify styles for the Date Navigator‘s elements.


TcxSchedulerDateNavigator.SetIntegralSizes

TcxSchedulerDateNavigator          See Also

Eliminates padding in the Date Navigator pane.

procedure SetIntegralSizes; override;

Description

If there is a gap between the calendar region and the boundaries of the Date Navigator pane invoking the SetIntegralSizes method will resize the pane so that it fits exactly to the visible month(s).


TcxSchedulerDateNavigator.OnCustomDrawBackground

TcxSchedulerDateNavigator

Fires before the Date Navigator’s background is drawn.

type

  TcxSchedulerDateNavigatorCustomDrawBackgroundEvent = procedure(Sender: TObject; ACanvas: TcxCanvas; const ABounds: TRect; var AViewParams: TcxViewParams; var ADone: Boolean) of object;

property OnCustomDrawBackground: TcxSchedulerDateNavigatorCustomDrawBackgroundEvent;

Description

Implement the OnCustomDrawBackground event handler to custom paint the Date Navigator’s background.

The Sender parameter specifies the Date Navigator component;

The ACanvas parameter specifies the drawing surface;

The ABounds parameter specifies the component’s bounding rectangle;

The AViewParams parameter specifies the component’s style attributes;

The ADone parameter specifies whether default painting is required. Set ADone to True to prevent default painting being performed.

See the example in the Custom Drawing topic.

Note: the Date Navigator’s background is visible if the TcxSchedulerOptionsCustomize.IntegralSizing property is set to False.


TcxSchedulerDateNavigator.OnCustomDrawContent

TcxSchedulerDateNavigator

Fires before the Date Navigator month(s)’ calendar(s) is drawn.

type

  TcxSchedulerDateNavigatorCustomDrawContentEvent = procedure(Sender: TObject; ACanvas: TcxCanvas; AViewInfo: TcxSchedulerDateNavigatorMonthContentViewInfo; var ADone: Boolean) of object;

property OnCustomDrawContent: TcxSchedulerDateNavigatorCustomDrawContentEvent;

Description

Implement the OnCustomDrawContent event handler to custom paint the Date Navigator month(s)’ calendar(s).

The Sender parameter specifies the Date Navigator component;

The ACanvas parameter specifies the drawing surface;

The AViewInfo parameter provides information for rendering the calendar;

The ADone parameter specifies whether default painting is required. Set ADone to True to prevent default painting from being performed.

Note: if the Transparent property of the AViewInfo object is set to True within the OnCustomDrawContent event handler, the OnCustomDrawDayCaption and OnCustomDrawDayNumber event handlers will do transparent painting, if implemented. So, there is no need to set the Transparent property of the appropriate AViewInfo objects to True respectively within the OnCustomDrawDayCaption and OnCustomDrawDayNumber event handlers. In any case, if you need to completely repaint shapes specified for OnCustomDrawDayCaption and OnCustomDrawDayNumber, just set the Transparent property of the appropriate AViewInfo objects to False within these event handlers.

See the example in the Custom Drawing topic.


TcxSchedulerDateNavigator.OnCustomDrawDayCaption

TcxSchedulerDateNavigator

Fires before each caption of a day in the Date Navigator is drawn.

type

  TcxSchedulerDateNavigatorCustomDrawDayCaptionEvent = procedure(Sender: TObject; ACanvas: TcxCanvas; AViewInfo: TcxSchedulerDateNavigatorDayCaptionViewInfo; var ADone: Boolean) of object;

property OnCustomDrawDayCaption: TcxSchedulerDateNavigatorCustomDrawDayCaptionEvent;

Description

Implement the OnCustomDrawDayCaption event handler to custom paint the captions of the days in the Date Navigator.

The Sender parameter specifies the Date Navigator component;

The ACanvas parameter specifies the drawing surface;

The AViewInfo parameter provides information for rendering the caption;

The ADone parameter specifies whether default painting is required. Set ADone to True to prevent default painting.

Note: if the Transparent property of the proprietary AViewInfo object is set to True within the OnCustomDrawContent event handler, the OnCustomDrawDayCaption and OnCustomDrawDayNumber event handlers will do transparent painting, if implemented. So, there is no need to set the Transparent property of the appropriate AViewInfo objects to True respectively within the OnCustomDrawDayCaption and OnCustomDrawDayNumber event handlers. In any case, if you need to completely repaint shapes specified for OnCustomDrawDayCaption and OnCustomDrawDayNumber, just set the Transparent property of the appropriate AViewInfo objects to False within these event handlers.

See the example in the Custom Drawing topic.


TcxSchedulerDateNavigator.OnCustomDrawDayNumber

TcxSchedulerDateNavigator

Fires before a day in the Date Navigator is drawn.

type

  TcxSchedulerDateNavigatorCustomDrawDayNumberEvent = procedure(Sender: TObject; ACanvas: TcxCanvas; AViewInfo: TcxSchedulerDateNavigatorDayNumberViewInfo; var ADone: Boolean) of object;

property OnCustomDrawDayNumber: TcxSchedulerDateNavigatorCustomDrawDayNumberEvent;

Description

Implement the OnCustomDrawDayNumber event handler to custom paint the dates in the Date Navigator.

The Sender parameter specifies the Date Navigator component;

The ACanvas parameter specifies the drawing surface;

The AViewInfo parameter provides information for rendering the date cell;

The ADone parameter specifies whether default painting is required. Set ADone to True to prevent default painting.

Note: if the Transparent property of the proprietary AViewInfo object is set to True within the OnCustomDrawContent event handler, the OnCustomDrawDayCaption and OnCustomDrawDayNumber event handlers will do transparent painting, if implemented. So, there is no need to set the Transparent property of the appropriate AViewInfo objects to True respectively within the OnCustomDrawDayCaption and OnCustomDrawDayNumber event handlers. In any case, if you need to completely repaint shapes specified for OnCustomDrawDayCaption and OnCustomDrawDayNumber, just set the Transparent property of the appropriate AViewInfo objects to False within these event handlers.

See the example in the Custom Drawing topic.


TcxSchedulerDateNavigator.OnCustomDrawHeader

TcxSchedulerDateNavigator

Fires before the Date Navigator’s month(s) header(s) is drawn.

type

  TcxSchedulerDateNavigatorCustomDrawHeaderEvent = procedure(Sender: TObject; ACanvas: TcxCanvas; AViewInfo: TcxSchedulerDateNavigatorMonthHeaderViewInfo; var ADone: Boolean) of object;

property OnCustomDrawHeader: TcxSchedulerDateNavigatorCustomDrawHeaderEvent;

Description

Implement the OnCustomDrawHeader event handler to custom paint the Date Navigator’s month(s) header(s).

The Sender parameter specifies the Date Navigator component;

The ACanvas parameter specifies the drawing surface;

The AViewInfo parameter provides information for rendering the month header;

The ADone parameter specifies whether default painting is required. Set ADone to True to prevent default painting being performed.

See the example in the Custom Drawing topic.


TcxSchedulerDateNavigator.OnPeriodChanged

TcxSchedulerDateNavigator

Fires before a different month(s) is shown in the Date Navigator.

type

  TcxSchedulerPeriodChangedEvent = procedure(Sender: TObject; const AStart, AFinish: TDateTime) of object;

property OnPeriodChanged: TcxSchedulerPeriodChangedEvent;

Description

An end-user can change the month(s) shown in the Date Navigator.

Implement the OnPeriodChanged event handler to customize the behavior when the month(s) shown is changed in the Date Navigator.

The Sender parameter specifies the Date Navigator component;

The AStart and AFinish parameters specify the first and last dates that are visible in the Date Navigator, respectively.


TcxSchedulerDateNavigator.OnSelectionChanged

TcxSchedulerDateNavigator

Fires when a different date(s) is selected in the Date Navigator.

type

  TcxSchedulerPeriodChangedEvent = procedure(Sender: TObject; const AStart, AFinish: TDateTime) of object;

property OnSelectionChanged: TcxSchedulerPeriodChangedEvent;

Description

Implement the OnSelectionChanged event handler to customize the behavior when a date(s) is selected in the Date Navigator.

The Sender parameter specifies the Date Navigator component;

The AStart and AFinish parameters specify the first and last dates that are selected in the Date Navigator, respectively.


TcxSchedulerDateNavigatorCaptionViewInfo
TcxSchedulerDateNavigatorCaptionViewInfo Object

Hierarchy          Properties          See Also

The TcxSchedulerDateNavigatorCaptionViewInfo class contains the information required to render the various header cells in the Date Navigator.

Unit

cxSchedulerDateNavigator

TcxSchedulerDateNavigatorCaptionViewInfo = class(TObject)

Description

The TcxSchedulerDateNavigatorCaptionViewInfo class is the base class for classes which provide data for custom drawing the Date Navigator’s header cells. Instances of its descendants are passed into the following events as arguments:

•	the TcxSchedulerDateNavigator.OnCustomDrawDayCaption (or TcxCustomDateNavigator.OnCustomDrawDayCaption) event – is intended for custom painting the day captions in the Date Navigator;

•	the TcxSchedulerDateNavigator.OnCustomDrawDayNumber (or TcxCustomDateNavigator.OnCustomDrawDayNumber) event – is intended for custom painting the dates in the Date Navigator;

•	the TcxSchedulerDateNavigator.OnCustomDrawHeader (or TcxCustomDateNavigator.OnCustomDrawHeader) event – is intended for custom painting the Date Navigator’s month(s) header(s).

Members declared by the TcxSchedulerDateNavigatorCaptionViewInfo class enable a cell’s boundaries to be determined (see the Bounds property), the output text that is displayed in the current element’s cell (see the Text property), the visibility of the cell’s background (see the Transparent property) and the element’s style settings (see the ViewParams property) to be specified.

Do not use this class directly. Use its descendants instead.


TcxSchedulerDateNavigatorCaptionViewInfo Hierarchy
Hierarchy

TObject

     |

TcxSchedulerDateNavigatorCaptionViewInfo


Properties for TcxSchedulerDateNavigatorCaptionViewInfo
TcxSchedulerDateNavigatorCaptionViewInfo Properties

TcxSchedulerDateNavigatorCaptionViewInfo          Legend

In TcxSchedulerDateNavigatorCaptionViewInfo

Bounds

Text

Transparent

ViewParams


TcxSchedulerDateNavigatorCaptionViewInfo.Bounds

TcxSchedulerDateNavigatorCaptionViewInfo          See Also

Gets a rectangle of the Date Navigator’s current element.

property Bounds: TRect;

Description

The Bounds property allows the coordinates of the Date Navigator’s elements such as the dates (see the TcxSchedulerDateNavigator.OnCustomDrawDayNumber event), the captions of the days (see the TcxSchedulerDateNavigator.OnCustomDrawDayCaption event) and the month(s) header(s) (see the TcxSchedulerDateNavigator.OnCustomDrawHeader event) to be determined.

The AViewInfo parameter, which is passed to the above events, represents the TcxSchedulerDateNavigatorCaptionViewInfo’s subclasses.

ReadOnly Property


TcxSchedulerDateNavigatorCaptionViewInfo.Text

TcxSchedulerDateNavigatorCaptionViewInfo          See Also

Specifies the output text which is drawn in the Date Navigator’s current element.

property Text: string;

Description

The Text property specifies the output text for such Date Navigator elements as dates (see the TcxSchedulerDateNavigator.OnCustomDrawDayNumber event), the captions of days (see the TcxSchedulerDateNavigator.OnCustomDrawDayCaption event) and the month(s) header(s) (see the TcxSchedulerDateNavigator.OnCustomDrawHeader event).

The AViewInfo parameter, which is passed to the above events, represents the TcxSchedulerDateNavigatorCaptionViewInfo’s subclasses.


TcxSchedulerDateNavigatorCaptionViewInfo.Transparent

TcxSchedulerDateNavigatorCaptionViewInfo          See Also

Specifies whether the background of the Date Navigator’s current element will be drawn.

property Transparent: Boolean;

Description

If the Transparent property’s value is set to False, then the element’s background will be painted.

The Transparent property specifies the background visibility of such Date Navigator’s elements as dates (see the TcxSchedulerDateNavigator.OnCustomDrawDayNumber event), captions of the days (see the TcxSchedulerDateNavigator.OnCustomDrawDayCaption event) and the month(s) header(s) (see the TcxSchedulerDateNavigator.OnCustomDrawHeader event).

The AViewInfo parameter, which is passed to the above events, represents the TcxSchedulerDateNavigatorCaptionViewInfo’s subclasses.


TcxSchedulerDateNavigatorCaptionViewInfo.ViewParams

TcxSchedulerDateNavigatorCaptionViewInfo          See Also

Specifies the style settings of the Date Navigator’s current element.

property ViewParams: TcxViewParams;

Description

Using the ViewParams property, the style settings of the following Date Navigator’s elements can be specified: dates (see the TcxSchedulerDateNavigator.OnCustomDrawDayNumber event), the captions of days (see the TcxSchedulerDateNavigator.OnCustomDrawDayCaption event) and the month(s) header(s) (see the TcxSchedulerDateNavigator.OnCustomDrawHeader event).

The AViewInfo parameter, which is passed to the above events, represents the TcxSchedulerDateNavigatorCaptionViewInfo’s subclasses.


TcxSchedulerDateNavigatorDayCaptionViewInfo
TcxSchedulerDateNavigatorDayCaptionViewInfo Object

Hierarchy          Properties          See Also

The TcxSchedulerDateNavigatorDayCaptionViewInfo class contains the information used to render the day captions in the Date Navigator.

Unit

cxSchedulerDateNavigator

TcxSchedulerDateNavigatorDayCaptionViewInfo = class(TcxSchedulerDateNavigatorCaptionViewInfo)

Description

The information stored is used in the TcxSchedulerDateNavigator.OnCustomDrawDayCaption or TcxCustomDateNavigator.OnCustomDrawDayCaption event handlers to custom paint the day captions in the Date Navigator.

Along with the data available through the inherited properties, the TcxSchedulerDateNavigatorDayCaptionViewInfo allows the day of the week currently being drawn to be identified (see the Index property).

The TcxSchedulerDateNavigatorDayCaptionViewInfo object is referenced by the AViewInfo parameter of the TcxSchedulerDateNavigator.OnCustomDrawDayCaption or TcxCustomDateNavigator.OnCustomDrawDayCaption event.


TcxSchedulerDateNavigatorDayCaptionViewInfo Hierarchy
Hierarchy

TObject

     |

TcxSchedulerDateNavigatorCaptionViewInfo

     |

TcxSchedulerDateNavigatorDayCaptionViewInfo


Properties for TcxSchedulerDateNavigatorDayCaptionViewInfo
TcxSchedulerDateNavigatorDayCaptionViewInfo Properties

TcxSchedulerDateNavigatorDayCaptionViewInfo          Legend

In TcxSchedulerDateNavigatorDayCaptionViewInfo

Index

Derived from TcxSchedulerDateNavigatorCaptionViewInfo

Bounds

Text

Transparent

ViewParams


TcxSchedulerDateNavigatorDayCaptionViewInfo.Index

TcxSchedulerDateNavigatorDayCaptionViewInfo          See Also

Gets the zero-based index of the day of the week.

property Index: Byte;

Description

Use the Index property to return the index of the day currently being drawn.

Note: the order of the days in a week depends upon the locale settings of the host environment.

ReadOnly Property


TcxSchedulerDateNavigatorDayNumberViewInfo
TcxSchedulerDateNavigatorDayNumberViewInfo Object

Hierarchy          Properties          See Also

The TcxSchedulerDateNavigatorDayNumberViewInfo class contains the information used to render the dates in the Date Navigator.

Unit

cxSchedulerDateNavigator

TcxSchedulerDateNavigatorDayNumberViewInfo = class(TcxSchedulerDateNavigatorCaptionViewInfo)

Description

The information stored is used in the TcxSchedulerDateNavigator.OnCustomDrawDayNumber or TcxCustomDateNavigator.OnCustomDrawDayNumber event handlers to custom paint the dates in the Date Navigator.

The TcxSchedulerDateNavigatorDayNumberViewInfo object is referenced by the AViewInfo parameter of the TcxSchedulerDateNavigator.OnCustomDrawDayNumber or TcxCustomDateNavigator.OnCustomDrawDayNumber event.


TcxSchedulerDateNavigatorDayNumberViewInfo Hierarchy
Hierarchy

TObject

     |

TcxSchedulerDateNavigatorCaptionViewInfo

     |

TcxSchedulerDateNavigatorDayNumberViewInfo


Properties for TcxSchedulerDateNavigatorDayNumberViewInfo
TcxSchedulerDateNavigatorDayNumberViewInfo Properties

TcxSchedulerDateNavigatorDayNumberViewInfo          Legend

In TcxSchedulerDateNavigatorDayNumberViewInfo

Bold

Date

Grayed

Selected

SelectionSideBounds

Derived from TcxSchedulerDateNavigatorCaptionViewInfo

Bounds

Text

Transparent

ViewParams


TcxSchedulerDateNavigatorDayNumberViewInfo.Bold

TcxSchedulerDateNavigatorDayNumberViewInfo          See Also

Specifies whether the current date is drawn as bold or not.

property Bold: Boolean;

Description

The dates which have user events assigned are marked in bold (if the TcxSchedulerDateNavigator.ShowDatesContainingEventsInBold property is set to True).

If the Bold property is set to True and the TcxSchedulerDateNavigator.ShowDatesContainingEventsInBold property’s value is True, then the current date will be bold.


TcxSchedulerDateNavigatorDayNumberViewInfo.Date

TcxSchedulerDateNavigatorDayNumberViewInfo          See Also

Gets the date which is currently being drawn in the Date Navigator.

property Date: TDateTime;

Description

Use the Date property to return the date currently being drawn in the Date Navigator.

ReadOnly Property


TcxSchedulerDateNavigatorDayNumberViewInfo.Grayed

TcxSchedulerDateNavigatorDayNumberViewInfo          See Also

Gets whether the current date is drawn in gray.

property Grayed: Boolean;

Description

Only the dates of the months, which are adjacent to the month currently shown in the Date Navigator, are drawn in gray.

If the Grayed property’s value is set to True, then the current date is the adjacent month’s date.

ReadOnly Property


TcxSchedulerDateNavigatorDayNumberViewInfo.Selected

TcxSchedulerDateNavigatorDayNumberViewInfo          See Also

Gets whether the current date is selected.

property Selected: Boolean;

Description

If the Selected property’s value is set to True, then the current date is selected.

ReadOnly Property


TcxSchedulerDateNavigatorDayNumberViewInfo.SelectionSideBounds

TcxSchedulerDateNavigatorDayNumberViewInfo          See Also

Gets the calendar side’s rectangle when a week or weeks are selected.

property SelectionSideBounds: TRect;

Description

If the TcxSchedulerDateNavigator.ShowWeekNumbers property is set to False, then the two rectangles are drawn on the left and right sides of the calendar when a week or weeks are selected.

Use the SelectionSideBounds property to return the coordinates of either the left or the right rectangle, if the adjacent date is currently drawn (in the above image – 11 and 17).

ReadOnly Property


TcxSchedulerDateNavigatorHitTest
TcxSchedulerDateNavigatorHitTest Object

Hierarchy          Properties          Methods

The TcxSchedulerDateNavigatorHitTest contains information about the Date Navigator’s elements at the given point.

Unit

cxSchedulerDateNavigator

TcxSchedulerDateNavigatorHitTest = class(TcxSchedulerSubControlHitTest)

Description

The TcxSchedulerDateNavigatorHitTest provides an interface for determining the Date Navigator ’s element at the given point.

The TcxSchedulerDateNavigatorHitTest object is referenced by the TcxSchedulerDateNavigator.HitTest property.


TcxSchedulerDateNavigatorHitTest Hierarchy
Hierarchy

TcxSchedulerSubControlHitTest

     |

TcxSchedulerDateNavigatorHitTest


Properties for TcxSchedulerDateNavigatorHitTest
TcxSchedulerDateNavigatorHitTest Properties

TcxSchedulerDateNavigatorHitTest          Legend

In TcxSchedulerDateNavigatorHitTest

HitAtCalendar

HitAtDayCaptions

HitAtMonthName

HitAtNextMonth

HitAtPrevMonth

HitAtWeekSelectionBar

Derived from TcxSchedulerSubControlHitTest

HitAtControl

HitAtTime

HitPoint

HitX

HitY

Time


Methods for TcxSchedulerDateNavigatorHitTest
TcxSchedulerDateNavigatorHitTest Methods

TcxSchedulerDateNavigatorHitTest          Legend

Derived from TcxSchedulerSubControlHitTest

Recalculate


TcxSchedulerDateNavigatorHitTest.HitAtCalendar

TcxSchedulerDateNavigatorHitTest

Gets whether the given point falls within the Date Navigator’s calendar boundaries.

property HitAtCalendar: Boolean;

Description

If the point falls within the Date Navigator’s calendar boundaries the HitAtCalendar property returns True. Otherwise – False.

ReadOnly Property


TcxSchedulerDateNavigatorHitTest.HitAtDayCaptions

TcxSchedulerDateNavigatorHitTest

Gets whether the given point falls within the rectangle of a day's caption.

property HitAtDayCaptions: Boolean;

Description

If the point falls within the rectangle of a day's caption the HitAtDayCaptions property returns True. Otherwise – False.

ReadOnly Property


TcxSchedulerDateNavigatorHitTest.HitAtMonthName

TcxSchedulerDateNavigatorHitTest

Gets whether the given point falls within the Date Navigator’s month header rectangle.

property HitAtMonthName: Boolean;

Description

If the point falls within the rectangle of the Date Navigator's month header the HitAtMonthName property returns True. Otherwise – False.

ReadOnly Property


TcxSchedulerDateNavigatorHitTest.HitAtNextMonth

TcxSchedulerDateNavigatorHitTest          See Also

Gets whether the given point falls within the rectangle of the right arrow scroll button, located to the right of the Date Navigator header.

property HitAtNextMonth: Boolean;

Description

The right arrow scroll button is used to scroll the months in the Date Navigator forwards. If the point falls within the right arrow scroll button rectangle the HitAtNextMonth property returns True. Otherwise – False.

ReadOnly Property


TcxSchedulerDateNavigatorHitTest.HitAtPrevMonth

TcxSchedulerDateNavigatorHitTest          See Also

Gets whether the given point falls within the rectangle of the left arrow scroll button, located to the left of the Date Navigator header.

property HitAtPrevMonth: Boolean;

Description

The left arrow scroll button is used to scroll the months in the Date Navigator backwards. If the point falls within the left arrow scroll button rectangle the HitAtPrevMonth property returns True. Otherwise – False.

ReadOnly Property


TcxSchedulerDateNavigatorHitTest.HitAtWeekSelectionBar

TcxSchedulerDateNavigatorHitTest

Gets whether the given point falls within the rectangle of the week numbers located on the left side of the Date Navigator.

property HitAtWeekSelectionBar: Boolean;

Description

If the point falls within the rectangle of the week numbers the HitAtWeekSelectionBar property returns True. Otherwise – False.

Note: week numbers appear if the value of the TcxSchedulerDateNavigator.ShowWeekNumbers property is True.

ReadOnly Property


TcxSchedulerDateNavigatorMonthContentViewInfo
TcxSchedulerDateNavigatorMonthContentViewInfo Object

Hierarchy          Properties          See Also

The TcxSchedulerDateNavigatorMonthContentViewInfo class contains the information used to render the Date Navigator’s calendar(s).

Unit

cxSchedulerDateNavigator

TcxSchedulerDateNavigatorMonthContentViewInfo = class(TObject)

Description

The information stored is used in the TcxSchedulerDateNavigator.OnCustomDrawContent or TcxCustomDateNavigator.OnCustomDrawContent event handlers to custom paint the Date Navigator’s calendar(s) (months’ backgrounds).

The TcxSchedulerDateNavigatorMonthContentViewInfo object is referenced by the AViewInfo parameter of the TcxSchedulerDateNavigator.OnCustomDrawContent or TcxCustomDateNavigator.OnCustomDrawContent event.


TcxSchedulerDateNavigatorMonthContentViewInfo Hierarchy
Hierarchy

TObject

     |

TcxSchedulerDateNavigatorMonthContentViewInfo


Properties for TcxSchedulerDateNavigatorMonthContentViewInfo
TcxSchedulerDateNavigatorMonthContentViewInfo Properties

TcxSchedulerDateNavigatorMonthContentViewInfo          Legend

In TcxSchedulerDateNavigatorMonthContentViewInfo

Bounds

Col

DayCaptions

DayCount

Days

HorzSeparatorBound

Month

Row

SelectedParams

Transparent

VertSeparatorBound

ViewParams

WeekBounds

WeekCount

WeekTexts

Year


TcxSchedulerDateNavigatorMonthContentViewInfo.Bounds

TcxSchedulerDateNavigatorMonthContentViewInfo          See Also

Gets the rectangle of the Date Navigator’s calendar.

property Bounds: TRect;

Description

Use the Bounds property to return the coordinates of the calendar’s rectangle.

ReadOnly Property


TcxSchedulerDateNavigatorMonthContentViewInfo.Col

TcxSchedulerDateNavigatorMonthContentViewInfo          See Also

Gets the zero-based number of the column which the current month is drawn in.

property Col: Integer;

Description

A count of the columns depends upon the number of months which are displayed horizontally in the Date Navigator pane.

Use the Col property to return the number of the column that the current month resides in.

ReadOnly Property


TcxSchedulerDateNavigatorMonthContentViewInfo.DayCaptions

TcxSchedulerDateNavigatorMonthContentViewInfo          See Also

Provides indexed access to the TcxSchedulerDateNavigatorDayCaptionViewInfo object which contains view details for the day captions.

property DayCaptions[Index:Byte]: TcxSchedulerDateNavigatorDayCaptionViewInfo;

Description

The information stored is used in the TcxSchedulerDateNavigator.OnCustomDrawDayCaption or TcxCustomDateNavigator.OnCustomDrawDayCaption event handlers to custom paint the day captions in the Date Navigator.

Use the DayCaptions property to get the TcxSchedulerDateNavigatorDayCaptionViewInfo instance which is located at the position specified by the zero-based Index parameter.

ReadOnly Property


TcxSchedulerDateNavigatorMonthContentViewInfo.DayCount

TcxSchedulerDateNavigatorMonthContentViewInfo          See Also

Gets a count of the days that the month currently being drawn contains.

property DayCount: Integer;

Description

The DayCount property’s value includes all the days of the current month and the days of the adjacent months which are being drawn in the current month’s body (in the image below 42 days are shown).

Use the DayCount property to get a count of the days in the current month.

ReadOnly Property


TcxSchedulerDateNavigatorMonthContentViewInfo.Days

TcxSchedulerDateNavigatorMonthContentViewInfo          See Also

Provides indexed access to the TcxSchedulerDateNavigatorDayNumberViewInfo object which contains view details for the dates shown in the Date Navigator.

property Days[Index:Byte]: TcxSchedulerDateNavigatorDayNumberViewInfo;

Description

The information stored is used in the TcxSchedulerDateNavigator.OnCustomDrawDayNumber or TcxCustomDateNavigator.OnCustomDrawDayNumber event handlers to custom paint the dates in the Date Navigator.

Use the Days property to get the TcxSchedulerDateNavigatorDayNumberViewInfo instance at the position specified by the zero-based Index parameter.

ReadOnly Property


TcxSchedulerDateNavigatorMonthContentViewInfo.HorzSeparatorBound

TcxSchedulerDateNavigatorMonthContentViewInfo          See Also

Gets the rectangle of the horizontal splitter which visually splits the day captions and the calendar areas.

property HorzSeparatorBound: TRect;

Description

Use the HorzSeparatorBound property to return the coordinates of the horizontal splitter’s rectangle.

ReadOnly Property


TcxSchedulerDateNavigatorMonthContentViewInfo.Month

TcxSchedulerDateNavigatorMonthContentViewInfo          See Also

Gets the one-based number of the month which is currently being drawn.

property Month: Integer;

Description

Use the Month property to return the number of the month which is currently being drawn.

ReadOnly Property


TcxSchedulerDateNavigatorMonthContentViewInfo.Row

TcxSchedulerDateNavigatorMonthContentViewInfo          See Also

Gets the zero-based number of the row that the current month is drawn in.

property Row: Integer;

Description

A count of the rows depends upon the number of months which are displayed vertically in the Date Navigator pane.

Use the Row property to return the number of that row the current month resides in.

ReadOnly Property


TcxSchedulerDateNavigatorMonthContentViewInfo.SelectedParams

TcxSchedulerDateNavigatorMonthContentViewInfo          See Also

Gets the style settings of the date(s) which has been selected in the Date Navigator.

property SelectedParams: TcxViewParams;

Description

Use the SelectedParams property to return the style settings of the selected date(s).

ReadOnly Property


TcxSchedulerDateNavigatorMonthContentViewInfo.Transparent

TcxSchedulerDateNavigatorMonthContentViewInfo          See Also

Specifies whether the background of the Date Navigator’s calendar will be drawn.

property Transparent: Boolean;

Description

If the Transparent property’s value is False, then the calendar’s background will be painted.


TcxSchedulerDateNavigatorMonthContentViewInfo.VertSeparatorBound

TcxSchedulerDateNavigatorMonthContentViewInfo          See Also

Gets the rectangle of the vertical splitter which visually splits the week numbers and the calendar areas.

property VertSeparatorBound: TRect;

Description

Use the VertSeparatorBound property to return the coordinates of the vertical splitter’s rectangle.

ReadOnly Property


TcxSchedulerDateNavigatorMonthContentViewInfo.ViewParams

TcxSchedulerDateNavigatorMonthContentViewInfo          See Also

Gets the style settings of the Date Navigator’s calendar.

property ViewParams: TcxViewParams;

Description

Use the ViewParams property to return the style settings of the calendar.

ReadOnly Property


TcxSchedulerDateNavigatorMonthContentViewInfo.WeekBounds

TcxSchedulerDateNavigatorMonthContentViewInfo          See Also

Gets the rectangle of the week number specified by the Index parameter.

property WeekBounds[Index:Byte]: TRect;

Description

Use the WeekBounds property to return the coordinates of the week number’s rectangle.

The zero-based Index parameter specifies the week’s row number in the month currently being drawn.

ReadOnly Property


TcxSchedulerDateNavigatorMonthContentViewInfo.WeekCount

TcxSchedulerDateNavigatorMonthContentViewInfo          See Also

Gets a count of how many weeks the month’s body which is currently being drawn contains.

property WeekCount: Integer;

Description

Use the WeekCount property to return a count of the weeks in the current month.

Note: the calculation counts in as the current month’s weeks and the weeks of the adjacent months, if they are shown in the month’s body, as the following image demonstrates:

In the above example, the WeekCount property’s value is 6.

ReadOnly Property


TcxSchedulerDateNavigatorMonthContentViewInfo.WeekTexts

TcxSchedulerDateNavigatorMonthContentViewInfo          See Also

Specifies the string for the week number which resides on the left side of the Date Navigator.

property WeekTexts[Index:Byte]: string;

Description

Use the WeekTexts property to specify the week number.

The zero-based Index parameter specifies the week’s row number in the month currently being drawn.


TcxSchedulerDateNavigatorMonthContentViewInfo.Year

TcxSchedulerDateNavigatorMonthContentViewInfo          See Also

Gets the year which the month currently being drawn belongs to.

property Year: Integer;

Description

Use the Year property to return the year which contains the month currently being drawn.

ReadOnly Property


TcxSchedulerDateNavigatorMonthHeaderViewInfo
TcxSchedulerDateNavigatorMonthHeaderViewInfo Object

Hierarchy          Properties          See Also

The TcxSchedulerDateNavigatorMonthHeaderViewInfo class contains the information used to render the Date Navigator’s header(s).

Unit

cxSchedulerDateNavigator

TcxSchedulerDateNavigatorMonthHeaderViewInfo = class(TcxSchedulerDateNavigatorCaptionViewInfo)

Description

The information stored is used in the TcxSchedulerDateNavigator.OnCustomDrawHeader or TcxCustomDateNavigator.OnCustomDrawHeader event handlers to custom paint the Date Navigator’s header(s):

The TcxSchedulerDateNavigatorMonthHeaderViewInfo object is referenced by the AViewInfo parameter of the TcxSchedulerDateNavigator.OnCustomDrawHeader or TcxCustomDateNavigator.OnCustomDrawHeader event.


TcxSchedulerDateNavigatorMonthHeaderViewInfo Hierarchy
Hierarchy

TObject

     |

TcxSchedulerDateNavigatorCaptionViewInfo

     |

TcxSchedulerDateNavigatorMonthHeaderViewInfo


Properties for TcxSchedulerDateNavigatorMonthHeaderViewInfo
TcxSchedulerDateNavigatorMonthHeaderViewInfo Properties

TcxSchedulerDateNavigatorMonthHeaderViewInfo          Legend

In TcxSchedulerDateNavigatorMonthHeaderViewInfo

Arrows

Month

MonthNameBounds

Neighbors

Owner

Year

Derived from TcxSchedulerDateNavigatorCaptionViewInfo

Bounds

Text

Transparent

ViewParams


TcxSchedulerDateNavigatorMonthHeaderViewInfo.Arrows

TcxSchedulerDateNavigatorMonthHeaderViewInfo          See Also

Gets the types of the arrows which are used as glyphs for the scroll buttons in the month header.

TcxHeaderArrows = (haNone, haLeft, haRight, haBoth);

property Arrows: TcxHeaderArrows;

Description

Use the Arrows property to return the arrow type.

Values include:

Value	Meaning
haNone	No arrows will be shown
haLeft	The left arrow will be shown
haRight	The right arrow will be shown
haBoth	Both arrows will be shown

ReadOnly Property


TcxSchedulerDateNavigatorMonthHeaderViewInfo.Month

TcxSchedulerDateNavigatorMonthHeaderViewInfo          See Also

Gets the one-based number of the month the header of which is currently being drawn.

property Month: Integer;

Description

Use the Month property to return the number of the month the header of which is currently being drawn.

ReadOnly Property


TcxSchedulerDateNavigatorMonthHeaderViewInfo.MonthNameBounds

TcxSchedulerDateNavigatorMonthHeaderViewInfo          See Also

Gets the rectangle of the month caption.

property MonthNameBounds: TRect;

Description

Use the MonthNameBounds property to return the coordinates of the month caption’s rectangle.

ReadOnly Property


TcxSchedulerDateNavigatorMonthHeaderViewInfo.Neighbors

TcxSchedulerDateNavigatorMonthHeaderViewInfo          See Also

Gets the positions of adjacent months relative to the month which is currently being drawn.

TcxNeighbor = (nLeft, nTop, nRight, nBottom);

TcxNeighbors = set of TcxNeighbor;

property Neighbors: TcxNeighbors;

Description

Use the Neighbors property to return the positions of adjacent months.

Note: if only one month is displayed in the Date Navigator, then an empty enumeration will be returned.

ReadOnly Property


TcxSchedulerDateNavigatorMonthHeaderViewInfo.Owner

TcxSchedulerDateNavigatorMonthHeaderViewInfo          See Also

References the TcxSchedulerDateNavigatorMonthViewInfo instance which contains view data on the Date Navigator.

property Owner: TcxSchedulerDateNavigatorMonthViewInfo;

Description

The information available through the Owner property, allows the boundaries of the Date Navigator (see the TcxSchedulerDateNavigatorMonthViewInfo.Bounds property), the month currently being drawn and its year (see the TcxSchedulerDateNavigatorMonthViewInfo.Month and TcxSchedulerDateNavigatorMonthViewInfo.Year properties), a column or row the month is located in (if a grid of the months is displayed in the Date Navigator) (see the TcxSchedulerDateNavigatorMonthViewInfo.Col and TcxSchedulerDateNavigatorMonthViewInfo.Row properties) to be determined.

ReadOnly Property


TcxSchedulerDateNavigatorMonthHeaderViewInfo.Year

TcxSchedulerDateNavigatorMonthHeaderViewInfo          See Also

Gets the year of the month currently being drawn.

property Year: Integer;

Description

Use the Year property to return the year of the month currently being drawn.

ReadOnly Property


TcxSchedulerDateNavigatorMonthViewInfo
TcxSchedulerDateNavigatorMonthViewInfo Object

Hierarchy          Properties          See Also

The TcxSchedulerDateNavigatorMonthViewInfo class contains the information used to render the Date Navigator.

Unit

cxSchedulerDateNavigator

TcxSchedulerDateNavigatorMonthViewInfo = class(TObject)

Description

The information stored is only available to developers in the TcxSchedulerDateNavigator.OnCustomDrawHeader or TcxCustomDateNavigator.OnCustomDrawHeader event which allows the Date Navigator’s header(s) to be custom painted.

Using the TcxSchedulerDateNavigatorMonthViewInfo instance, developers can determine the coordinates of the Date Navigator (see the Bounds property), the month currently being drawn and its year (see the Month and Year properties), the column or row the month is located in (if a grid of the months is displayed in the Date Navigator) (see the Col and Row properties). TcxSchedulerDateNavigatorMonthViewInfo also provides access to the TcxSchedulerDateNavigatorMonthContentViewInfo and TcxSchedulerDateNavigatorMonthHeaderViewInfo objects (see the Content and Header properties).

The TcxSchedulerDateNavigatorMonthViewInfo object is referenced by the TcxSchedulerDateNavigatorMonthHeaderViewInfo.Owner property.


TcxSchedulerDateNavigatorMonthViewInfo Hierarchy
Hierarchy

TObject

     |

TcxSchedulerDateNavigatorMonthViewInfo


Properties for TcxSchedulerDateNavigatorMonthViewInfo
TcxSchedulerDateNavigatorMonthViewInfo Properties

TcxSchedulerDateNavigatorMonthViewInfo          Legend

In TcxSchedulerDateNavigatorMonthViewInfo

Bounds

Col

Content

Header

Month

Row

Year


TcxSchedulerDateNavigatorMonthViewInfo.Bounds

TcxSchedulerDateNavigatorMonthViewInfo          See Also

Gets the rectangle of the Date Navigator.

property Bounds: TRect;

Description

Use the Bounds property to return the coordinates of the Date Navigator’s rectangle.

ReadOnly Property


TcxSchedulerDateNavigatorMonthViewInfo.Col

TcxSchedulerDateNavigatorMonthViewInfo          See Also

Gets the zero-based number of the column the current month is drawn within.

property Col: Integer;

Description

A count of the columns depends upon the number of months which are displayed horizontally in the Date Navigator pane.

Use the Col property to return the number of the column that the current month resides in.

ReadOnly Property


TcxSchedulerDateNavigatorMonthViewInfo.Content

TcxSchedulerDateNavigatorMonthViewInfo          See Also

Represents the TcxSchedulerDateNavigatorMonthContentViewInfo object which contains view data on the Date Navigator’s calendar.

property Content: TcxSchedulerDateNavigatorMonthContentViewInfo;

Description

The information stored is used in the TcxSchedulerDateNavigator.OnCustomDrawContent or TcxCustomDateNavigator.OnCustomDrawContent event handler to custom paint the Date Navigator’s calendar(s) (months’ backgrounds).

Use the Content property to access the TcxSchedulerDateNavigatorDayCaptionViewInfo instance.

ReadOnly Property


TcxSchedulerDateNavigatorMonthViewInfo.Header

TcxSchedulerDateNavigatorMonthViewInfo          See Also

Represents the TcxSchedulerDateNavigatorMonthHeaderViewInfo object which contains view data on the Date Navigator’s header.

property Header: TcxSchedulerDateNavigatorMonthHeaderViewInfo;

Description

The information stored is used in the TcxSchedulerDateNavigator.OnCustomDrawHeader or TcxCustomDateNavigator.OnCustomDrawHeader event handler to custom paint the Date Navigator’s header(s):

Use the Header property to access the TcxSchedulerDateNavigatorMonthHeaderViewInfo instance.

ReadOnly Property


TcxSchedulerDateNavigatorMonthViewInfo.Month

TcxSchedulerDateNavigatorMonthViewInfo          See Also

Gets the one-based number of the month which is currently being drawn.

property Month: Integer;

Description

Use the Month property to return the number of the month currently being drawn.

ReadOnly Property


TcxSchedulerDateNavigatorMonthViewInfo.Row

TcxSchedulerDateNavigatorMonthViewInfo          See Also

Gets the zero-based number of the row that the current month is drawn in.

property Row: Integer;

Description

A count of the rows depends upon the number of months which are displayed vertically in the Date Navigator pane.

Use the Row property to return the number of the row that the current month resides in.

ReadOnly Property


TcxSchedulerDateNavigatorMonthViewInfo.Year

TcxSchedulerDateNavigatorMonthViewInfo          See Also

Gets the year that the month currently being drawn belongs to.

property Year: Integer;

Description

Use the Year property to return the year which contains the month currently drawn.

ReadOnly Property


TcxSchedulerDateNavigatorStyles
TcxSchedulerDateNavigatorStyles Object

Hierarchy          Properties          Methods

Represents style settings for the Date Navigator’s elements.

Unit

cxSchedulerDateNavigator

TcxSchedulerDateNavigatorStyles = class(TcxStyles)

Description

Each element’s appearance can be specified by the following style attributes – background color or bitmap, text color and font details. The TcxSchedulerDateNavigatorStyles provides styles for the Date Navigator‘s elements - the Date Navigator pane’s background, calendar, header and selected dates.

The TcxSchedulerDateNavigatorStyles object is referenced by the TcxSchedulerDateNavigator.Styles property.


TcxSchedulerDateNavigatorStyles Hierarchy
Hierarchy

TcxStyles

     |

TcxSchedulerDateNavigatorStyles


Properties for TcxSchedulerDateNavigatorStyles
TcxSchedulerDateNavigatorStyles Properties

TcxSchedulerDateNavigatorStyles          Legend

In TcxSchedulerDateNavigatorStyles

Background

Content

DateNavigator

Header

Selection


Methods for TcxSchedulerDateNavigatorStyles
TcxSchedulerDateNavigatorStyles Methods

TcxSchedulerDateNavigatorStyles          Legend

In TcxSchedulerDateNavigatorStyles

GetBackgroundParams

GetContentParams

GetHeaderParams

GetSelectionParams


TcxSchedulerDateNavigatorStyles.Background

TcxSchedulerDateNavigatorStyles

Specifies style settings for the Date Navigator‘s background.

property Background: TcxStyle;

Description

Use the Background property to specify style settings for the Date Navigator‘s background.

See the examples in the Styles topic.

Note: the Date Navigator’s background can be visible if the TcxSchedulerOptionsCustomize.IntegralSizing property is set to False.


TcxSchedulerDateNavigatorStyles.Content

TcxSchedulerDateNavigatorStyles

Specifies style settings for the Date Navigator month’s background.

property Content: TcxStyle;

Description

Use the Content property to specify style settings for the Date Navigator month’s background.

Note: if the TcxSchedulerDateNavigator.ShowDatesContainingEventsInBold property is set to True the bold attribute, specified by the TFont.Style property, is ignored.

See the examples in the Styles topic.


TcxSchedulerDateNavigatorStyles.DateNavigator

TcxSchedulerDateNavigatorStyles

Represents the Date Navigator.

property DateNavigator: TcxSchedulerDateNavigator;

Description

The Date Navigator provides a quick and easy way of changing the dates in the scheduling area. It can be used to change views between day, week and weeks.

Use the DateNavigator property to access the instance of the Date Navigator.

ReadOnly Property


TcxSchedulerDateNavigatorStyles.Header

TcxSchedulerDateNavigatorStyles

Specifies style settings for the Date Navigator‘s month header.

property Header: TcxStyle;

Description

Use the Header property to specify style settings for the Date Navigator‘s month header.

See the examples in the Styles topic.


TcxSchedulerDateNavigatorStyles.Selection

TcxSchedulerDateNavigatorStyles

Specifies style settings for the selected date(s) in the Date Navigator.

property Selection: TcxStyle;

Description

Use the Selection property to specify style settings for the selected date(s) in the Date Navigator.

Note: if the TcxSchedulerDateNavigator.ShowDatesContainingEventsInBold property is set to True the bold attribute, specified by the TFont.Style property, is ignored.

See the examples in the Styles topic.


TcxSchedulerDateNavigatorStyles.GetBackgroundParams

TcxSchedulerDateNavigatorStyles

Returns the TcxViewParams record that contains information about the Date Navigator‘s background style attributes.

function GetBackgroundParams: TcxViewParams;

Description

Use the GetBackgroundParams method to get information about the style attributes of the Date Navigator‘s background.


TcxSchedulerDateNavigatorStyles.GetContentParams

TcxSchedulerDateNavigatorStyles

Returns the TcxViewParams record that contains information about the Date Navigator‘s month style attributes.

function GetContentParams: TcxViewParams;

Description

Use the GetContentParams method to get information about the style attributes of the Date Navigator‘s month.


TcxSchedulerDateNavigatorStyles.GetHeaderParams

TcxSchedulerDateNavigatorStyles

Returns the TcxViewParams record that contains information about the Date Navigator‘s month header style attributes.

function GetHeaderParams: TcxViewParams;

Description

Use the GetHeaderParams method to get information about the style attributes of the Date Navigator‘s month header.


TcxSchedulerDateNavigatorStyles.GetSelectionParams

TcxSchedulerDateNavigatorStyles

Returns the TcxViewParams record that contains information about the style attributes of dates that are selected in the Date Navigator.

function GetSelectionParams: TcxViewParams;

Description

Use the GetSelectionParams method to get information about the style attributes of selected dates.


cxSchedulerUtils Unit Overview
cxSchedulerUtils Unit

Classes

TcxSchedulerDateList

TcxSchedulerDateTimeHelper

TcxSchedulerEventLabel

TcxSchedulerEventLabels

TcxSchedulerTimeRange

TcxSchedulerTimeRanges

Other Types

TcxStartOfWeek

TcxTimeZoneInformation

TcxTZIField

Routines

cxMinutesToText

cxTextToMinutes

Global Variables

EventLabels

Global Constants

DateTimeHelper

ResourceColorIntensityValues


TcxSchedulerDateList
TcxSchedulerDateList Object

Hierarchy          Properties          Methods

The TcxSchedulerDateList implements a collection containing dates.

Unit

cxSchedulerUtils

TcxSchedulerDateList = class(TList)

Description

The TcxSchedulerDateList is a sorted collection. All the items in the collection are sorted according to chronological order.

Note: only the date part of the dates is stored in the TcxSchedulerDateList collection. The fractional part of the TDateTime value (representing the time) is truncated.


TcxSchedulerDateList Hierarchy
Hierarchy

TList

     |

TcxSchedulerDateList


Properties for TcxSchedulerDateList
TcxSchedulerDateList Properties

TcxSchedulerDateList          Legend

In TcxSchedulerDateList

Items


Methods for TcxSchedulerDateList
TcxSchedulerDateList Methods

TcxSchedulerDateList          Legend

In TcxSchedulerDateList

Add

ExistDate

IndexOf

ShiftPeriod


TcxSchedulerDateList.Items

TcxSchedulerDateList          See Also

Provides indexed access to the dates in the TcxSchedulerDateList collection.

property Items[Index:Integer]: TDateTime;

Description

Use the Items property to get the date at the position specified by the zero-based Index parameter.

Note: The date, returned by the Items property, is represented by a date value. All items are stored in the collection without a time value.

ReadOnly Property


TcxSchedulerDateList.Add

TcxSchedulerDateList

Adds the ADate date to the TcxSchedulerDateList collection.

function Add(ADate: TDateTime): Integer;

Description

The Add method returns the zero-based index of the ADate date’s position in the TcxSchedulerDateList collection.

Note: The date, added to the collection, is stored as a date value. The fractional part (time value) is truncated.


TcxSchedulerDateList.ExistDate

TcxSchedulerDateList

Checks whether the ADate date is in the TcxSchedulerDateList collection.

function ExistDate(ADate: TDateTime): Boolean;

Description

If the TcxSchedulerDateList collection contains the ADate date the ExistDate method returns True. Otherwise it returns False.

Note: the ExistDate method matches dates by the date part of the ADate parameter's value only. All items are stored in the collection without a fractional part (without time value).


TcxSchedulerDateList.IndexOf

TcxSchedulerDateList          See Also

Returns the zero-based index of the ADate date in the TcxSchedulerDateList collection.

function IndexOf(ADate: TDateTime): Integer;

Description

This method returns -1 if there is no ADate date in the TcxSchedulerDateList collection.

Note: the IndexOf method matches dates by the date part of the ADate parameter's value only. All items are stored in the collection without a fractional part (without time value).


TcxSchedulerDateList.ShiftPeriod

TcxSchedulerDateList

Changes dates (contained in the collection) by the ADelta time offset.

procedure ShiftPeriod(ADelta: TDateTime);


TcxSchedulerDateTimeHelper
TcxSchedulerDateTimeHelper Object

Hierarchy          Methods

The TcxSchedulerDateTimeHelper class implements the datetime service of the scheduler control.

Unit

cxSchedulerUtils

TcxSchedulerDateTimeHelper = class(TObject)

Description

The TcxSchedulerDateTimeHelper class is responsible for computing the time of different time zones and formatting the date and time for presentation purposes.

Most of the TcxSchedulerDateTimeHelper’s methods are declared as virtual to allow custom datetime functionality to be implemented in its descendants.

Use the DateTimeHelper constant to bind the TcxSchedulerDateTimeHelper’s descendants to an application to enable the descendant’s methods to be invoked by the scheduler control.

The TcxSchedulerDateTimeHelper (or its descendant’s) object is referenced by the TcxCustomScheduler.DateTimeHelper property.


TcxSchedulerDateTimeHelper Hierarchy
Hierarchy

TObject

     |

TcxSchedulerDateTimeHelper


Methods for TcxSchedulerDateTimeHelper
TcxSchedulerDateTimeHelper Methods

TcxSchedulerDateTimeHelper          Legend

In TcxSchedulerDateTimeHelper

ConvertToAnotherTimeZone

ConvertToGlobalTime

ConvertToLocalTime

CurrentTimeZone

DateToLongDateStr

DayToStr

DayToStrFormatCount

HourToStr

IncMonth

Intersect

IsFreeTime

IsOddMonth

IsWeekEnd

IsWeeksFull

MonthYearToStr

Refresh

RoundTime

StartOfWeek

TimeAMString

TimePMString

TimeToStr

TimeZoneBias

TimeZoneCount

TimeZoneInfo

WeekCount

WorkDays

WorkFinish

WorkStart


TcxSchedulerDateTimeHelper.ConvertToAnotherTimeZone

TcxSchedulerDateTimeHelper          See Also

Converts the ATimeZone time zone’s time into the ANextTimeZone time zone’s time.

class function ConvertToAnotherTimeZone(const ADateTime: TDateTime; ATimeZone, ANextTimeZone: Integer): TDateTime;

Description

Use the ConvertToAnotherTimeZone method to convert the ATimeZone time zone’s time into the time of the ANextTimeZone time zone.

The ADateTime parameter specifies the ATimeZone time zone’s date and time;

The ATimeZone and ANextTimeZone parameters specify the source and target time zones, respectively.


TcxSchedulerDateTimeHelper.ConvertToGlobalTime

TcxSchedulerDateTimeHelper          See Also

Converts the ATimeZone time zone’s time into UTC time.

class function ConvertToGlobalTime(const ADateTime: TDateTime; ATimeZone: Integer = -1): TDateTime; virtual;

Description

Use the ConvertToGlobalTime method to convert the ATimeZone time zone’s time into UTC (coordinated universal time) time.

The ADateTime parameter specifies the ATimeZone time zone’s date and time;

The ATimeZone parameter specifies the source time zone.

Note: if the ATimeZone parameter is not specified the current host environment's settings are used.


TcxSchedulerDateTimeHelper.ConvertToLocalTime

TcxSchedulerDateTimeHelper          See Also

Converts a UTC time into the ATimeZone time zone’s time.

class function ConvertToLocalTime(const ADateTime: TDateTime; ATimeZone: Integer = -1): TDateTime; virtual;

Description

Use the ConvertToLocalTime method to convert the UTC (coordinated universal time) time into the ATimeZone time zone’s time.

The ADateTime parameter specifies the UTC date and time;

The ATimeZone parameter specifies the target time zone.

Note: if the ATimeZone parameter is not specified the current host environment's settings are used.


TcxSchedulerDateTimeHelper.CurrentTimeZone

TcxSchedulerDateTimeHelper          See Also

Returns the time zone’s number as specified by the host environment.

class function CurrentTimeZone: Integer; virtual;

Description

Use the CurrentTimeZone method to get the time zone’s number as specified by the host environment.


TcxSchedulerDateTimeHelper.DateToLongDateStr

TcxSchedulerDateTimeHelper          See Also

Converts the ADate date into a string formatted as a long date.

class function DateToLongDateStr(ADate: TDateTime): string; virtual;

Description

Use the DateToLongDateStr method to convert the ADate date into a string. The resulting string is formatted as a long date. For example, if the ADate parameter is set to 03/14/2005 and the long date format is dddd, MMMM dd, yyyy, then the resulting string will be ‘Monday, March 14, 2005’.

The ADate parameter specifies the date to be converted into a string.

Note: as for Windows NT/2000/XP the long date format of the default user locale is used (see the value in the registry subkey HKEY_CURRENT_USER\Control Panel\International\sLongDate). For other platforms the resulting string is formatted according to the long date format given by the Delphi LongDateFormat global variable.


TcxSchedulerDateTimeHelper.DayToStr

TcxSchedulerDateTimeHelper          See Also

Converts a date into a formatted date string.

class function DayToStr(const ADate: TDateTime; AFormat: Integer; ACompressed: Boolean): string; virtual;

Description

The ADate parameter specifies the date to be converted into a string;

The AFormat parameter specifies a string pattern for the date's representation;

The ACompressed parameter specifies whether the string returned should contain the ADate date and the date following the ADate date. Set the ACompressed parameter to True to return a string containing both dates. Otherwise only the string containing the ADate date will be returned.

The following table shows the available forms for the date string if the ACompressed parameter is set to False:

AFormat	Meaning
0	Return the date string as the full name of the day, full name of the month and the day number
1	Return the date string as the full name of the day, the short version of the month's name and the day number
2	Return the date string as the short version of the day's name, the short version of the month's name and the day number
3	Return the date string as the short version of the day's name and the day number
4	Return the date string as the month's number and the day number

Note: the order of the date elements in the string and their formats vary depending upon the host environment's settings.

The following table lists the available forms for the date string if the ACompressed parameter is set to True:

AFormat	Meaning
0	Return the date string as the full names of the two days and the ADate’s day number
1	Return the date string as the short version of the day names of the two days and the ADate’s day number
2	Return the date string as the day numbers of the two days
3	Return the date string as the day numbers of the two days
4	Return the date string as the day numbers of the two days


TcxSchedulerDateTimeHelper.DayToStrFormatCount

TcxSchedulerDateTimeHelper

Returns the total number of available date string formats.

class function DayToStrFormatCount: Integer; virtual;

Description

Use the DayToStrFormatCount method to determine how many date string formats the DayToStr method supports.


TcxSchedulerDateTimeHelper.HourToStr

TcxSchedulerDateTimeHelper          See Also

Returns a string representation of the ATime time without the AM or PM suffix, if the 12-hour format is applied.

class function HourToStr(const ATime: TDateTime): string; virtual;

Description

The returned result is the time string containing hours and minutes without the AM or PM suffix (except for the ATime’s value of 12), if the 12-hour format is applied.

The ATime parameter specifies the time to be returned in the string.

Note: whether the string returned is in the 12-hour or 24-hour format depends upon the host environment's settings.


TcxSchedulerDateTimeHelper.IncMonth

TcxSchedulerDateTimeHelper

Increments the AMonth month by the number of months specified in the ANumberOfMonths parameter.

class procedure IncMonth(var AYear, AMonth, ADay: Word; ANumberOfMonths: Integer = 1);

Description

The AYear parameter specifies the year the AMonth month belongs to;

The AMonth parameter specifies the month to be incremented;

The ADay parameter specifies the day in the AMonth month. If the value of the ADay parameter is greater than the last day in the resulting month then the ADay day will be set to the last day of the resulting month;

The ANumberOfMonths parameter specifies the number of months the AMonth month is incremented by. If the ANumberOfMonths parameter is not specified then the AMonth month will be incremented by one month.


TcxSchedulerDateTimeHelper.Intersect

TcxSchedulerDateTimeHelper

Determines whether the time interval defined by the AStart1 or AFinish1 datetimes overlaps with the time interval defined by the AStart and AFinish (inclusive) datetimes.

class function Intersect(const AStart, AFinish, AStart1, AFinish1: TDateTime): Boolean;

Description

The Intersect method returns True if the above time intervals share, at the very least, a single date.

The AStart and AFinish parameters specify the dates of the time interval that is overlapped by the time interval with the AStart1 or AFinish1 time bounds;

The AStart1 and AFinish1 parameters specify the dates of the time interval that overlaps the time interval with the AStart or AFinish time boundaries.


TcxSchedulerDateTimeHelper.IsFreeTime

TcxSchedulerDateTimeHelper          See Also

Determines whether the ADateTime time is nonworking time.

type

  TDay = (dSunday, dMonday, dTuesday, dWednesday, dThursday, dFriday, dSaturday);

  TDays = set of TDay;

class function IsFreeTime(const ADateTime: TDateTime; AWorkDays: TDays; const AWorkStart, AWorkFinish: TDateTime): Boolean;

Description

The IsFreeTime method returns True if the ADateTime time is nonworking time.

The ADateTime parameter specifies the time to be determined as nonworking time;

The AWorkDays parameter specifies the days that contain work hours;

The AWorkStart and AWorkFinish parameters specify the boundaries for work time.


TcxSchedulerDateTimeHelper.IsOddMonth

TcxSchedulerDateTimeHelper

Determines whether the ADate month is odd or even.

class function IsOddMonth(const ADate: TDateTime): Boolean;

Description

The IsOddMonth method returns True if the ADate month is odd.

The ADate parameter specifies which month is to be checked.


TcxSchedulerDateTimeHelper.IsWeekEnd

TcxSchedulerDateTimeHelper

Determines whether the ADate date is at the weekend.

type

  TDay = (dSunday, dMonday, dTuesday, dWednesday, dThursday, dFriday, dSaturday);

  TDays = set of TDay;

class function IsWeekEnd(const ADate: TDateTime; AWorkDays: TDays): Boolean;

Description

The IsWeekEnd method returns True if the ADate date is at the weekend.

The ADate parameter specifies the date to be checked;

The AWorkDays parameter specifies the days that contain working hours.


TcxSchedulerDateTimeHelper.IsWeeksFull

TcxSchedulerDateTimeHelper

Determines whether the AStartDate and AEndDate parameters are the first and last days in a week.

class function IsWeeksFull(const AStartDate, AEndDate: TDateTime): Boolean;

Description

The IsWeeksFull method returns True if the AStartDate and AEndDate days are the first and last days in a week.

The AStartDate parameter specifies which date should be the first day in the week;

The AEndDate parameter specifies which date should be the last day in the week.


TcxSchedulerDateTimeHelper.MonthYearToStr

TcxSchedulerDateTimeHelper          See Also

Returns the string representation of the AMonth month and AYear year.

class function MonthYearToStr(AMonth, AYear: Integer): string; virtual;

Description

Use the MonthYearToStr method to get a string containing the name of the month and the number of the year.

The AMonth parameter specifies the number of the month to be returned in the string;

The AYear parameter specifies the year to be returned in the string.

Note: the order of the date elements in the string returned is dependent upon the host environment's settings.


TcxSchedulerDateTimeHelper.Refresh

TcxSchedulerDateTimeHelper

Resets the date formats to their initial state.

class procedure Refresh; virtual;

Description

Use the Refresh method to reflect the current format settings.


TcxSchedulerDateTimeHelper.RoundTime

TcxSchedulerDateTimeHelper

Returns the time rounded to the nearest minute.

class function RoundTime(const ADateTime: TDateTime): TDateTime; virtual;

Description

Use the RoundTime method to round the seconds in the time part of the ADateTime to the nearest minute.


TcxSchedulerDateTimeHelper.StartOfWeek

TcxSchedulerDateTimeHelper          See Also

Returns the zero-based number of the first day in a week.

class function StartOfWeek: Integer; virtual;

Description

The StartOfWeek method retrieves a value provided by the host’s environment. Use the StartOfWeek method to get the first day in a week.


TcxSchedulerDateTimeHelper.TimeAMString

TcxSchedulerDateTimeHelper          See Also

Returns the AM suffix string which is used for the time values between 00:00 and 11:59 when using the 12-hour clock format.

class function TimeAMString: string; virtual;

Description

Use the TimeAMString method to apply the suffix string for time values between 00:00 and 11:59 when using the 12-hour clock format.


TcxSchedulerDateTimeHelper.TimePMString

TcxSchedulerDateTimeHelper          See Also

Returns the PM suffix string used for time values between 12:00 and 23:59 when using the 12-hour clock format.

class function TimePMString: string; virtual;

Description

Use the TimePMString method to apply the suffix string for time values between 12:00 and 23:59 when using the 12-hour clock format.


TcxSchedulerDateTimeHelper.TimeToStr

TcxSchedulerDateTimeHelper          See Also

Returns a string representation of the ATime time with the AM or PM suffix if the 12-hour format is applied.

class function TimeToStr(const ATime: TDateTime): string; virtual;

Description

Use the TimeToStr method to get the time string with the AM or PM suffix when using the 12-hour format.

The ATime parameter specifies the time to be returned in the string.

The time string has a short form (only hours and minutes).

Note: whether the string returned is in the 12-hour or 24-hour format depends upon the host environment's settings.


TcxSchedulerDateTimeHelper.TimeZoneBias

TcxSchedulerDateTimeHelper          See Also

Returns the time offset between UTC and the AIndex time zone.

class function TimeZoneBias(AIndex: Integer): TDateTime; virtual;

Description

Use the TimeZoneBias method to get the time offset between UTC (coordinated universal time) and the AIndex time zone.


TcxSchedulerDateTimeHelper.TimeZoneCount

TcxSchedulerDateTimeHelper          See Also

Returns the number of time zones defined on the host environment.

class function TimeZoneCount: Integer; virtual;

Description

Use the TimeZoneCount method to get the total number of time zones defined on the host environment.


TcxSchedulerDateTimeHelper.TimeZoneInfo

TcxSchedulerDateTimeHelper          See Also

Returns the TcxTimeZoneInformation record that contains details on the current time zone.

class function TimeZoneInfo(AIndex: Integer): TcxTimeZoneInformation; virtual;

Description

Use the TimeZoneInfo method to get information on the current time zone such as its name, bias, index, etc.


TcxSchedulerDateTimeHelper.WeekCount

TcxSchedulerDateTimeHelper

Calculates the number of weeks contained within the time interval specified by the AStart and AFinish datetime parameters.

class function WeekCount(const AStart, AFinish: TDateTime): Integer;

Description

The WeekCount method returns the number of weeks contained in the time interval. If the time interval contains an incomplete week it is counted as a full week.

The AStart parameter specifies the beginning of the time interval;

The AFinish parameter specifies the end of the time interval.


TcxSchedulerDateTimeHelper.WorkDays

TcxSchedulerDateTimeHelper          See Also

Returns the days that contain work hours.

type

  TDay = (dSunday, dMonday, dTuesday, dWednesday, dThursday, dFriday, dSaturday);

  TDays = set of TDay;

class function WorkDays: TDays; virtual;

Description

The WorkDays method returns the days from dMonday through to dFriday as workdays.


TcxSchedulerDateTimeHelper.WorkFinish

TcxSchedulerDateTimeHelper          See Also

Returns the end of the work hours.

class function WorkFinish: TDateTime; virtual;

Description

The WorkFinish method returns the end of the work hours as 17:00 (24-hour clock format).


TcxSchedulerDateTimeHelper.WorkStart

TcxSchedulerDateTimeHelper          See Also

Returns the beginning of the work hours.

class function WorkStart: TDateTime; virtual;

Description

The WorkStart method returns the beginning of the work hours as 08:00 (24-hour clock format).


TcxSchedulerEventLabel
TcxSchedulerEventLabel Object

Hierarchy          Properties

The TcxSchedulerEventLabel class implements a color label.

Unit

cxSchedulerUtils

TcxSchedulerEventLabel = class(TCollectionItem)

Description

Color labels are used to color the user events of some types to facilitate end-users identifying the latter ones. An end-user can assign (or change) a color label using the Label image combo box in the Event modal dialog or selecting the Label item of the pop-up menu invoked on the scheduled user event.

The TcxSchedulerEventLabel class contains information on the two attributes of the color label – the color (see the Color property) and the name (see the Caption property).

The TcxSchedulerEventLabel instances are stored in the TcxSchedulerEventLabels collection. They can be accessed via the TcxSchedulerEventLabels.Items property.


TcxSchedulerEventLabel Hierarchy
Hierarchy

TCollectionItem

     |

TcxSchedulerEventLabel


Properties for TcxSchedulerEventLabel
TcxSchedulerEventLabel Properties

TcxSchedulerEventLabel          Legend

In TcxSchedulerEventLabel

Caption

Color


TcxSchedulerEventLabel.Caption

TcxSchedulerEventLabel          See Also

Specifies a name for the associated user event’s color.

property Caption: string;

Description

Use the Caption property to specify a name for a color, which will then be used to color a user event (see the TcxSchedulerEvent.LabelColor property).


TcxSchedulerEventLabel.Color

TcxSchedulerEventLabel          See Also

Specifies a color for the user event’s color label.

property Color: TColor;

Description

Use the Color property to specify a color, which will then be used to color a user event (see the TcxSchedulerEvent.LabelColor property).


TcxSchedulerEventLabels
TcxSchedulerEventLabels Object

Hierarchy          Properties          Methods          See Also          Example

The TcxSchedulerEventLabels class implements a collection which stores the instances of color labels.

Unit

cxSchedulerUtils

TcxSchedulerEventLabels = class(TCollection)

Description

Color labels are used to color user events of particular types to facilitate end-users in identifying them. An end-user can assign (or change) a color label using the Label image combo box in the Event modal dialog or by selecting the Label item of the pop-up menu when it is invoked on a scheduled user event.

A color label has three attributes:

•	A color which is used to color a user event;

•	A name which describes the associated color;

•	An icon which is used as the color indicator to make it easier for an end-user to select the required label.

A color label is represented by the TcxSchedulerEventLabel class.

The TcxSchedulerEventLabels class implements the Add method to load a new color label with the specified color and name. It also declares the Images property to have an access to the collection of the built-in icons associated with the appropriate color labels.

Prior to the release of ExpressScheduler 2 a developer could only customize the colors and names of the user event’s color labels by changing the predefined color labels – the EventLabelColors array’s values (the cxSchedulerUtils unit) and label resource strings (the cxSchedulerStrs unit).

Now only the TcxSchedulerEventLabels collection is used to specify the color labels. It stores the TcxSchedulerEventLabel objects which represent these labels. The color labels stored can be one of two types: built-in and custom. The built-in labels are added to the collection automatically. While the custom labels are loaded into it using the Add method.

The TcxSchedulerEventLabels object is referenced by the EventLabels variable.


TcxSchedulerEventLabels Hierarchy
Hierarchy

TCollection

     |

TcxSchedulerEventLabels


Properties for TcxSchedulerEventLabels
TcxSchedulerEventLabels Properties

TcxSchedulerEventLabels          Legend

In TcxSchedulerEventLabels

Images

Items


Methods for TcxSchedulerEventLabels
TcxSchedulerEventLabels Methods

TcxSchedulerEventLabels          Legend

In TcxSchedulerEventLabels

Add

IndexOfColor


TcxSchedulerEventLabels.Images

TcxSchedulerEventLabels          See Also

Represents a collection of the built-in icons which relate to the user event’s color labels.

property Images: TImageList;

Description

Icons are used as color indicators to facilitate end-users in selecting the required color for the user event.

Use the Images property to access the icons collection.

ReadOnly Property


TcxSchedulerEventLabels.Items

TcxSchedulerEventLabels          See Also

Provides indexed access to the user event’s color labels in the TcxSchedulerEventLabels collection.

property Items[Index:Integer]: TcxSchedulerEventLabel;

Description

Use the Items property to get the color label at the position specified by the zero-based Index parameter.

ReadOnly Property


TcxSchedulerEventLabels.Add

TcxSchedulerEventLabels          See Also          Example

Adds a new instance of a color label to the TcxSchedulerEventLabels collection.

function Add(AColor: TColor; const ACaption: string): TcxSchedulerEventLabel;

Description

The Add method returns the new TcxSchedulerEventLabel instance.

AColor specifies a color for the user event’s color label

ACaption specifies a name for the associated user event’s color


TcxSchedulerEventLabels.IndexOfColor

TcxSchedulerEventLabels          See Also

Returns the zero-based index of the label by its AColor color in the TcxSchedulerEventLabels collection.

function IndexOfColor(AColor: TColor): Integer;

Description

This method returns -1 if there is no color in the collection specified by AColor.


TcxSchedulerTimeRange
TcxSchedulerTimeRange Object

Hierarchy          Properties

The TcxSchedulerTimeRange class represents a free time block located within the specified time period and which can be used to schedule the non-intersecting user event.

Unit

cxSchedulerUtils

TcxSchedulerTimeRange = class(TCollectionItem)

Description

The TcxSchedulerTimeRange class contains information on the start and end times of the current time block and its duration.

The TcxSchedulerTimeRange object is stored in the TcxSchedulerTimeRanges collection and can be obtained via the TcxSchedulerTimeRanges.Items property.


TcxSchedulerTimeRange Hierarchy
Hierarchy

TCollectionItem

     |

TcxSchedulerTimeRange


Properties for TcxSchedulerTimeRange
TcxSchedulerTimeRange Properties

TcxSchedulerTimeRange          Legend

In TcxSchedulerTimeRange

Duration

Finish

Start


TcxSchedulerTimeRange.Duration

TcxSchedulerTimeRange          See Also

Gets the duration of the current time block which the non-intersecting user event can be scheduled in.

property Duration: TDateTime;

Description

Use the Duration property to get the period of the current time block.

ReadOnly Property


TcxSchedulerTimeRange.Finish

TcxSchedulerTimeRange          See Also

Gets the end of the current time block which the non-intersecting user event can be scheduled in.

property Finish: TDateTime;

Description

Use the Finish property to get the end of the current time block.

ReadOnly Property


TcxSchedulerTimeRange.Start

TcxSchedulerTimeRange          See Also

Gets the start of the current time block which the non-intersecting user event can be scheduled in.

property Start: TDateTime;

Description

Use the Start property to get the start of the current time block.

ReadOnly Property


TcxSchedulerTimeRanges
TcxSchedulerTimeRanges Object

Hierarchy          Properties          Methods

The TcxSchedulerTimeRanges class implements a collection of the free time blocks (if any) which are available for scheduling non-intersecting user events within the specified time period.

Unit

cxSchedulerUtils

TcxSchedulerTimeRanges = class(TCollection)

Description

Each free time block is represented by the TcxSchedulerTimeRange object which is stored in the TcxSchedulerTimeRanges collection.


TcxSchedulerTimeRanges Hierarchy
Hierarchy

TCollection

     |

TcxSchedulerTimeRanges


Properties for TcxSchedulerTimeRanges
TcxSchedulerTimeRanges Properties

TcxSchedulerTimeRanges          Legend

In TcxSchedulerTimeRanges

Items


Methods for TcxSchedulerTimeRanges
TcxSchedulerTimeRanges Methods

TcxSchedulerTimeRanges          Legend

In TcxSchedulerTimeRanges

Add


TcxSchedulerTimeRanges.Items

TcxSchedulerTimeRanges

Provides indexed access to the TcxSchedulerTimeRange objects in the TcxSchedulerTimeRanges collection.

property Items[Index:Integer]: TcxSchedulerTimeRange;

Description

Use the Items property to get the TcxSchedulerTimeRange object at the position specified by the zero-based Index parameter.

ReadOnly Property


TcxSchedulerTimeRanges.Add

TcxSchedulerTimeRanges

Creates a new TcxSchedulerTimeRange instance and adds it to the TcxSchedulerTimeRanges collection.

function Add(const AStart, AFinish: TDateTime): TcxSchedulerTimeRange;

Description

The TcxSchedulerTimeRange object represents the current free time block which can be used to schedule the non-intersecting user event.

The Add method returns the newly created TcxSchedulerTimeRange instance.

The AStart and AFinish parameters specify the start and end times of the current time block, respectively.


TcxStartOfWeek
TcxStartOfWeek type

See Also

Enumerates days of the week.

Unit

cxSchedulerUtils

TcxStartOfWeek = (swSystem, swSunday, swMonday, swTuesday, swWednesday,

    swThursday, swFriday, swSaturday);

Description

Enumerates days of the week. The swSystem flag means the host environment’s settings specify the start day of the week.


TcxTimeZoneInformation
TcxTimeZoneInformation type

See Also

Contains information on the current time zone.

Unit

cxSchedulerUtils

TcxTimeZoneInformation = record

    Display: Widestring;

    StandardName: Widestring;

    DaylightName: Widestring;

    Index: Integer;

    MapId: string;

    TZI: TcxTZIField;

  end;

Description

Display specifies the text to be shown to an end-user

StandardName specifies the formal name that is associated with the standard time on the host environment

DaylightName specifies the formal name that is associated with the daylight saving time on the host environment

Index specifies the current time zone's number

MapId specifies the current time zone's location on the world map

TZI references the TcxTZIField record that contains the default, standard and daylight biases and, the standard and daylight time


TcxTZIField
TcxTZIField type

See Also

Contains the date information specific to the current time zone.

Unit

cxSchedulerUtils

TcxTZIField = packed record

    Bias: LongInt;

    StandardBias: LongInt;

    DaylightBias: LongInt;

    StandardDate: TSystemTime;

    DaylightDate: TSystemTime;

  end;

Description

Bias specifies the default time offset of the current time zone relative to UTC (coordinated universal time)

StandardBias specifies the bias of the standard time

DaylightBias specifies the bias of the daylight saving time

StandardDate specifies the standard time

DaylightDate specifies the daylight saving time


cxMinutesToText
cxMinutesToText Function

See Also

Converts the AMinutes value into a formatted time string.

Unit

cxSchedulerUtils

Declaration

function cxMinutesToText(AMinutes: Integer): string;

Description

The cxMinutesToText function converts the value of the AMinutes parameter into its string equivalent using an appropriate unit of time measurement (a minute, hour, day or week).

For example, if the AMinutes parameter’s value is 20160 minutes, then the cxMinutesToText function will return the ‘2 weeks’ string.


cxTextToMinutes
cxTextToMinutes Function

See Also

Converts the AText into an AMinutes numeric representation.

Unit

cxSchedulerUtils

Declaration

function cxTextToMinutes(const AText: string; out AMinutes: Integer): Boolean;

Description

The cxTextToMinutes function parses the AText string to determine the unit of time measurement. If the time unit determined is different than the minute unit (the function can recognize hour, day and week units) then it converts the given amount of time into minutes.

For example, if the ‘2 weeks’ or ‘2w’ string is passed in then a value of 20160 is assigned to the AMinutes parameter.

The function returns a value of True if the conversion was successful.


EventLabels variable
EventLabels global variable

See Also

Represents a collection of color labels for user events.

Unit

cxSchedulerUtils

EventLabels : TcxSchedulerEventLabels;

Description

This variable allows you to access the TcxSchedulerEventLabels object. Using this object's members, you can customize the list of event color labels available to end-users (see the TcxSchedulerEventLabels.Add method and the TcxSchedulerEventLabel.Color property).


DateTimeHelper constant
DateTimeHelper global constant

Represents the TcxSchedulerDateTimeHelper’s descendant.

Unit

cxSchedulerUtils

DateTimeHelper : TcxSchedulerDateTimeHelperClass = TcxSchedulerDateTimeHelper;

Description

The TcxSchedulerDateTimeHelper class provides date-time services for the scheduler. If you wish to customize these services, the DateTimeHelper constant allows you to link a new class with the overridden methods.


ResourceColorIntensityValues constant
ResourceColorIntensityValues global constant

See Also

Specifies the intensity of colors used to paint time blocks in the scheduling area.

Unit

cxSchedulerUtils

type

  TSchedulerResourceColor = (

    srcMinorNonWorkTimeSeparator, srcMajorNonWorkTimeSeparator,

    srcMinorWorkTimeSeparator, srcMajorWorkTimeSeparator,

    srcNonWorkTime, srcWorkTime);

ResourceColorIntensityValues : array[TSchedulerResourceColor] of Integer = (80, 65, 85, 70, 90, 100);

Description

Each resource is painted with the color specified via the TcxSchedulerStorageResourceItem.Color property from a set of built-in resource colors, enumerated by the PredefinedResourceColors.

Within a resource, different content areas can be painted with a different color intensity (specified via the ResourceColorIntensityValues constant) to facilitate end-users identifying them.

Intensity values are relative, and must be specified in a range from 0 (black) through to 100 (an element is painted with the specified resource color).

Values include:

Value	Meaning
srcMinorNonWorkTimeSeparator	Time ruler's minor tick marks displayed in the scheduling area’s non-work time section.
srcMajorNonWorkTimeSeparator	Time ruler's major tick marks displayed in the scheduling area’s non-work time section.
srcMinorWorkTimeSeparator	Time ruler's minor tick marks displayed in the scheduling area’s work time section.
srcMajorWorkTimeSeparator	Time ruler's major tick marks displayed in the scheduling area’s work time section.
srcNonWorkTime	Time blocks displayed in the scheduling area’s non-work time section.
srcWorkTime	Time blocks displayed in the scheduling area’s work time section.

Use the ResourceColorIntensityValues constant to customize the colors of time block elements.


The Scheduler Control's Elements

The scheduler control is a container divided into the following sections:

•	the scheduling area (represented by the TcxSchedulerCustomView class) is used to schedule and view user events under various time views. The day, week, weeks, year and timegrid views, shown in the scheduling area, enable the user to schedule and view user events in different arrangements and formats.

•	the Date Navigator pane (represented by the TcxSchedulerDateNavigator class) is used to change the dates in the scheduling area.

•	the Control Box pane (represented by the TcxSchedulerControlBox class) is used to embed other controls into the scheduler control.

An end-user can resize the sections in the scheduler control by dragging the vertical or horizontal splitter. To change the width of the vertical or horizontal splitters use the scheduler’s OptionsView.VertSplitterWidth or OptionsView.HorzSplitterWidth property. There is also an option to specify styles for splitters using the TcxSchedulerStyles.VertSplitter or TcxSchedulerStyles.HorzSplitter property.


Scheduling Area

This topic describes the scheduling area that is used to schedule or view user events under various Time Views.

The scheduling area is represented by the TcxSchedulerCustomView class. To allow end-users to view schedules in a number of different ways the scheduler control provides six types of views: Day, Week, Weeks, Year, Timegrid and Gantt Views. An end-user can switch between time views (Day, Week, Weeks) using the Date Navigator or pop-up menu.

The following images show different Time Views in the scheduling area:

•	Day View

The day view mode lets the user events in the scheduling area be displayed or scheduled on a day-by-day basis or by a number of days.

The scheduling area displays the time blocks with working hours shown in a lighter color than nonworking hours. Time blocks are used to schedule user events. The increments of time blocks are changeable and specified by the TcxSchedulerDayView.TimeScale property. To set or change the working hours, use the scheduler’s OptionsView.WorkStart and OptionsView.WorkFinish properties. Days containing working hours are workdays. The default workdays are Monday through to Friday. The scheduler’s OptionsView.WorkDays property specifies which days should be assigned to a workweek.

The left side of the scheduling area is occupied by the time ruler bar, which displays the time of the time blocks. By default, only the primary time ruler is displayed. To display the second time ruler, set the TcxSchedulerOptionsView.ShowAdditionalTimeZone property to True. To set the time rulers use the scheduler’s OptionsView.CurrentTimeZone and OptionsView.AdditionalTimeZone properties. To specify names for the time rulers, use the scheduler’s OptionsView.CurrentTimeZoneLabel and OptionsView.AdditionalTimeZoneLabel properties. Note: the time ruler bar is only visible under day view.

When a user event is scheduled for a time that is not currently displayed in the scheduling area a yellow rectangle appears on the time ruler bar, it contains an ellipsis with a small arrow indicating in which direction the scheduling area’s content should be scrolled in order to bring the user event into view. The same scroll button is displayed when the user event is outside of the day’s cell when working under the week, weeks, year or timegrid view. For details on the scroll button see the following topics: TcxScheduler.OnCustomDrawButton, TcxCustomScheduler.OnMoreEventsButtonClick, TcxSchedulerCustomResourceViewHitTest.HitAtButton, and TcxSchedulerMoreEventsButtonViewInfo.

•	Week View

The week view mode lets the user events in the scheduling area be displayed or scheduled by week.

•	Weeks View

The weeks view mode lets the user events in the scheduling area be displayed or scheduled by two or more weeks.

•	Year View

The year view mode lets the user events in the scheduling area be displayed or scheduled by year.

Note: an end-user can switch from this view to only day view by selecting the Go to This Day, Today or Go to Date… items the pop-up menu.

•	Timegrid View

Timegrid View displays user events in chronological order from left to right.

Note: an end-user can switch from this view to only Day View by selecting the Go to This Day, Today or Go to Date… items the pop-up menu.

•	Gantt View

Gantt View displays user events as horizontal bars which can be linked to each other into a task series (see the TcxSchedulerEvent.TaskLinks property), and optionally showing the completion percentage (see the scheduler’s ViewGantt.EventsStyle property).


Date Navigator

This topic describes the Date Navigator, which is used to change the dates in the scheduling area.

The Date Navigator provides a quick and easy way to change the dates in the scheduling area. It can be used to change views between day, week and weeks.

The Date Navigator component is represented by the TcxSchedulerDateNavigator class.

Along with the Control Box pane the Date Navigator pane can occupy the right, left, top or bottom side of the scheduler control (dependent upon the scheduler’s OptionsView.ViewPosition property's value).

Clicking on the Date Navigator’s header displays a month context menu. The single-arrow buttons change the dates displayed in it, by incrementing or decrementing the time range displayed by a month at a time.

The Date Navigator’s calendar shows the current month along with a few days from the previous and next months (if the TcxSchedulerDateNavigator.ColCount and TcxSchedulerDateNavigator.RowCount properties are both set to 1).

Today's date (provided by the host environment) is outlined with a border around it – the current date indicator. This makes it quick and easy to identify the current day.

Dates which have user events scheduled on them are shown in bold in the Date Navigator (if the TcxSchedulerDateNavigator.ShowDatesContainingEventsInBold property is set to True).

The selected date(s) is highlighted. To select multiple nonadjacent dates simultaneously the Control key is used along with the mouse. Adjacent dates can be selected by dragging the mouse pointer over the desired days while the left mouse button is pressed or by using the Shift key along with the mouse. The selected dates are then displayed in the scheduling area. Note: multiple selection is available only if the TcxSchedulerDateNavigator.SelectPeriod property is set to True.

Weeks of the year are assigned a number from 1 to 52(53/54), called week numbers. Week numbers can be used to select any entire week. When week numbers are turned on (see the TcxSchedulerDateNavigator.ShowWeekNumbers property) they appear on the left side of the Date Navigator.

For details on how to custom paint the Date Navigator’s elements or apply styles to the Date Navigator please refer to the Custom Drawing or Styles topics.


Control Box

This topic describes the Control Box pane. It’s used to embed other controls into the scheduler control.

Along with the Date Navigator, the Control Box pane can occupy the right, left, top or bottom side of the scheduler (dependent upon the scheduler’s OptionsView.ViewPosition property's value).

An end-user can resize the Control Box by dragging the vertical or horizontal splitter. The Control Box pane can be entirely hidden in the scheduler control if the TcxSchedulerControlBox.Visible property is set to False.

The Control Box is represented by the TcxSchedulerControlBox class.

To bind the required control to the scheduler use the TcxSchedulerControlBox.Control property.


Custom Drawing

This topic describes how to custom draw the scheduler control’s elements. The examples in this topic are based on the ExpressScheduler CustomDrawDemo that ships with this product.

There are two alternatives that allow developers to customize the scheduler control’s appearance – by using styles or performing custom drawing. The first is easy to implement but not so flexible, the latter is much more flexible but requires coding.

The following image shows the scheduler’s elements:

Note: the scheduling area’s background is only visible under the day view when the view occupies a part of the scheduling area along the y-axis (the vertical scrollbar in the scheduling area disappears). For example, to make this available the following conditions should be met: TcxSchedulerDayView.TimeScale property needs to be set to 60 and the scheduler's parent should be big enough to allow the scheduler control to show its content without the scrollbar. The Date Navigator’s background can be visible if the scheduler’s OptionsCustomize.IntegralSizing property is set to False. The following snapshots show the scheduling area’s and Date Navigator’s backgrounds:

As for custom drawing, the scheduler control provides the means for custom painting its various elements. It exposes events, which are fired when painting is required allowing custom-painting code to be embedded:

Event	Description
TcxScheduler.OnCustomDrawBackground	Allows custom painting of the scheduling area’s background. Note: the scheduling area’s background is only visible under the day view when the view occupies a part of the scheduling area along the y-axis (the vertical scrollbar in the scheduling area disappears).
TcxScheduler.OnCustomDrawButton	Allows custom painting of the "more events" button, that end-users can use to scroll to user events outside of the current boundaries of the scheduling area or day’s cell (when under week, weeks, year or timegrid view)
TcxScheduler.OnCustomDrawContent	Allows custom painting of the time blocks in the scheduling area
TcxScheduler.OnCustomDrawDayHeader	Allows custom painting of the day’s header
TcxScheduler.OnCustomDrawEvent	Allows custom painting of the user event scheduled in the scheduling area
TcxScheduler.OnCustomDrawGroupSeparator	Allows custom painting of the group separator in the scheduling area (a bar that visually divides groups of schedules when schedules grouped)
TcxScheduler.OnCustomDrawResourceHeader	Allows custom painting of the resource’s header in the scheduling area
TcxSchedulerDayView.OnCustomDrawContainer	Allows custom painting of the all-day event area located on the top of a day
TcxSchedulerDayView.OnCustomDrawTimeRuler	Allows custom painting of the time ruler(s)
TcxSchedulerDateNavigator.OnCustomDrawBackground	Allows custom painting of the Date Navigator’s background. Note: the Date Navigator’s background can be visible if the TcxSchedulerOptionsCustomize.IntegralSizing property is set to False
TcxSchedulerDateNavigator.OnCustomDrawContent	Allows custom painting of the Date Navigator month(s)’ background
TcxSchedulerDateNavigator.OnCustomDrawDayCaption	Allows custom painting of the captions of the days in the Date Navigator
TcxSchedulerDateNavigator.OnCustomDrawDayNumber	Allows custom painting of the dates in the Date Navigator
TcxSchedulerDateNavigator.OnCustomDrawHeader	Allows custom painting of the Date Navigator’s month(s) header
TcxSchedulerTimeGridView.OnCustomDrawMajorUnit	Allows custom painting of the major time scale
TcxSchedulerTimeGridView.OnCustomDrawMinorUnit	Allows custom painting of the minor time scale
TcxSchedulerTimeGridView.OnCustomDrawSelectionBar	Allows custom painting of the time selection bar

The parameters, provided with these events, are unified to facilitate the task of developing custom code:

The first parameter – Sender – specifies the time view shown in the scheduling area, for the TcxScheduler’s and TcxSchedulerDayView’s events. As for the TcxSchedulerDateNavigator’s events the Sender parameter references the Date Navigator instance.

The second parameter – ACanvas – specifies the drawing surface.

The third parameter – AViewInfo – provides information for rendering of the appropriate element.

And the last parameter – ADone – specifies if default painting is required. When the ADone parameter is set to True it prevents the default repainting after custom painting has been performed.

The following examples show how to implement event handlers for the TcxSchedulerDateNavigator’s events listed above.

Note: the output as shown below is produced only if the LookAndFeel.NativeStyle property is set to False and the lfFlat flag on the LookAndFeel.Kind property is active.

OnCustomDrawBackground

// Delphi

// ...

  ACanvas.Brush.Color := $FFCCCC;

  ACanvas.FillRect(ABounds);

  ADone := True;

OnCustomDrawContent

// Delphi

// ...

var

  AColor: TColor;

begin

  case AViewInfo.Month of

    3..5: AColor := $D0FFD0;  // spring

    6..8: AColor := $9988FE;  // summer

    9..11: AColor := $D0FFFF; // autumn

  else

    AColor := clWhite;        // winter

  end;

  ACanvas.Brush.Color := AColor;

end;

OnCustomDrawDayCaption

// Delphi

// ...

  if AViewInfo.Index in [0, 6] then  // Sunday and Saturday are off days

    ACanvas.Font.Color := clRed

  end;

OnCustomDrawDayNumber

// implementing the OnCustomDrawDayNumber event handler in this example is optional. The OnCustomDrawContent event handler (described above) does all the work necessary because the day numbers should be colored in the same way as the month's background in this context. The code that implements the painting of the day numbers is for demonstration purposes only.

// Delphi

// ...

  if AViewInfo.Selected then Exit;

  AViewInfo.Transparent := True;

  case MonthOf(AViewInfo.Date) of // specify the cxDateUtils unit in the uses clause

    1,2,12: ACanvas.Brush.Color := clWhite;

    3..5: ACanvas.Brush.Color := $80FF80;

    6..8: ACanvas.Brush.Color := $A0A0FF;

    9..11: ACanvas.Brush.Color := $80FFFF;

  end;

OnCustomDrawHeader

// Delphi

// ...

  ACanvas.Brush.Color := $80FFFF;

This is the result when default drawing is used:

Here is the result when all the mentioned event handlers of the TcxSchedulerDateNavigator are applied:


Styles

This topic describes how to customize the appearance of the scheduler control’s elements by using styles. The examples in this topic are based on the ExpressScheduler StylesDemo that ships with this product.

The scheduler control provides two ways for developers to customize its appearance – by using styles or performing custom drawing. The easiest way is to use styles.

The following image shows the scheduler’s elements:

Note: the scheduling area’s background is only visible under the day view when the view occupies a part of the scheduling area along the y-axis (the vertical scrollbar in the scheduling area disappears). For example, to make this available the following conditions should be met: TcxSchedulerDayView.TimeScale property needs to be set to 60 and the scheduler's parent should be big enough to allow the scheduler control to show its content without the scrollbar. The Date Navigator’s background can be visible if the scheduler’s OptionsCustomize.IntegralSizing property is set to False. The following snapshots show the scheduling area’s and Date Navigator’s backgrounds:

There are classes that implement styles to custom paint the various elements of the scheduler control: the TcxSchedulerStyles (referenced by the TcxCustomScheduler.Styles property), TcxSchedulerDayViewStyles (referenced by the TcxSchedulerDayView.Styles property), TcxSchedulerTimeGridViewStyles (referenced by the TcxSchedulerTimeGridView.Styles property), TcxSchedulerYearViewStyles (referenced by the TcxSchedulerYearView.Styles property), and TcxSchedulerDateNavigatorStyles (referenced by the TcxSchedulerDateNavigator.Styles property).

The following table lists the properties that are responsible for specifying the styles of the appropriate scheduler control’s elements:

Property	Description
TcxSchedulerStyles.Background	Specifies the style settings for the scheduler control’s background. Note: the scheduling area’s background is only visible under the day view when the view occupies a part of the scheduling area along the y-axis (the vertical scrollbar in the scheduling area disappears).
TcxSchedulerStyles.Content	Specifies the style settings for the time blocks in the scheduling area and the Date Navigator’s calendar
TcxSchedulerStyles.Event	Specifies the style settings for the scheduled user event in the scheduling area
TcxSchedulerStyles.DayHeader	Specifies the style settings for the headers of days (except for the current day)
TcxSchedulerStyles.HorzSplitter	Specifies the style settings for the horizontal splitter
TcxSchedulerStyles.ResourceHeader	Specifies the style settings for the resource’s header
TcxSchedulerStyles.Selection	Specifies the style settings for the currently selected time blocks
TcxSchedulerStyles.VertSplitter	Specifies the style settings for the vertical splitter
TcxSchedulerDayViewStyles.HeaderContainer	Specifies the style settings for the all-day event area located at the top of each day
TcxSchedulerDayViewStyles.SelectedHeaderContainer	Specifies the style settings for the all-day event area which is located at the top of a day, when it is selected
TcxSchedulerDayViewStyles.TimeLine	Specifies the style settings for the timeline bar
TcxSchedulerDayViewStyles.TimeRuler	Specifies the style settings for time rulers
TcxSchedulerTimeGridViewStyles.MajorScale	Specifies the style settings for the major time scale
TcxSchedulerTimeGridViewStyles.MajorScaleUnitSeparator	Specifies the style settings for the major time scale’s splitter
TcxSchedulerTimeGridViewStyles.MinorScale	Specifies the style settings for the minor time scale
TcxSchedulerTimeGridViewStyles.SelectionBar	Specifies the style settings for the time selection bar
TcxSchedulerYearViewStyles.MonthHeader	Specifies the style settings for the month headers
TcxSchedulerYearViewStyles.UnusedContent	Specifies the style settings for the cells of the adjacent months
TcxSchedulerDateNavigatorStyles.Background	Specifies the style settings for the Date Navigator‘s background. Note: the Date Navigator’s background can be visible if the TcxSchedulerOptionsCustomize.IntegralSizing property is set to False
TcxSchedulerDateNavigatorStyles.Content	Specifies the style settings for the Date Navigator month’s background
TcxSchedulerDateNavigatorStyles.Header	Specifies the style settings for the Date Navigator‘s month header
TcxSchedulerDateNavigatorStyles.Selection	Specifies the style settings for the selected date(s) in the Date Navigator

To apply the custom styles the following steps should be taken:

1.	Drop the TcxStyleRepository [image] component (located on the Dev Express page) onto a form from the Component Palette.  Double-click it to invoke the Styles editor. Create a style, name it and modify its settings.

2.	Select the scheduler control and using the Object Inspector assign the newly created style to the property that represents the element the style is applied to:

This is the result when the application is running:

Do the same for the other elements of the scheduler control.

Besides the properties described above below the list of events that allow you to dynamically apply custom styles to some scheduling area’s elements:

•	TcxSchedulerStyles.OnGetContentStyle – for the time block;

•	TcxSchedulerStyles.OnGetDayHeaderStyle – for the day’s header;

•	TcxSchedulerStyles.OnGetEventStyle – for the user event;

•	TcxSchedulerStyles.OnGetResourceHeaderStyle – for the resource;

•	TcxSchedulerTimeGridViewStyles.OnGetMajorScaleParams – for the major time scale in the timegrid view;

•	TcxSchedulerTimeGridViewStyles.OnGetMinorScaleParams – for the minor time scale in the timegrid view;

•	TcxSchedulerTimeGridViewStyles.OnGetSelectionBarParams – for the time selection bar in the timegrid view;

•	TcxSchedulerYearViewStyles.OnGetMonthHeaderStyle – for the month header in the year view;

•	TcxSchedulerYearViewStyles.OnGetUnusedContentStyle – for the month’s cell in the year view.

The following example implements the OnGetDayHeaderStyle event handler.

Using the TcxStyleRepository component, described above, invoke the Styles editor. Create a style, name it as stDayHeaderStyle and set the text color attribute as clBackground, the font’s name as Arial and activate the style’s bold attribute, as shown in the following image:

Next, provide implementation for the event handler with the newly created style:

// Delphi

// ...

var

  ACurrentDate : TDateTime;

begin

  ACurrentDate := Date;

  if ADate = ACurrentDate then

    AStyle := stDayHeaderStyle;

end;

This is the result when the implemented event handler is applied:

Note: the output shown is produced only if the LookAndFeel.NativeStyle property is set to False and the LookAndFeel.Kind property is set to lfFlat.


cxSchedulerDialogs Unit Overview
cxSchedulerDialogs Unit

Routines

cxShowEventEditor

cxShowGoToDateDialog

cxShowHolidaysEditor

cxShowRecurrenceEditor

cxShowResourcesLayoutEditor

cxShowTaskDependencyEditor

Global Constants

cxEventEditorClass

cxRecurrenceEventEditorClass

cxReminderFormClass

UseSchedulerColorInDialogs


cxShowEventEditor
cxShowEventEditor Function

See Also

Invokes the Event dialog used for editing the AEvent user event.

Unit

cxSchedulerDialogs

Declaration

function cxShowEventEditor(AEvent: TcxSchedulerControlEvent; ALookAndFeel: TcxLookAndFeel; ARecurrence: Boolean; var AModified: Boolean; AReadOnly: Boolean = False; AllowDelete: Boolean = True; ARecurrenceButton: Boolean = True; AOnDeleteFunc: TcxOnDeleteEventFunc = nil; AForcePatternEditing: Boolean = False; ABiasTime: TDateTime = 0; AShowResources: Boolean = False): Boolean;

Description

Use the cxShowEventEditor function to display the Event dialog used to edit the user event specified by the AEvent parameter. This function returns a value of True if the OK button, located in the  dialog, was pressed.

The ALookAndFeel parameter represents the look and feel settings of the  dialog’s controls;

The ARecurrence parameter specifies whether the Event recurrence dialog is displayed above the Event dialog when the cxShowEventEditor function is called. Set the ARecurrence parameter to True to invoke the Event recurrence dialog along with the Event  dialog when the cxShowEventEditor function is invoked;

The AModified parameter is used to pass the value returned by the cxShowEventEditor function and specifies whether the content being edited was changed. If the content was changed the returned value is True;

The AReadOnly parameter specifies whether any changes can be made to the AEvent user event. Set the AReadOnly parameter to True to forbid any changes;

The AllowDelete parameter specifies whether the Delete button in the Event dialog is disabled or not. Set the AllowDelete parameter to True to enable the Delete button. The Delete button is used for deleting the AEvent user event;

The ARecurrenceButton parameter specifies whether the Recurrence button in the Event dialog appears. Set the ARecurrenceButton parameter to True to have the Recurrence button appear. The Recurrence button is used for invoking the Event recurrence dialog;

The AForcePatternEditing parameter specifies which user event (the parent or its occurrence) should be loaded for editing if the AEvent user event is a recurring event. Either the parent (template) user event that all these events occurrences are spawned from or the current occurrence (child) of the event. Set the AForcePatternEditing parameter to True to edit the parent user event (see also the TcxSchedulerEvent.IsRecurring method);

The ABiasTime parameter specifies the time offset between the time stored in a data store and the time displayed in the scheduling area (see the TcxCustomSchedulerStorage.StoreUsingGlobalTime property);

The AOnDeleteFunc parameter specifies the callback reference for the TcxCustomScheduler.OnBeforeDeleting event handler;

The AShowResources parameter specifies whether the Resource combo box will be shown in the dialog. This box is used to assign the required resources to the AEvent. Set the AShowResources parameter to True to make the Resource combo box visible in the dialog.

Note: if the cxSchedulerDBStorage component is plugged into the scheduler control (see TcxSchedulerDBStorage) and the TcxSchedulerDBStorageFieldNames.LabelColor property is not bound to the dataset field, the Label image combo box used to edit a color label (see also the TcxSchedulerEvent.LabelColor property) will be disabled in the Event dialog.


cxShowGoToDateDialog
cxShowGoToDateDialog Function

See Also

Invokes the Go To Date  dialog used for editing the ADate date that will be displayed in the scheduling area.

Unit

cxSchedulerDialogs

Declaration

function cxShowGoToDateDialog(AScheduler: TcxCustomScheduler; ALookAndFeel: TcxLookAndFeel; var ADate: TDateTime; out AViewMode: TcxSchedulerViewMode): Boolean;

Description

Use the cxShowGoToDateDialog function to display the Go To Date  dialog used for editing the ADate date that will be displayed in the scheduling area. This function returns True if the OK button, located in the  dialog, was pressed.

The AScheduler parameter specifies the scheduler control;

The ALookAndFeel parameter represents the look and feel settings for the  dialog’s controls;

The ADate parameter specifies the date to be displayed in the scheduling area;

The AViewMode parameter specifies the time view that the ADate date is displayed within. The time view’s available modes are specified by the TcxSchedulerViewMode enumeration.


cxShowHolidaysEditor
cxShowHolidaysEditor Function

See Also

Invokes the Holidays editor dialog used to modify holidays in the TcxSchedulerHolidays component.

Unit

cxSchedulerDialogs

Declaration

function cxShowHolidaysEditor(var AHolidays: TcxSchedulerHolidays; ALookAndFeel: TcxLookAndFeel): Boolean;

Description

AHolidays references the TcxSchedulerHolidays component instance.

ALookAndFeel specifies the dialog’s look and feel settings.


cxShowRecurrenceEditor
cxShowRecurrenceEditor Function

See Also

Invokes the Event recurrence  dialog used for editing the recurrence details of the AEvent user event.

Unit

cxSchedulerDialogs

Declaration

function cxShowRecurrenceEditor(AEvent: TcxSchedulerControlEvent; ALookAndFeel: TcxLookAndFeel; out AModified: Boolean; AReadOnly: Boolean = False; AConfirmLossOfExceptions: Boolean = True; AIsInternalActivation: Boolean = False): Boolean;

Description

Use the cxShowRecurrenceEditor function to display the Event recurrence  dialog used for editing the AEvent user event’s recurrence details. This function returns True if the OK button, located in the  dialog, was pressed.

The ALookAndFeel parameter represents the look and feel settings for the  dialog’s controls;

The AModified parameter is used to pass the value returned by the cxShowRecurrenceEditor function and specifies whether the content being edited was changed. If the content was changed the value returned is True;

The AReadOnly parameter specifies whether any changes can be made in the AEvent user event. Set the AReadOnly parameter to True value to prevent any changes from being made.

The AConfirmLossOfExceptions parameter specifies whether the confirmation dialog will appear when an end-user updates the recurrence details in the  dialog. The confirmation dialog will be shown to the end-user if there is any custom occurrence or exception in the chain of reoccurrences, spawned from the AEvent user event. It appears when the end-user presses the OK button, located in the  dialog, and asks the end-user if it's okay to loose any exceptions associated with the AEvent user event. Set the AConfirmLossOfExceptions parameter to False to prevent the confirmation dialog from appearing.

The AIsInternalActivation parameter specifies whether changes which have been made in the Event recurrence  dialog are committed or rolled back. This parameter should only be set to True when the Event recurrence  dialog is invoked from the Event  dialog. In all other cases set the AIsInternalActivate parameter to False.


cxShowResourcesLayoutEditor
cxShowResourcesLayoutEditor Procedure

Invokes the Resources layout editor  dialog used for editing the resources layout.

Unit

cxSchedulerDialogs

Declaration

procedure cxShowResourcesLayoutEditor(AStorage: TcxCustomSchedulerStorage; ALookAndFeel: TcxLookAndFeel);

Description

Use the cxShowResourcesLayoutEditor procedure to display the Resources layout editor  dialog used for editing the resources layout. The Resources layout editor  dialog enables the resources’ visibility and the order that the resources appear in, in the scheduling area to be altered.

The AStorage parameter specifies the persistence manager component responsible for the resources persistence in a data store;

The ALookAndFeel parameter represents the look and feel settings for the  dialog’s controls.


cxShowTaskDependencyEditor
cxShowTaskDependencyEditor Procedure

See Also

Invokes the Task Dependency dialog used to modify the specified task link when scheduling in the Gantt View.

Unit

cxSchedulerDialogs

Declaration

procedure cxShowTaskDependencyEditor(AItemLink: TcxSchedulerEventItemLink; ALookAndFeel: TcxLookAndFeel);

Description

AItemLink references the task link to be changed.

ALookAndFeel specifies the dialog’s look and feel settings.


cxEventEditorClass constant
cxEventEditorClass global constant

Represents the Event dialog.

Unit

cxSchedulerDialogs

cxEventEditorClass : TcxSchedulerEventEditorClass = TcxSchedulerCustomEventEditor;

Description

Use the cxEventEditorClass constant to bind another editor derived from the TcxSchedulerEventEditor to the Event dialog.

Note: the cxSchedulerEventEditor unit contains the TcxSchedulerEventEditor class. The newly assigned editor is used in the Event dialog invoked by the cxShowEventEditor function, or TcxCustomScheduler.CreateEventUsingDialog method.


cxRecurrenceEventEditorClass constant
cxRecurrenceEventEditorClass global constant

Represents the Event recurrence dialog.

Unit

cxSchedulerDialogs

cxRecurrenceEventEditorClass : TcxSchedulerRecurrenceEventEditorClass = TcxSchedulerCustomRecurrenceEventEditor;

Description

Use the cxRecurrenceEventEditorClass constant to bind another editor derived from the TcxSchedulerRecurrenceEventEditor to the Event recurrence dialog.

Note: the cxSchedulerEventEditor unit contains the TcxSchedulerRecurrenceEventEditor class. The newly assigned editor is used in the Event recurrence dialog invoked by the cxShowRecurrenceEditor function.


cxReminderFormClass constant
cxReminderFormClass global constant

Represents the Reminders window.

Unit

cxSchedulerDialogs

cxReminderFormClass : TcxSchedulerReminderFormClass = TcxSchedulerReminderForm;

Description

Use the cxReminderFormClass constant to bind another editor derived from the TcxSchedulerCustomReminderForm to the Reminders window.

Note: the cxSchedulerStorage unit contains the TcxSchedulerCustomReminderForm class. The newly assigned editor is used in the Reminders window invoked by the TcxSchedulerReminders.ShowReminderWindow method.


UseSchedulerColorInDialogs constant
UseSchedulerColorInDialogs global constant

See Also

Specifies whether the scheduler control’s color scheme is applied to the background color of the Event, Event recurrence, Go To Date and Resources layout editor dialogs.

Unit

cxSchedulerDialogs

UseSchedulerColorInDialogs : Boolean = True;

Description

If the value of the UseSchedulerColorInDialogs constant is set to True the background color of  dialogs is defined by the scheduler control’s color scheme. Otherwise the host environment’s color scheme is applied to the background color of dialogs.


cxSchedulerCustomResourceView Unit Overview
cxSchedulerCustomResourceView Unit

Classes

TcxSchedulerBackgroundCellViewInfo

TcxSchedulerContainerCellViewInfo

TcxSchedulerContentCellViewInfo

TcxSchedulerCustomResourceView

TcxSchedulerCustomResourceViewHitTest

TcxSchedulerCustomResourceViewInfoItem

TcxSchedulerCustomViewInfoItem

TcxSchedulerDayHeaderCellViewInfo

TcxSchedulerEventCellViewInfo

TcxSchedulerEventImageItem

TcxSchedulerEventImages

TcxSchedulerGroupSeparatorCellViewInfo

TcxSchedulerHeaderCellViewInfo

TcxSchedulerMonthDayContentCellViewInfo

TcxSchedulerMoreEventsButtonViewInfo

TcxSchedulerResourceViewInfo

TcxSchedulerTimeRulerCellViewInfo

Other Types

TcxSchedulerEventImageType

TcxSchedulerEventImagesLayout


TcxSchedulerBackgroundCellViewInfo
TcxSchedulerBackgroundCellViewInfo Object

Hierarchy          Properties          Methods         See Also

The TcxSchedulerBackgroundCellViewInfo class contains the information required to render the scheduling area’s background.

Unit

cxSchedulerCustomResourceView

TcxSchedulerBackgroundCellViewInfo = class(TcxSchedulerCustomViewInfoItem)

Description

The information stored is used in the TcxScheduler.OnCustomDrawBackground event handler to custom paint the scheduling area’s background:

Note: the scheduling area’s background is only visible under the day view when the view occupies part of the scheduling area along the y-axis (the vertical scrollbar in the scheduling area disappears). For example, to make this available the following conditions should be met: the TcxSchedulerDayView.TimeScale property needs to be set to 60 and the scheduler's parent should be big enough to allow the scheduler control to show its content without the scrollbar.

The TcxSchedulerBackgroundCellViewInfo object is referenced by the AViewInfo parameter of the TcxScheduler.OnCustomDrawBackground event.


TcxSchedulerBackgroundCellViewInfo Hierarchy
Hierarchy

TObject

     |

TcxSchedulerCustomViewInfoItem

     |

TcxSchedulerBackgroundCellViewInfo


Properties for TcxSchedulerBackgroundCellViewInfo
TcxSchedulerBackgroundCellViewInfo Properties

TcxSchedulerBackgroundCellViewInfo          Legend

Derived from TcxSchedulerCustomViewInfoItem

Bitmap

Borders

Bounds

Canvas

ClipRect

Color

Font

Painter

TextColor

Transparent

ViewParams

Visible


Methods for TcxSchedulerBackgroundCellViewInfo
TcxSchedulerBackgroundCellViewInfo Methods

TcxSchedulerBackgroundCellViewInfo          Legend

Derived from TcxSchedulerCustomViewInfoItem

Draw


TcxSchedulerContainerCellViewInfo
TcxSchedulerContainerCellViewInfo Object

Hierarchy          Properties          Methods         See Also

The TcxSchedulerContainerCellViewInfo class contains the details required to render the all-day event area.

Unit

cxSchedulerCustomResourceView

TcxSchedulerContainerCellViewInfo = class(TcxSchedulerCustomResourceViewInfoItem)

Description

The information stored is used in the TcxSchedulerDayView.OnCustomDrawContainer event handler to custom paint the all-day event area.

The TcxSchedulerContainerCellViewInfo object is referenced by the AViewInfo parameter of the TcxSchedulerDayView.OnCustomDrawContainer event.


TcxSchedulerContainerCellViewInfo Hierarchy
Hierarchy

TObject

     |

TcxSchedulerCustomViewInfoItem

     |

TcxSchedulerCustomResourceViewInfoItem

     |

TcxSchedulerContainerCellViewInfo


Properties for TcxSchedulerContainerCellViewInfo
TcxSchedulerContainerCellViewInfo Properties

TcxSchedulerContainerCellViewInfo          Legend

In TcxSchedulerContainerCellViewInfo

Selected

Derived from TcxSchedulerCustomResourceViewInfoItem

DateTime

Resource

Derived from TcxSchedulerCustomViewInfoItem

Bitmap

Borders

Bounds

Canvas

ClipRect

Color

Font

Painter

TextColor

Transparent

ViewParams

Visible


Methods for TcxSchedulerContainerCellViewInfo
TcxSchedulerContainerCellViewInfo Methods

TcxSchedulerContainerCellViewInfo          Legend

Derived from TcxSchedulerCustomViewInfoItem

Draw


TcxSchedulerContainerCellViewInfo.Selected

TcxSchedulerContainerCellViewInfo          See Also

Specifies whether the current all-day event area is selected.

property Selected: Boolean;

Description

If the current all-day event area has been selected, then the Selected property returns a value of True.


TcxSchedulerContentCellViewInfo
TcxSchedulerContentCellViewInfo Object

Hierarchy          Properties          Methods         See Also

The TcxSchedulerContentCellViewInfo class contains the details required to render the time blocks.

Unit

cxSchedulerCustomResourceView

TcxSchedulerContentCellViewInfo = class(TcxSchedulerCustomResourceViewInfoItem)

Description

The information stored is used in the TcxScheduler.OnCustomDrawContent event handler to custom paint the time block.

The TcxSchedulerContentCellViewInfo object is referenced by the AViewInfo parameter of the TcxScheduler.OnCustomDrawContent event.


TcxSchedulerContentCellViewInfo Hierarchy
Hierarchy

TObject

     |

TcxSchedulerCustomViewInfoItem

     |

TcxSchedulerCustomResourceViewInfoItem

     |

TcxSchedulerContentCellViewInfo


Properties for TcxSchedulerContentCellViewInfo
TcxSchedulerContentCellViewInfo Properties

TcxSchedulerContentCellViewInfo          Legend

In TcxSchedulerContentCellViewInfo

BorderColor

ShowTimeLine

TimeEvent

TimeLineBorders

TimeLineParams

TimeStart

Derived from TcxSchedulerCustomResourceViewInfoItem

Resource

TimeFinish

Derived from TcxSchedulerCustomViewInfoItem

Bitmap

Borders

Bounds

Canvas

ClipRect

Color

Font

Painter

TextColor

Transparent

ViewParams

Visible


Methods for TcxSchedulerContentCellViewInfo
TcxSchedulerContentCellViewInfo Methods

TcxSchedulerContentCellViewInfo          Legend

Derived from TcxSchedulerCustomViewInfoItem

Draw


TcxSchedulerContentCellViewInfo.BorderColor

TcxSchedulerContentCellViewInfo          See Also

Specifies the border’s color of the current time block.

property BorderColor: TColor;

Description

Use the BorderColor property to specify the border’s color of the current time block.


TcxSchedulerContentCellViewInfo.ShowTimeLine

TcxSchedulerContentCellViewInfo          See Also

Gets whether the timeline bar is visible.

property ShowTimeLine: Boolean;

Description

If the ShowTimeLine property’s value is False, then the timeline bar won’t be displayed.

Note: the timeline bar is only visible when scheduling under the day view.


TcxSchedulerContentCellViewInfo.TimeEvent

TcxSchedulerContentCellViewInfo

Represents an instance of the TcxSchedulerEventCellViewInfo class which contains the information required to render a user event.

property TimeEvent: TcxSchedulerEventCellViewInfo;

Description

The information stored is used to custom paint the user event by implementing the TcxScheduler.OnCustomDrawEvent event handler.


TcxSchedulerContentCellViewInfo.TimeLineBorders

TcxSchedulerContentCellViewInfo          See Also

Specifies the timeline bar’s borders.

property TimeLineBorders: TcxBorders;

Description

Use the TimeLineBorders property to specify the timeline bar’s borders that is to be drawn.

Note: the timeline bar is only visible when scheduling under the day view.


TcxSchedulerContentCellViewInfo.TimeLineParams

TcxSchedulerContentCellViewInfo          See Also

Specifies the style attributes of the timeline bar.

property TimeLineParams: TcxViewParams;

Description

Use the TimeLineParams property to specify the style attributes of the timeline bar.

Note: the timeline bar is only visible when scheduling under the day view.


TcxSchedulerContentCellViewInfo.TimeStart

TcxSchedulerContentCellViewInfo          See Also

Gets the start time of the time block currently being drawn.

property TimeStart: TDateTime;

Description

Use the TimeStart property to return the start time of the time block currently being drawn.

ReadOnly Property


TcxSchedulerCustomResourceView
TcxSchedulerCustomResourceView Object

Hierarchy          Properties

The TcxSchedulerCustomResourceView is the common ancestor for all types of time view.

Unit

cxSchedulerCustomResourceView

TcxSchedulerCustomResourceView = class(TcxSchedulerCustomView)

Description

The TcxSchedulerCustomResourceView is an intermediate class that was designed to extend the implementation of grouping schedules (when the gkByResource or gkByDate flag on the GroupingKind property is active and more than one resource is defined) common to all descendants (see the TcxSchedulerDayView and TcxSchedulerCustomWeekView classes). Group scheduling by resources facilitates managing peoples' time and/or resources under a single view.


TcxSchedulerCustomResourceView Hierarchy
Hierarchy

TPersistent

     |

TcxSchedulerSubControl

     |

TcxSchedulerCustomView

     |

TcxSchedulerCustomResourceView


Properties for TcxSchedulerCustomResourceView
TcxSchedulerCustomResourceView Properties

TcxSchedulerCustomResourceView          Legend

In TcxSchedulerCustomResourceView

EventImagesLayout

GroupingKind

ShowEndTime

ShowTimeAsClock

Derived from TcxSchedulerCustomView

Active

CanShow

DragCloneEventList

FirstVisibleDate

HitTest

LastVisibleDate

SelectedDays


TcxSchedulerCustomResourceView.EventImagesLayout

TcxSchedulerCustomResourceView          See Also

Specifies how icons are arranged in the user event’s rectangle.

property EventImagesLayout: TcxSchedulerEventImagesLayout;

Description

The available types of icon arrangement are specified by the TcxSchedulerEventImagesLayout enumeration.

Use the EventImagesLayout property to specify the layout of user event icons when scheduling in the day or timegrid view (if the TcxSchedulerTimeGridView.EventDetailInfo property is set to True).


TcxSchedulerCustomResourceView.GroupingKind

TcxSchedulerCustomResourceView          See Also

Specifies the kind of schedules grouping under all the types of time view in the scheduling area.

property GroupingKind: TcxSchedulerGroupingKind;

Description

The available types of schedules grouping are specified by the TcxSchedulerGroupingKind enumeration.

Note: the GroupingKind property has higher priority than the TcxSchedulerOptionsView.GroupingKind property.

The default value of the GroupingKind property is gkDefault.


TcxSchedulerCustomResourceView.ShowEndTime

TcxSchedulerCustomResourceView

Specifies whether to display the end time of the user event.

property ShowEndTime: Boolean;

Description

If the value of the ShowEndTime property is True the end time of the user event is displayed under the week or weeks views in the scheduling area.

The default value of the ShowEndTime property is True.


TcxSchedulerCustomResourceView.ShowTimeAsClock

TcxSchedulerCustomResourceView

Specifies whether to display the user event's time as a miniature clock.

property ShowTimeAsClock: Boolean;

Description

If the value of the ShowTimeAsClock property is True the user event time is displayed as a miniature clock under week, weeks or timegrid views in the scheduling area. Otherwise the user event's time is displayed in regular format.

The default value of the ShowTimeAsClock property is False.


TcxSchedulerCustomResourceViewHitTest
TcxSchedulerCustomResourceViewHitTest Object

Hierarchy          Properties          Methods

The TcxSchedulerCustomResourceViewHitTest provides information about the mouse pointer's position with respect to the various elements in the scheduling area.

Unit

cxSchedulerCustomResourceView

TcxSchedulerCustomResourceViewHitTest = class(TcxSchedulerViewHitTest)

Description

Besides determining the common elements in the scheduling area the TcxSchedulerCustomResourceViewHitTest provides functionality for determining the elements that are available when the schedules grouping (when the gkByResource or gkByDate flag on the TcxSchedulerCustomResourceView.GroupingKind property is active and more than one resource is defined).


TcxSchedulerCustomResourceViewHitTest Hierarchy
Hierarchy

TObject

     |

TcxSchedulerSubControlHitTest

     |

TcxSchedulerViewHitTest

     |

TcxSchedulerCustomResourceViewHitTest


Properties for TcxSchedulerCustomResourceViewHitTest
TcxSchedulerCustomResourceViewHitTest Properties

TcxSchedulerCustomResourceViewHitTest          Legend

In TcxSchedulerCustomResourceViewHitTest

HitAtButton

HitAtContent

HitAtContentNavigationButton

HitAtDayHeader

HitAtGroupSeparator

HitAtResourceHeader

HitAtTimeZoneLabel

TimeZone

Derived from TcxSchedulerViewHitTest

Event

HitAtEvent

HitAtResource

Resource


Methods for TcxSchedulerCustomResourceViewHitTest
TcxSchedulerCustomResourceViewHitTest Methods

TcxSchedulerCustomResourceViewHitTest          Legend

In TcxSchedulerCustomResourceViewHitTest

GetDragKind


TcxSchedulerCustomResourceViewHitTest.HitAtButton

TcxSchedulerCustomResourceViewHitTest

Specifies whether the given point falls within the rectangle of the "more events" button that end-users can use to scroll to user events outside of the current boundaries of the scheduling area or day’s cell.

property HitAtButton: Boolean;

Description

When using the day view the "more events" button is displayed if there are user events outside of the current boundaries of the scheduling area. Under the week, weeks or year view the "more events" button is displayed if there are user events that are outside of the current boundaries of the day’s cell. In the latter case, along with scrolling to user events the button also changes the time view from these views to the day view.

If the point falls within the "more events" button's rectangle the HitAtButton property returns True. Otherwise – False.

ReadOnly Property


TcxSchedulerCustomResourceViewHitTest.HitAtContent

TcxSchedulerCustomResourceViewHitTest

Specifies whether the given point falls within any time block in the scheduling area.

property HitAtContent: Boolean;

Description

If the point falls within any time block in the scheduling area the HitAtContent property returns True. Otherwise – False

ReadOnly Property


TcxSchedulerCustomResourceViewHitTest.HitAtContentNavigationButton

TcxSchedulerCustomResourceViewHitTest          See Also

Specifies whether the given point falls within the user event navigation button rectangle.

property HitAtContentNavigationButton: Boolean;

Description

If the point falls within a user event navigation button, the HitAtContentNavigationButton property returns True.

ReadOnly Property


TcxSchedulerCustomResourceViewHitTest.HitAtDayHeader

TcxSchedulerCustomResourceViewHitTest

Specifies whether the given point falls within the rectangle of the day’s header in the scheduling area.

property HitAtDayHeader: Boolean;

Description

If the point falls within the rectangle of the day’s header the HitAtDayHeader property returns True. Otherwise – False.

ReadOnly Property


TcxSchedulerCustomResourceViewHitTest.HitAtGroupSeparator

TcxSchedulerCustomResourceViewHitTest

Specifies whether the given point falls within the rectangle of the group separator in the scheduling area.

property HitAtGroupSeparator: Boolean;

Description

The group separator is a bar that visually divides the groups of schedules.

Note: the group separator bar is only applicable if the TcxSchedulerOptionsView.GroupSeparatorWidth property is more than 0.

If the point falls within the rectangle of the group separator the HitAtGroupSeparator property returns True. Otherwise – False.

ReadOnly Property


TcxSchedulerCustomResourceViewHitTest.HitAtResourceHeader

TcxSchedulerCustomResourceViewHitTest

Specifies whether the given point falls within the rectangle of the resource’s header in the scheduling area.

property HitAtResourceHeader: Boolean;

Description

If the point falls within the rectangle of the resource’s header the HitAtResourceHeader property returns True. Otherwise – False.

ReadOnly Property


TcxSchedulerCustomResourceViewHitTest.HitAtTimeZoneLabel

TcxSchedulerCustomResourceViewHitTest          See Also

Specifies whether the given point falls within the rectangle where the names of the primary and secondary (if specified) time rulers are displayed.

property HitAtTimeZoneLabel: Boolean;

Description

If the point falls within the rectangle of the time rulers' names the HitAtTimeZoneLabel property returns True. Otherwise – False.

Note: time rulers and time ruler names are only displayed under day view.

ReadOnly Property


TcxSchedulerCustomResourceViewHitTest.TimeZone

TcxSchedulerCustomResourceViewHitTest          See Also

Returns the time zone number for the corresponding time ruler that the given point falls within.

property TimeZone: Integer;

Description

The primary time ruler appears to the left of the scheduling area (see the TcxSchedulerOptionsView.CurrentTimeZone property). The second time ruler (if specified) appears to the left of the primary time ruler (see the TcxSchedulerOptionsView.AdditionalTimeZone property).

Note: time rulers are only displayed under the day view.

ReadOnly Property


TcxSchedulerCustomResourceViewHitTest.GetDragKind

TcxSchedulerCustomResourceViewHitTest

Returns the kind of the user event dragging.

function GetDragKind: TcxEventDragKind; override;

Description

The available kinds of the user event dragging are specified by the TcxEventDragKind enumeration.


TcxSchedulerCustomResourceViewInfoItem
TcxSchedulerCustomResourceViewInfoItem Object

Hierarchy          Properties          Methods          See Also

The TcxSchedulerCustomResourceViewInfoItem class extends the TcxSchedulerCustomViewInfoItem to provide additional information on the scheduling area’s elements which are being painted, if resources are used for the scheduling.

Unit

cxSchedulerCustomResourceView

TcxSchedulerCustomResourceViewInfoItem = class(TcxSchedulerCustomViewInfoItem)

Description

If the scheduling area is split across resources, then the details on those resources (see the Resource property) and on their dependent visual elements are stored in the objects of the TcxSchedulerCustomResourceViewInfoItem‘s derived classes. The instances of descendants are available through the parameters of the associated events which are fired when the related elements are being drawn. This information can be used, if custom painting of the required elements is needed.

Do not use this class directly. Use its descendants instead.


TcxSchedulerCustomResourceViewInfoItem Hierarchy
Hierarchy

TObject

     |

TcxSchedulerCustomViewInfoItem

     |

TcxSchedulerCustomResourceViewInfoItem


Properties for TcxSchedulerCustomResourceViewInfoItem
TcxSchedulerCustomResourceViewInfoItem Properties

TcxSchedulerCustomResourceViewInfoItem          Legend

In TcxSchedulerCustomResourceViewInfoItem

DateTime

Resource

TimeFinish

Derived from TcxSchedulerCustomViewInfoItem

Bitmap

Borders

Bounds

Canvas

ClipRect

Color

Font

Painter

TextColor

Transparent

ViewParams

Visible


Methods for TcxSchedulerCustomResourceViewInfoItem
TcxSchedulerCustomResourceViewInfoItem Methods

TcxSchedulerCustomResourceViewInfoItem          Legend

Derived from TcxSchedulerCustomViewInfoItem

Draw


TcxSchedulerCustomResourceViewInfoItem.DateTime

TcxSchedulerCustomResourceViewInfoItem          See Also

Specifies a time which is used to determine the time-dependent visual elements within the scheduling area.

property DateTime: TDateTime;

Description

For instance, the DateTime property allows you to find out which date the current all-day event area belongs to (see the TcxSchedulerDayView.OnCustomDrawContainer event).

As for the other example, this property returns the bound time of the first (or the last) user event among the other user events which are located outside of the scheduling area‘s boundaries (or of the current date’s cell). It allows the scroll button currently being drawn to be determined, which corresponds to the first (or to the last) user event in the current date (see the TcxScheduler.OnCustomDrawButton event).


TcxSchedulerCustomResourceViewInfoItem.Resource

TcxSchedulerCustomResourceViewInfoItem

Contains information on resources.

property Resource: TcxSchedulerResourceViewInfo;

Description

If custom painting is performed (see the Custom Drawing topic), an instance of the TcxSchedulerResourceViewInfo class can be used to get details on the current resource object (see the TcxSchedulerResourceViewInfo.ResourceItem property), such as the caption (as well as its rectangle) and icon for the resource header (see the TcxSchedulerResourceViewInfo.Caption, TcxSchedulerResourceViewInfo.TextRect, TcxSchedulerResourceViewInfo.Images, TcxSchedulerResourceViewInfo.ImageIndex and TcxSchedulerResourceViewInfo.ImagePosition properties), its unique identifier (see the TcxSchedulerResourceViewInfo.ResourceID property) and the color for the resource group (see the TcxSchedulerResourceViewInfo.Color property).

Use the Resource property to access the TcxSchedulerResourceViewInfo instance.


TcxSchedulerCustomResourceViewInfoItem.TimeFinish

TcxSchedulerCustomResourceViewInfoItem          See Also

Gets the time which is used to determine the time-dependent visual elements within the scheduling area.

property TimeFinish: TDateTime;

Description

For instance, the TimeFinish property returns the end time of the time block which is currently being drawn in the day view (see the TcxScheduler.OnCustomDrawContent event).

ReadOnly Property


TcxSchedulerCustomViewInfoItem
TcxSchedulerCustomViewInfoItem Object

Hierarchy          Properties          Methods          See Also

The TcxSchedulerCustomViewInfoItem class contains information which is used to render the various elements of the scheduling area.

Unit

cxSchedulerCustomResourceView

TcxSchedulerCustomViewInfoItem = class(TObject)

Description

The elements of the scheduling area are as follows:

•	the time view’s background (see the TcxScheduler.OnCustomDrawBackground event);

•	the scroll button (see the TcxScheduler.OnCustomDrawButton event);

•	the time block (see the TcxScheduler.OnCustomDrawContent event);

•	the day’s header (see the TcxScheduler.OnCustomDrawDayHeader event);

•	the user event (see the TcxScheduler.OnCustomDrawEvent event);

•	the group separator (see the TcxScheduler.OnCustomDrawGroupSeparator event);

•	the resource’s header (see the TcxScheduler.OnCustomDrawResourceHeader event);

•	the all-day event area (see the TcxSchedulerDayView.OnCustomDrawContainer event);

•	the time ruler (see the TcxSchedulerDayView.OnCustomDrawTimeRuler event).

In the timegrid view:

•	the major time scale (see the TcxSchedulerTimeGridView.OnCustomDrawMajorUnit event);

•	the minor time scale (see the TcxSchedulerTimeGridView.OnCustomDrawMinorUnit event);

•	the time selection bar (see the TcxSchedulerTimeGridView.OnCustomDrawSelectionBar event).

The TcxSchedulerCustomViewInfoItem class is the base class for classes, which provide details for custom painting the scheduling area’s elements. The instances of its descendants are passed into the above events as arguments.

The TcxSchedulerCustomViewInfoItem class encapsulates the data and behavior common to all of its derived classes.

Do not use this class directly. Use its descendants instead.


TcxSchedulerCustomViewInfoItem Hierarchy
Hierarchy

TObject

     |

TcxSchedulerCustomViewInfoItem


Properties for TcxSchedulerCustomViewInfoItem
TcxSchedulerCustomViewInfoItem Properties

TcxSchedulerCustomViewInfoItem          Legend

In TcxSchedulerCustomViewInfoItem

Bitmap

Borders

Bounds

Canvas

ClipRect

Color

DisplayText

Font

Painter

TextColor

Transparent

ViewParams

Visible


Methods for TcxSchedulerCustomViewInfoItem
TcxSchedulerCustomViewInfoItem Methods

TcxSchedulerCustomViewInfoItem          Legend

In TcxSchedulerCustomViewInfoItem

Draw


TcxSchedulerCustomViewInfoItem.Bitmap

TcxSchedulerCustomViewInfoItem          See Also

Specifies the background bitmap of the scheduling area’s current element.

property Bitmap: TBitmap;

Description

Use the Bitmap property to specify the bitmap used to draw the desired element’s background.

Note: if the Bitmap property is set, then the Color property’s value is ignored.


TcxSchedulerCustomViewInfoItem.Borders

TcxSchedulerCustomViewInfoItem

Specifies the current element’s borders.

property Borders: TcxBorders;

Description

Use the Borders property to specify which borders of the scheduling area’s element will be shown.


TcxSchedulerCustomViewInfoItem.Bounds

TcxSchedulerCustomViewInfoItem

Gets the current element’s rectangle.

property Bounds: TRect;

Description

Use the Bounds property to return the coordinates of the element’s rectangle which will be drawn in the scheduling area.

ReadOnly Property


TcxSchedulerCustomViewInfoItem.Canvas

TcxSchedulerCustomViewInfoItem

Represents the surface on which the required element will be drawn.

property Canvas: TcxCanvas;

Description

Use the Canvas property to access the TcxCanvas instance.

ReadOnly Property


TcxSchedulerCustomViewInfoItem.ClipRect

TcxSchedulerCustomViewInfoItem          See Also

Gets the current element’s clipping rectangle.

property ClipRect: TRect;

Description

Use the ClipRect property to return the coordinates outside which any part of the current element will be clipped.

ReadOnly Property


TcxSchedulerCustomViewInfoItem.Color

TcxSchedulerCustomViewInfoItem          See Also

Specifies the background color of the scheduling area’s current element.

property Color: TColor;

Description

Use the Color property to specify the color of the desired element’s background.

Note: if the Bitmap property is set, then the Color property’s value is ignored.


TcxSchedulerCustomViewInfoItem.DisplayText

TcxSchedulerCustomViewInfoItem          See Also

Specifies the text which will be drawn within the scheduling area’s current element.

property DisplayText: string;

Description

Use the DisplayText property to specify the output text in the scheduling area’s current element.


TcxSchedulerCustomViewInfoItem.Font

TcxSchedulerCustomViewInfoItem          See Also

Gets the font of the output text of the scheduling area’s current element.

property Font: TFont;

Description

Use the Font property to return the font of the text which will be drawn in the scheduling area’s element.

ReadOnly Property


TcxSchedulerCustomViewInfoItem.Painter

TcxSchedulerCustomViewInfoItem

Represents the painter for the scheduling area’s elements.

property Painter: TcxCustomLookAndFeelPainterClass;

Description

Depending upon the settings specified by the TcxScheduler.LookAndFeel property the appropriate instance of the TcxCustomLookAndFeelPainter‘s descendant is invoked to paint the scheduler’s elements.

Use the Painter property to access an object of the TcxCustomLookAndFeelPainter‘s descendant.

ReadOnly Property


TcxSchedulerCustomViewInfoItem.TextColor

TcxSchedulerCustomViewInfoItem          See Also

Specifies the color of the output text in the scheduling area’s current element.

property TextColor: TColor;

Description

Use the DisplayText property to specify the color of the output text in the scheduling area’s current element. Use this property instead of the TFont.Color property.


TcxSchedulerCustomViewInfoItem.Transparent

TcxSchedulerCustomViewInfoItem          See Also

Specifies whether the background of the current element will be drawn.

property Transparent: Boolean;

Description

Set the Transparent property to False to paint the element’s background.


TcxSchedulerCustomViewInfoItem.ViewParams

TcxSchedulerCustomViewInfoItem          See Also

Gets the style attributes of the scheduling area’s current element.

property ViewParams: TcxViewParams;

Description

Use the ViewParams property to return the style attributes of the scheduling area’s current element.

The TcxViewParams record contains the following attributes: the current element’s background bitmap or color, and the font and color of the text which will be drawn in the current element.

ReadOnly Property


TcxSchedulerCustomViewInfoItem.Visible

TcxSchedulerCustomViewInfoItem

Gets whether the current element will be drawn within the scheduling area.

property Visible: Boolean;

Description

If the Visible property returns a value of True, then the scheduling area’s current element will be painted.

ReadOnly Property


TcxSchedulerCustomViewInfoItem.Draw

TcxSchedulerCustomViewInfoItem

Paints the scheduling area’s current element on the ACanvas canvas.

procedure Draw(ACanvas: TcxCanvas); virtual;

Description

The Draw method of the superclass only prepares the information which is required to render the scheduling area’s current element. The drawing is performed by the TcxSchedulerCustomViewInfoItem’s descendants which are responsible for rendering the associated elements.

The ACanvas parameter specifies the canvas on which the current element will be painted.


TcxSchedulerDayHeaderCellViewInfo
TcxSchedulerDayHeaderCellViewInfo Object

Hierarchy          Properties          Methods         See Also

The TcxSchedulerDayHeaderCellViewInfo class contains the details required to render the day cells.

Unit

cxSchedulerCustomResourceView

TcxSchedulerDayHeaderCellViewInfo = class(TcxSchedulerHeaderCellViewInfo)

Description

The information stored is used in the TcxScheduler.OnCustomDrawDayHeader event handler to custom paint the day cell.

The TcxSchedulerDayHeaderCellViewInfo object is referenced by the AViewInfo parameter of the TcxScheduler.OnCustomDrawDayHeader event.


TcxSchedulerDayHeaderCellViewInfo Hierarchy
Hierarchy

TObject

     |

TcxSchedulerCustomViewInfoItem

     |

TcxSchedulerCustomResourceViewInfoItem

     |

TcxSchedulerHeaderCellViewInfo

     |

TcxSchedulerDayHeaderCellViewInfo


Properties for TcxSchedulerDayHeaderCellViewInfo
TcxSchedulerDayHeaderCellViewInfo Properties

TcxSchedulerDayHeaderCellViewInfo          Legend

In TcxSchedulerDayHeaderCellViewInfo

Compressed

Derived from TcxSchedulerHeaderCellViewInfo

AlignHorz

AlignVert

AutoHeight

ImageIndex

ImagePosition

ImageRect

Images

IsResourceHeader

MultiLine

Neighbors

RotateHeader

RotateText

Selected

SelectionColor

SelectionTextColor

ShowEndEllipsis

TextRect

Derived from TcxSchedulerCustomResourceViewInfoItem

Resource


Methods for TcxSchedulerDayHeaderCellViewInfo
TcxSchedulerDayHeaderCellViewInfo Methods

TcxSchedulerDayHeaderCellViewInfo          Legend

In TcxSchedulerDayHeaderCellViewInfo

ConvertDateToDisplayText

Derived from TcxSchedulerHeaderCellViewInfo

Draw


TcxSchedulerDayHeaderCellViewInfo.Compressed

TcxSchedulerDayHeaderCellViewInfo          See Also

Specifies whether the current day cell is split across two cells.

property Compressed: Boolean;

Description

If the Compressed property’s value is True, then the current day cell will be split across two cells.


TcxSchedulerDayHeaderCellViewInfo.ConvertDateToDisplayText

TcxSchedulerDayHeaderCellViewInfo          See Also

Converts the date, which is associated with the current date cell, into a formatted date string.

function ConvertDateToDisplayText(AType: Integer = 0): Integer; virtual;

Description

The ConvertDateToDisplayText method returns the string pattern’s type. A complete list of the available string patterns can be found in the TcxSchedulerDateTimeHelper.DayToStr method’s topic.

The AType parameter specifies the string pattern.


TcxSchedulerEventCellViewInfo
TcxSchedulerEventCellViewInfo Object

Hierarchy          Properties          Methods         See Also

The TcxSchedulerEventCellViewInfo class contains the informations required to render a user event.

Unit

cxSchedulerCustomResourceView

TcxSchedulerEventCellViewInfo = class(TcxSchedulerCustomViewInfoItem)

Description

The information stored is used in the TcxScheduler.OnCustomDrawEvent event handler to custom paint the user event.

The TcxSchedulerEventCellViewInfo object is referenced by the AViewInfo parameter of the TcxScheduler.OnCustomDrawEvent event.


TcxSchedulerEventCellViewInfo Hierarchy
Hierarchy

TObject

     |

TcxSchedulerCustomViewInfoItem

     |

TcxSchedulerEventCellViewInfo


Properties for TcxSchedulerEventCellViewInfo
TcxSchedulerEventCellViewInfo Properties

TcxSchedulerEventCellViewInfo          Legend

In TcxSchedulerEventCellViewInfo

BorderColor

Caption

CaptionRect

ClipRect

ClipRgn

ContentFinish

ContentStart

EditingRect

EditViewInfo

Event

EventTimeRect

EventViewData

FinishRect

FinishText

Hidden

Images

Message

MessageRect

ResourceInfo

ResourceItem

Selected

SeparatorColor

ShowFinishTime

ShowMessage

ShowStartTime

ShowTimeAsClock

ShowTimeLine

StartRect

StartText

TimeLineRect

Derived from TcxSchedulerCustomViewInfoItem

Bitmap

Borders

Bounds

Canvas

ClipRect

Color

Font

Painter

TextColor

Transparent

ViewParams

Visible


Methods for TcxSchedulerEventCellViewInfo
TcxSchedulerEventCellViewInfo Methods

TcxSchedulerEventCellViewInfo          Legend

In TcxSchedulerEventCellViewInfo

Draw

DrawState

Derived from TcxSchedulerCustomViewInfoItem

Draw


TcxSchedulerEventCellViewInfo.BorderColor

TcxSchedulerEventCellViewInfo          See Also

Specifies the border’s color of the current user event.

property BorderColor: TColor;

Description

Use the BorderColor property to specify the border’s color of the current user event.


TcxSchedulerEventCellViewInfo.Caption

TcxSchedulerEventCellViewInfo          See Also

Gets the caption of the current user event.

property Caption: string;

Description

Use the Caption property to return the caption of the current user event.

ReadOnly Property


TcxSchedulerEventCellViewInfo.CaptionRect

TcxSchedulerEventCellViewInfo          See Also

Gets the caption’s rectangle of the current user event.

property CaptionRect: TRect;

Description

Use the CaptionRect property to return the caption’s rectangle of the current user event.

ReadOnly Property


TcxSchedulerEventCellViewInfo.ClipRect

TcxSchedulerEventCellViewInfo          See Also

Gets the clipping rectangle of the current user event.

property ClipRect: TRect;

Description

Use the ClipRect property to return the coordinates outside which any the current user event will be clipped.

ReadOnly Property


TcxSchedulerEventCellViewInfo.ClipRgn

TcxSchedulerEventCellViewInfo          See Also

Represents a clipping region.

property ClipRgn: TcxRegion;

Description

An instance of the TcxRegion class contains information on the region frame and a handle to the region to be drawn.


TcxSchedulerEventCellViewInfo.ContentFinish

TcxSchedulerEventCellViewInfo          See Also

Gets the outer time block which is closest to the end time of the current user event.

property ContentFinish: TDateTime;

Description

The outer time block is the time block which is located outside the current user event’s rectangle. This is in effect when scheduling under the day view.

As for the week or weeks views, the date next to the end date of the current user event will be returned.

Use the ContentFinish property to return the time block (or the date) which is closest to the finish boundary of the current user event.

ReadOnly Property


TcxSchedulerEventCellViewInfo.ContentStart

TcxSchedulerEventCellViewInfo          See Also

Gets the outer time block which is closest to the start time of the current user event.

property ContentStart: TDateTime;

Description

The outer time block is the time block which is located outside the current user event’s rectangle. This is in effect when scheduling under the day view.

As for the week or weeks views, the start date of the current user event will be returned.

Use the ContentStart property to return the time block (or the date) which is closest to the start boundary of the current user event.

ReadOnly Property


TcxSchedulerEventCellViewInfo.EditingRect

TcxSchedulerEventCellViewInfo          See Also

Gets the rectangle of the in-place editor which is being activated for the current user event.

property EditingRect: TRect;

Description

Use the EditingRect property to return the coordinates of the user event’s in-place editor, if it’s being activated with the current user event.

ReadOnly Property


TcxSchedulerEventCellViewInfo.EditViewInfo

TcxSchedulerEventCellViewInfo          See Also

Represents the information needed to paint the in-place editor which is used to display the user event’s description (specified by the TcxSchedulerEvent.Message property).

property EditViewInfo: TcxCustomEditViewInfo;

Description

The information provided allows developers to get details on the current states of an editor, its elements and style attributes.

Note: if the TcxSchedulerEvent.Message property is empty, then the EditViewInfo property returns nil.

ReadOnly Property


TcxSchedulerEventCellViewInfo.Event

TcxSchedulerEventCellViewInfo          See Also

Gets a reference to the instance of the user event, which is currently being drawn.

property Event: TcxSchedulerControlEvent;

Description

Use the Event property to access the TcxSchedulerControlEvent object that represents the user event currently being drawn.

ReadOnly Property


TcxSchedulerEventCellViewInfo.EventTimeRect

TcxSchedulerEventCellViewInfo          See Also

Gets the timeline bar’s rectangle which corresponds to the duration of the current user event.

property EventTimeRect: TRect;

Description

Use the EventTimeRect property to return the coordinates of the timeline bar’s rectangle which is associated with the period of the current user event.

Note: the above rectangle is only drawn when scheduling under the day view.

ReadOnly Property


TcxSchedulerEventCellViewInfo.EventViewData

TcxSchedulerEventCellViewInfo          See Also

Contains information needed for drawing the current user event.

TcxSchedulerEventViewData = class

public

  AlwaysShowTime: Boolean;

  AutoHeight: Boolean;

  Bitmap: TBitmap;

  BorderColor: TColor;

  Bounds: TRect;

  Canvas: TcxCanvas;

  Caption: string;

  ContentFinish: TDateTime;

  ContentStart: TDateTime;

  DrawShadows: Boolean;

  EditProperties: TcxCustomEditProperties;

  EditStyle: TcxCustomEditStyle;

  Event: TcxSchedulerControlEvent;

  ImagesLayout: TcxSchedulerEventImagesLayout;

  LineHeight: Integer;

  MaxHeight: Integer;

  Painter: TcxCustomLookAndFeelPainterClass;

  Resource: TcxSchedulerResourceViewInfo;

  ShowFinishTime: Boolean;

  ShowStartTime: Boolean;

  ShowTimeAsClock: Boolean;

  ShowTimeLine: Boolean;

  StartLine: Integer;

  TimeLineParams: TcxViewParams;

  ViewParams: TcxViewParams;

  VisibleRect: TRect;

end;

property EventViewData: TcxSchedulerEventViewData;

Description

Most of the fields’ values are available through the related properties of the TcxSchedulerEventCellViewInfo class.

ReadOnly Property


TcxSchedulerEventCellViewInfo.FinishRect

TcxSchedulerEventCellViewInfo          See Also

Gets the rectangle of the user event end time which is drawn within the user event’s rectangle.

property FinishRect: TRect;

Description

Use the FinishRect property to return the coordinates of the user event end time’s rectangle.

ReadOnly Property


TcxSchedulerEventCellViewInfo.FinishText

TcxSchedulerEventCellViewInfo          See Also

Returns the current user event’s end time as a formatted date string.

property FinishText: string;

Description

Use the FinishText property to return the text which is drawn within a rectangle represented by the TcxSchedulerEventCellViewInfo.FinishRect property.

ReadOnly Property


TcxSchedulerEventCellViewInfo.Hidden

TcxSchedulerEventCellViewInfo          See Also

Specifies whether the current user event will be painted in the scheduling area.

property Hidden: Boolean;

Description

Set the Hidden property to True to prevent the current user event from being drawn.


TcxSchedulerEventCellViewInfo.Images

TcxSchedulerEventCellViewInfo          See Also

Represents a collection of user event icons.

property Images: TcxSchedulerEventImages;

Description

Stored icons are then displayed within the user event‘s rectangle.

ReadOnly Property


TcxSchedulerEventCellViewInfo.Message

TcxSchedulerEventCellViewInfo          See Also

Gets the description of the current user event.

property Message: string;

Description

Use the Message property to return a description of the current user event.

ReadOnly Property


TcxSchedulerEventCellViewInfo.MessageRect

TcxSchedulerEventCellViewInfo          See Also

Gets the description’s rectangle of the current user event.

property MessageRect: TRect;

Description

Use the MessageRect property to return the description’s rectangle of the current user event.

ReadOnly Property


TcxSchedulerEventCellViewInfo.ResourceInfo

TcxSchedulerEventCellViewInfo          See Also

Contains information on resources.

property ResourceInfo: TcxSchedulerResourceViewInfo;

Description

An instance of the TcxSchedulerResourceViewInfo class can be used to get details on the current resource object (see the TcxSchedulerResourceViewInfo.ResourceItem property), such as the caption (as well as its rectangle) and icon for the resource header (see the TcxSchedulerResourceViewInfo.Caption, TcxSchedulerResourceViewInfo.TextRect, TcxSchedulerResourceViewInfo.Images, TcxSchedulerResourceViewInfo.ImageIndex and TcxSchedulerResourceViewInfo.ImagePosition properties), its unique identifier (see the TcxSchedulerResourceViewInfo.ResourceID property) and the color for the resource group (see the TcxSchedulerResourceViewInfo.Color property).

Use the ResourceInfo property to access the TcxSchedulerResourceViewInfo instance.

ReadOnly Property


TcxSchedulerEventCellViewInfo.ResourceItem

TcxSchedulerEventCellViewInfo          See Also

Represents the resource which the user event is currently drawn within.

property ResourceItem: TcxSchedulerStorageResourceItem;

Description

Use the ResourceItem property to access the TcxSchedulerStorageResourceItem object.

Note: if the current user event is being drawn when grouping by resources is not supported, then the ResourceItem property returns nil.

ReadOnly Property


TcxSchedulerEventCellViewInfo.Selected

TcxSchedulerEventCellViewInfo          See Also

Gets whether the current user event is selected.

property Selected: Boolean;

Description

If the current user event has been selected, then the Selected property returns a value of True.

ReadOnly Property


TcxSchedulerEventCellViewInfo.SeparatorColor

TcxSchedulerEventCellViewInfo          See Also

Specifies the color of the splitter between the caption and description of the user event.

property SeparatorColor: TColor;

Description

Use the SeparatorColor property to specify the color of the splitter between the user event’s caption and description.


TcxSchedulerEventCellViewInfo.ShowFinishTime

TcxSchedulerEventCellViewInfo          See Also

Gets whether the end time of the current user event will be shown.

property ShowFinishTime: Boolean;

Description

The user event‘s end time is shown, if it doesn’t match the time block currently shown in the scheduling area or if the TcxSchedulerDayView.AlwaysShowEventTime property is set to True (when under the day view).

If the ShowFinishTime property’s value is False, then the end time of the current user event won’t be displayed.

ReadOnly Property


TcxSchedulerEventCellViewInfo.ShowMessage

TcxSchedulerEventCellViewInfo          See Also

Gets whether the description of the current user event can be shown in its rectangle.

property ShowMessage: Boolean;

Description

The ShowMessage property returns a value of True, if the user event‘s description can be drawn.

Note: the user event‘s description can be only visible, if scheduling under the day view and the TcxSchedulerEvent.Message property is not empty.

ReadOnly Property


TcxSchedulerEventCellViewInfo.ShowStartTime

TcxSchedulerEventCellViewInfo          See Also

Gets whether the start time of the current user event will be shown.

property ShowStartTime: Boolean;

Description

The user event‘s start time is shown, if it doesn’t match the time block which is currently shown in the scheduling area or if the TcxSchedulerDayView.AlwaysShowEventTime property is set to True (when under the day view).

If the ShowStartTime property’s value is False, then the start time of the current user event won’t be displayed.

ReadOnly Property


TcxSchedulerEventCellViewInfo.ShowTimeAsClock

TcxSchedulerEventCellViewInfo          See Also

Gets whether the user event‘s time is displayed as a miniature clock or as digits.

property ShowTimeAsClock: Boolean;

Description

This state depends upon the TcxSchedulerCustomResourceView.ShowTimeAsClock property’s value.

If the ShowTimeAsClock property’s value is True, then the current user event‘s time will be displayed as a miniature clock.

ReadOnly Property


TcxSchedulerEventCellViewInfo.ShowTimeLine

TcxSchedulerEventCellViewInfo          See Also

Gets whether the timeline bar’s rectangle is visible.

property ShowTimeLine: Boolean;

Description

If the ShowTimeLine property’s value is False, then the timeline bar’s rectangle won’t be displayed.

Note: the above rectangle is only visible when scheduling under the day view.

ReadOnly Property


TcxSchedulerEventCellViewInfo.StartRect

TcxSchedulerEventCellViewInfo          See Also

Gets the rectangle of the user event start time which is drawn within the user event’s rectangle.

property StartRect: TRect;

Description

Use the StartRect property to return the coordinates of the user event start time’s rectangle.

ReadOnly Property


TcxSchedulerEventCellViewInfo.StartText

TcxSchedulerEventCellViewInfo          See Also

Gets a formatted date string of the current user event start time.

property StartText: string;

Description

Use the FinishText property to return the text which is drawn within a rectangle represented by the TcxSchedulerEventCellViewInfo.StartRect property.

ReadOnly Property


TcxSchedulerEventCellViewInfo.TimeLineRect

TcxSchedulerEventCellViewInfo          See Also

Gets the timeline bar’s rectangle which is occupied by the current user event.

property TimeLineRect: TRect;

Description

Use the TimeLineRect property to return the coordinates of the timeline bar’s rectangle which is occupied by the current user event.

Note: the above rectangle is only drawn when scheduling under the day view.


TcxSchedulerEventCellViewInfo.Draw

TcxSchedulerEventCellViewInfo          See Also

Paints the user event’s shadow with the ABitmap image.

procedure Draw(ACanvas: TcxCanvas; ABitmap: TBitmap);

Description

Use the Draw method to render the user event’s shadow with the ABitmap image.

The ACanvas parameter specifies the canvas on which the ABitmap image will be painted;

The ABitmap parameter specifies the image to be drawn.


TcxSchedulerEventCellViewInfo.DrawState

TcxSchedulerEventCellViewInfo          See Also

Paints the ARect rectangle in the color of the user event’s current availability status.

procedure DrawState(ACanvas: TcxCanvas; const ARect: TRect; ABorders: TcxBorders; ABorderColor: TColor);

Description

The user event’s availability status can have one of the four available states – Busy, Free, OutOfOffice and Tentative. To visually indicate the user event’s availability status, one of the four color schemes is used (described in the topic on the TcxSchedulerEvent.State property).

Use the DrawState method to draw the ARect rectangle in the color of the user event’s current availability status.

The ACanvas parameter specifies the canvas on which the ARect rectangle will be painted;

The ARect parameter specifies the rectangle to be painted (see, for example, the TimeLineRect and EventTimeRect properties);

The ABorders parameter specifies which borders to draw;

The ABorderColor parameter specifies the color of the ABorders borders.


TcxSchedulerEventImageItem
TcxSchedulerEventImageItem Object

Hierarchy          Properties

The TcxSchedulerEventImageItem class represents the user event icon.

Unit

cxSchedulerCustomResourceView

TcxSchedulerEventImageItem = class(TCollectionItem)

Description

The icons which will be displayed within a user event’s rectangle are stored in the TcxSchedulerEventImages collection.

The TcxSchedulerEventImageItem class allows the visibility of the icon to be specified (see the AutoHide and Visible properties) and its dimensions to be determined (see the Bounds, Height and Width properties).

As for predefined icons this class declares the ImageType property to determine the icon’s type.

The TcxSchedulerEventImageItem instance can be accessed via TcxSchedulerEventImages.Items the property.


TcxSchedulerEventImageItem Hierarchy
Hierarchy

TCollectionItem

     |

TcxSchedulerEventImageItem


Properties for TcxSchedulerEventImageItem
TcxSchedulerEventImageItem Properties

TcxSchedulerEventImageItem          Legend

In TcxSchedulerEventImageItem

AutoHide

Bounds

Height

ImageType

Visible

Width


TcxSchedulerEventImageItem.AutoHide

TcxSchedulerEventImageItem          See Also

Specifies whether the current icon can be automatically hidden.

property AutoHide: Boolean;

Description

The icon’s visibility depends upon the space available for drawing the entire icon, if the AutoHide property is set to True.


TcxSchedulerEventImageItem.Bounds

TcxSchedulerEventImageItem          See Also

Represents the current icon’s dimensions.

property Bounds: TRect;

Description

Use the Bounds property to determine the bounding rectangle of the current icon (for example, when performing custom drawing).

ReadOnly Property


TcxSchedulerEventImageItem.Height

TcxSchedulerEventImageItem          See Also

Gets the current icon’s height.

property Height: Integer;

Description

Use the Height property to determine the height of the current icon’s bounding rectangle (for example, when performing custom drawing).

ReadOnly Property


TcxSchedulerEventImageItem.ImageType

TcxSchedulerEventImageItem          See Also

Gets the current icon’s type.

property ImageType: TcxSchedulerEventImageType;

Description

A set of icons is used to visually represent the status of the user event. For example, a bell icon is used to inform an end-user that a reminder is switched on for the current user event. For a complete list of the icon types and their descriptions see the TcxSchedulerEventImageType enumeration.

Use the ImageType property to determine the current icon’s type (for example, when performing custom drawing or when implementing the TcxScheduler.OnInitEventImages event handler).

ReadOnly Property


TcxSchedulerEventImageItem.Visible

TcxSchedulerEventImageItem

Specifies whether the current icon is shown in the user event’s rectangle.

property Visible: Boolean;

Description

Set the Visible property to False to hide the current icon. Otherwise it will be displayed within the user event’s rectangle.

Use the Visible property, for example, when implementing the TcxScheduler.OnInitEventImages event handler.


TcxSchedulerEventImageItem.Width

TcxSchedulerEventImageItem          See Also

Gets the current icon’s width.

property Width: Integer;

Description

Use the Width property to determine the width of the current icon’s bounding rectangle (for example, when performing custom drawing).

ReadOnly Property


TcxSchedulerEventImages
TcxSchedulerEventImages Object

Hierarchy          Properties          Methods

The TcxSchedulerEventImages class implements a collection, which contains user event icons.

Unit

cxSchedulerCustomResourceView

TcxSchedulerEventImages = class(TCollection)

Description

Icons that are stored in the collection will be then shown within the user event‘s rectangle. To load icons into the collection the TcxSchedulerEventImages class declares two methods - Add and AddStandardImage. The first one is used to add a custom icon to the collection and the latter to add a built-in icon.

To access a particular icon in the collection use the Items property.

The TcxSchedulerEventImages class allows specifying how icons will be organized within the user event‘s rectangle (see the Layout property). It is in effect when scheduling in the day or timegrid view (if the TcxSchedulerTimeGridView.EventDetailInfo property is set to True).


TcxSchedulerEventImages Hierarchy
Hierarchy

TCollection

     |

TcxSchedulerEventImages


Properties for TcxSchedulerEventImages
TcxSchedulerEventImages Properties

TcxSchedulerEventImages          Legend

In TcxSchedulerEventImages

Items

Layout


Methods for TcxSchedulerEventImages
TcxSchedulerEventImages Methods

TcxSchedulerEventImages          Legend

In TcxSchedulerEventImages

Add

AddStandardImage


TcxSchedulerEventImages.Items

TcxSchedulerEventImages

Provides indexed access to the instances of the icons in the TcxSchedulerEventImages collection.

property Items[Index:Integer]: TcxSchedulerEventImageItem;

Description

Use the Items property to get the TcxSchedulerEventImageItem instance.

The zero-based Index parameter specifies the position of the TcxSchedulerEventImageItem instance to access in the collection.

ReadOnly Property


TcxSchedulerEventImages.Layout

TcxSchedulerEventImages          See Also

Specifies the type of the icons arrangement within the user event’s rectangle.

property Layout: TcxSchedulerEventImagesLayout;

Description

The available icon arrangements are specified by the TcxSchedulerEventImagesLayout enumeration.

Use the Layout property to specify how icons will be organized within the user event when scheduling in the day or timegrid view (if the TcxSchedulerTimeGridView.EventDetailInfo property is set to True).


TcxSchedulerEventImages.Add

TcxSchedulerEventImages          See Also

Loads a custom icon into the collection, which will then be within the user event’s rectangle.

function Add(AImageIndex: Integer; AutoHide: Boolean = True): TcxSchedulerEventImageItem;

Description

The Add method creates a new instance of the icon specified by the AImageIndex and adds it to the TcxSchedulerEventImages collection.

The AImageIndex parameter specifies the image’s position in the TcxCustomScheduler.EventImages collection;

The AutoHide parameter specifies whether the newly created icon is hidden if there isn't enough space to draw the entire icon.


TcxSchedulerEventImages.AddStandardImage

TcxSchedulerEventImages          See Also

Loads a built-in icon into the collection for displaying within the user event’s rectangle.

function AddStandardImage(AImageType: TcxSchedulerEventImageType; AutoHide: Boolean = True): TcxSchedulerEventImageItem;

Description

The AddStandardImage method creates a new instance of the icon specified by the AImageType and adds it to the TcxSchedulerEventImages collection. The available types of built-in icons are specified by the TcxSchedulerEventImageType enumeration.

The AImageType parameter specifies which of the user event’s predefined status the icon represents;

The AutoHide parameter specifies whether the newly created icon is hidden if there isn't enough space to draw the entire icon.


TcxSchedulerGroupSeparatorCellViewInfo
TcxSchedulerGroupSeparatorCellViewInfo Object

Hierarchy          Properties          Methods         See Also

The TcxSchedulerGroupSeparatorCellViewInfo class contains the details required to render the resource group separator.

Unit

cxSchedulerCustomResourceView

TcxSchedulerGroupSeparatorCellViewInfo = class(TcxSchedulerCustomViewInfoItem)

Description

The information stored is used in the TcxScheduler.OnCustomDrawGroupSeparator event handler to custom paint the resource group separator.

The TcxSchedulerGroupSeparatorCellViewInfo object is referenced by the AViewInfo parameter of the TcxScheduler.OnCustomDrawGroupSeparator event.


TcxSchedulerGroupSeparatorCellViewInfo Hierarchy
Hierarchy

TObject

     |

TcxSchedulerCustomViewInfoItem

     |

TcxSchedulerGroupSeparatorCellViewInfo


Properties for TcxSchedulerGroupSeparatorCellViewInfo
TcxSchedulerGroupSeparatorCellViewInfo Properties

TcxSchedulerGroupSeparatorCellViewInfo          Legend

In TcxSchedulerGroupSeparatorCellViewInfo

Rotated

Derived from TcxSchedulerCustomViewInfoItem

Bitmap

Borders

Bounds

Canvas

ClipRect

Color

Font

Painter

TextColor

Transparent

ViewParams

Visible


Methods for TcxSchedulerGroupSeparatorCellViewInfo
TcxSchedulerGroupSeparatorCellViewInfo Methods

TcxSchedulerGroupSeparatorCellViewInfo          Legend

Derived from TcxSchedulerCustomViewInfoItem

Draw


TcxSchedulerGroupSeparatorCellViewInfo.Rotated

TcxSchedulerGroupSeparatorCellViewInfo          See Also

Specifies whether the resource group separator is displayed horizontally or vertically.

property Rotated: Boolean;

Description

The resource group separator is displayed horizontally under the week and weeks (and the user events are grouped by dates) views or timegrid view. In the other cases – vertically.

If the Rotated property’s value is True, then the group separator is displayed horizontally.


TcxSchedulerHeaderCellViewInfo
TcxSchedulerHeaderCellViewInfo Object

Hierarchy          Properties          Methods         See Also

The TcxSchedulerHeaderCellViewInfo class contains the information required to render the different types of header cells.

Unit

cxSchedulerCustomResourceView

TcxSchedulerHeaderCellViewInfo = class(TcxSchedulerCustomResourceViewInfoItem)

Description

The information stored is used in the TcxScheduler.OnCustomDrawResourceHeader event handler to custom paint the schedule resource header.

The TcxSchedulerHeaderCellViewInfo class is an ancestor of the TcxSchedulerDayHeaderCellViewInfo class. The latter one provides details for custom painting the day headers (see the TcxScheduler.OnCustomDrawDayHeader event).

The TcxSchedulerHeaderCellViewInfo object is referenced by the AViewInfo parameter of the TcxScheduler.OnCustomDrawResourceHeader event.


TcxSchedulerHeaderCellViewInfo Hierarchy
Hierarchy

TObject

     |

TcxSchedulerCustomViewInfoItem

     |

TcxSchedulerCustomResourceViewInfoItem

     |

TcxSchedulerHeaderCellViewInfo


Properties for TcxSchedulerHeaderCellViewInfo
TcxSchedulerHeaderCellViewInfo Properties

TcxSchedulerHeaderCellViewInfo          Legend

In TcxSchedulerHeaderCellViewInfo

AlignHorz

AlignVert

AutoHeight

ImageIndex

ImagePosition

ImageRect

Images

IsResourceHeader

MultiLine

Neighbors

RotateHeader

RotateText

Selected

SelectionColor

SelectionTextColor

ShowEndEllipsis

TextRect

Derived from TcxSchedulerCustomResourceViewInfoItem

DateTime

Resource

Derived from TcxSchedulerCustomViewInfoItem

Bitmap

Borders

Bounds

Canvas

ClipRect

Color

DisplayText

Font

Painter

TextColor

Transparent

ViewParams

Visible


Methods for TcxSchedulerHeaderCellViewInfo
TcxSchedulerHeaderCellViewInfo Methods

TcxSchedulerHeaderCellViewInfo          Legend

In TcxSchedulerHeaderCellViewInfo

Draw

Derived from TcxSchedulerCustomViewInfoItem

Draw


TcxSchedulerHeaderCellViewInfo.AlignHorz

TcxSchedulerHeaderCellViewInfo          See Also

Specifies the horizontal alignment of the image in the current header’s rectangle.

property AlignHorz: TAlignment;

Description

Use the AlignHorz property to specify the horizontal alignment of the image in the current header’s rectangle.


TcxSchedulerHeaderCellViewInfo.AlignVert

TcxSchedulerHeaderCellViewInfo          See Also

Specifies the vertical alignment of the image in the current header’s rectangle.

property AlignVert: TcxAlignmentVert;

Description

Use the AlignVert property to specify the vertical alignment of the image in the current header’s rectangle.


TcxSchedulerHeaderCellViewInfo.AutoHeight

TcxSchedulerHeaderCellViewInfo          See Also

Gets whether the height of the header’s rectangle will be calculated automatically.

property AutoHeight: Boolean;

Description

If the AutoHeight property’s value is True, then the height of the header’s rectangle will be calculated automatically.

ReadOnly Property


TcxSchedulerHeaderCellViewInfo.ImageIndex

TcxSchedulerHeaderCellViewInfo          See Also

Gets the index of the bitmap used to draw the resource icon.

property ImageIndex: Integer;

Description

Use the ImageIndex property to return the bitmap index of the current header.

ReadOnly Property


TcxSchedulerHeaderCellViewInfo.ImagePosition

TcxSchedulerHeaderCellViewInfo          See Also

Gets where the image is positioned relative to the caption in the current header.

property ImagePosition: TcxSchedulerHeaderImagePosition;

Description

Use the ImagePosition property to return the image position in the current header.

ReadOnly Property


TcxSchedulerHeaderCellViewInfo.ImageRect

TcxSchedulerHeaderCellViewInfo          See Also

Gets the rectangle in which the header icon is drawn.

property ImageRect: TRect;

Description

Use the ImageRect property to return the icon’s rectangle of the current header.

ReadOnly Property


TcxSchedulerHeaderCellViewInfo.Images

TcxSchedulerHeaderCellViewInfo          See Also

Represents the collection of images used to draw the header icons.

property Images: TCustomImageList;

Description

Use the Images property to access the bitmaps collection.

ReadOnly Property


TcxSchedulerHeaderCellViewInfo.IsResourceHeader

TcxSchedulerHeaderCellViewInfo          See Also

Gets whether the current header is the resource header.

property IsResourceHeader: Boolean;

Description

The IsResourceHeader property returns a value of True, if the current header is the resource header.

ReadOnly Property


TcxSchedulerHeaderCellViewInfo.MultiLine

TcxSchedulerHeaderCellViewInfo          See Also

Specifies whether the text in the header’s caption can be wrapped to the caption’s rectangle.

property MultiLine: Boolean;

Description

If the Multiline property’s value is True, then the text will be wrapped. Otherwise the text will reside in a single line. If the text doesn’t fit the rectangle’s width, it will be clipped.


TcxSchedulerHeaderCellViewInfo.Neighbors

TcxSchedulerHeaderCellViewInfo          See Also

Specifies the positions of the adjacent cells.

TcxNeighbor = (nLeft, nTop, nRight, nBottom);

TcxNeighbors = set of TcxNeighbor;

property Neighbors: TcxNeighbors;

Description

Use the Neighbors property to determine the positions of the adjacent cells relative to the current header.


TcxSchedulerHeaderCellViewInfo.RotateHeader

TcxSchedulerHeaderCellViewInfo          See Also

Specifies whether the header’s background is rotated by 90 degrees clockwise.

property RotateHeader: Boolean;

Description

If the RotateHeader property’s value is True, then the header’s background will be rotated.


TcxSchedulerHeaderCellViewInfo.RotateText

TcxSchedulerHeaderCellViewInfo          See Also

Specifies whether the captions in headers are displayed horizontally or vertically.

property RotateText: Boolean;

Description

If the RotateText property’s value is True, then the captions will be shown vertically.


TcxSchedulerHeaderCellViewInfo.Selected

TcxSchedulerHeaderCellViewInfo          See Also

Specifies whether the current header has been selected.

property Selected: Boolean;

Description

If the Selected property’s value is True, then the current header has been selected.


TcxSchedulerHeaderCellViewInfo.SelectionColor

TcxSchedulerHeaderCellViewInfo          See Also

Specifies the rectangle’s background color of the selected header.

property SelectionColor: TColor;

Description

Use the SelectionColor property to specify the rectangle’s background color when the current header is selected.


TcxSchedulerHeaderCellViewInfo.SelectionTextColor

TcxSchedulerHeaderCellViewInfo          See Also

Specifies the caption’s color of the selected header.

property SelectionTextColor: TColor;

Description

Use the SelectionTextColor property to specify the caption’s color when the current header is selected.


TcxSchedulerHeaderCellViewInfo.ShowEndEllipsis

TcxSchedulerHeaderCellViewInfo          See Also

Specifies whether to show the ellipsis button, if the caption’s rectangle is not sufficient to display the cell's text in its entirety.

property ShowEndEllipsis: Boolean;

Description

If the ShowEndEllipsis property’s value is True and the header’s caption is clipped, then the ellipsis button will be shown.


TcxSchedulerHeaderCellViewInfo.TextRect

TcxSchedulerHeaderCellViewInfo          See Also

Gets the rectangle in which the header’s caption will be drawn.

property TextRect: TRect;

Description

Use the TextRect property to return the caption’s rectangle of the current header.

ReadOnly Property


TcxSchedulerHeaderCellViewInfo.Draw

TcxSchedulerHeaderCellViewInfo          See Also

Paints the current header on the ACanvas canvas.

procedure Draw(ACanvas: TcxCanvas); override;

Description

Use the Draw method to render the current header.

The ACanvas parameter specifies the canvas on which the current header will be painted.


TcxSchedulerMonthDayContentCellViewInfo
TcxSchedulerMonthDayContentCellViewInfo Object

Hierarchy          Properties          Methods

The TcxSchedulerMonthDayContentCellViewInfo class contains details required to render the month day cell in the weeks or year view.

Unit

cxSchedulerCustomResourceView

TcxSchedulerMonthDayContentCellViewInfo = class(TcxSchedulerContentCellViewInfo)

Description

The information provided is used in the TcxScheduler.OnCustomDrawContent event handler, to custom paint the month day under the weeks and year views.

The TcxSchedulerMonthDayContentCellViewInfo object is referenced by the event’s AViewInfo parameter.

Note: the AViewInfo parameter’s type is TcxSchedulerContentCellViewInfo.  To use TcxSchedulerMonthDayContentCellViewInfo members, downcast AViewInfo to the TcxSchedulerMonthDayContentCellViewInfo subtype.


TcxSchedulerMonthDayContentCellViewInfo Hierarchy
Hierarchy

TObject

     |

TcxSchedulerCustomViewInfoItem

     |

TcxSchedulerCustomResourceViewInfoItem

     |

TcxSchedulerContentCellViewInfo

     |

TcxSchedulerMonthDayContentCellViewInfo


Properties for TcxSchedulerMonthDayContentCellViewInfo
TcxSchedulerMonthDayContentCellViewInfo Properties

TcxSchedulerMonthDayContentCellViewInfo          Legend

In TcxSchedulerMonthDayContentCellViewInfo

Selected

SelectionColor

SelectionTextColor

SmallFont

SmallTextFont

Derived from TcxSchedulerContentCellViewInfo

BorderColor

ShowTimeLine

TimeEvent

TimeLineBorders

TimeLineParams

TimeStart

Derived from TcxSchedulerCustomResourceViewInfoItem

Resource

TimeFinish

Derived from TcxSchedulerCustomViewInfoItem

Bitmap

Borders

Bounds

Canvas

ClipRect

Color

Font

Painter

TextColor

Transparent

ViewParams

Visible


Methods for TcxSchedulerMonthDayContentCellViewInfo
TcxSchedulerMonthDayContentCellViewInfo Methods

TcxSchedulerMonthDayContentCellViewInfo          Legend

Derived from TcxSchedulerCustomViewInfoItem

Draw


TcxSchedulerMonthDayContentCellViewInfo.Selected

TcxSchedulerMonthDayContentCellViewInfo          See Also

Gets whether the currently processed month day is selected.

property Selected: Boolean;

Description

If the currently processed day has been selected, the Selected property returns True; otherwise – False.

ReadOnly Property


TcxSchedulerMonthDayContentCellViewInfo.SelectionColor

TcxSchedulerMonthDayContentCellViewInfo          See Also

Specifies the cell’s background color of the selected month day.

property SelectionColor: TColor;

Description

To check whether the currently processed day has been selected, use the Selected property.


TcxSchedulerMonthDayContentCellViewInfo.SelectionTextColor

TcxSchedulerMonthDayContentCellViewInfo          See Also

Specifies the caption’s color of the selected month day.

property SelectionTextColor: TColor;

Description

If the currently processed month day is not selected, then the color for its caption is specified via the TextColor property.

The SelectionTextColor property’s value is applied to the selected day.  To check whether the currently processed day is selected, use the Selected property.


TcxSchedulerMonthDayContentCellViewInfo.SmallFont

TcxSchedulerMonthDayContentCellViewInfo          See Also

Gets whether the small font is used to render the month day caption.

property SmallFont: Boolean;

Description

The small font’s size is 2/3 of the font size determined by the Font property.  It’s used, for example, to render the day captions in the year view.

The SmallFont property returns True if the month day caption is to be painted with the small font.

ReadOnly Property


TcxSchedulerMonthDayContentCellViewInfo.SmallTextFont

TcxSchedulerMonthDayContentCellViewInfo          See Also

Specifies font settings for the month day caption if it’s rendered with the small font.

property SmallTextFont: TFont;

Description

Font settings specified by the SmallTextFont property are only applied to the day caption, if it’s rendered with the small font.  The small font’s size is 2/3 the size of the font determined by the Font property.

To check whether the day caption is to be drawn with the small font, use the SmallFont property.


TcxSchedulerMoreEventsButtonViewInfo
TcxSchedulerMoreEventsButtonViewInfo Object

Hierarchy          Properties          Methods         See Also

The TcxSchedulerMoreEventsButtonViewInfo class contains the details required to render the "more events" button.

Unit

cxSchedulerCustomResourceView

TcxSchedulerMoreEventsButtonViewInfo = class(TcxSchedulerCustomResourceViewInfoItem)

Description

The information stored is used in the TcxScheduler.OnCustomDrawButton event handler to custom paint the "more events" button.

The TcxSchedulerMoreEventsButtonViewInfo object is referenced by the AViewInfo parameter of the TcxScheduler.OnCustomDrawButton event.


TcxSchedulerMoreEventsButtonViewInfo Hierarchy
Hierarchy

TObject

     |

TcxSchedulerCustomViewInfoItem

     |

TcxSchedulerCustomResourceViewInfoItem

     |

TcxSchedulerMoreEventsButtonViewInfo


Properties for TcxSchedulerMoreEventsButtonViewInfo
TcxSchedulerMoreEventsButtonViewInfo Properties

TcxSchedulerMoreEventsButtonViewInfo          Legend

In TcxSchedulerMoreEventsButtonViewInfo

Event

IsDown

Derived from TcxSchedulerCustomResourceViewInfoItem

DateTime

Resource

Derived from TcxSchedulerCustomViewInfoItem

Bitmap

Borders

Bounds

Canvas

ClipRect

Color

Font

Painter

TextColor

Transparent

ViewParams

Visible


Methods for TcxSchedulerMoreEventsButtonViewInfo
TcxSchedulerMoreEventsButtonViewInfo Methods

TcxSchedulerMoreEventsButtonViewInfo          Legend

Derived from TcxSchedulerCustomViewInfoItem

Draw


TcxSchedulerMoreEventsButtonViewInfo.Event

TcxSchedulerMoreEventsButtonViewInfo

References a user event, which is beyond the scheduling area’s boundaries.

property Event: TcxSchedulerEvent;


TcxSchedulerMoreEventsButtonViewInfo.IsDown

TcxSchedulerMoreEventsButtonViewInfo          See Also

Gets whether the arrow in the "more events" button currently being drawn points to the south or the north.

property IsDown: Boolean;

Description

The "more events" button is displayed, if user events are outside the screen region (off the upper or the lower side).

If the IsDown property’s value is True, then the "more events" button’s arrow points to south.

ReadOnly Property


TcxSchedulerResourceViewInfo
TcxSchedulerResourceViewInfo Object

Hierarchy          Properties         See Also

The TcxSchedulerResourceViewInfo class represents basic information on resources.

Unit

cxSchedulerCustomResourceView

TcxSchedulerResourceViewInfo = class(TObject)

Description

If custom painting (see the Custom Drawing topic), an instance of the TcxSchedulerResourceViewInfo class can be used to get details on the current resource object (see the ResourceItem property), such as the caption (as well as its rectangle) and icon for the resource header (see the Caption, TextRect, Images, ImageIndex and ImagePosition properties), its unique identifier (see the ResourceID property) and the color of the resource group (see the Color property).

The TcxSchedulerResourceViewInfo object is referenced by the TcxSchedulerCustomResourceViewInfoItem.Resource property.


TcxSchedulerResourceViewInfo Hierarchy
Hierarchy

TObject

     |

TcxSchedulerResourceViewInfo


Properties for TcxSchedulerResourceViewInfo
TcxSchedulerResourceViewInfo Properties

TcxSchedulerResourceViewInfo          Legend

In TcxSchedulerResourceViewInfo

Caption

Color

ImageIndex

ImagePosition

Images

ResourceID

ResourceItem

TextRect


TcxSchedulerResourceViewInfo.Caption

TcxSchedulerResourceViewInfo          See Also

Gets the caption of the current resource.

property Caption: string;

Description

Use the Caption property to return the caption of the current resource.

ReadOnly Property


TcxSchedulerResourceViewInfo.Color

TcxSchedulerResourceViewInfo          See Also

Gets the color of the current resource.

property Color: TColor;

Description

Use the Color property to return the color of the current resource.

ReadOnly Property


TcxSchedulerResourceViewInfo.ImageIndex

TcxSchedulerResourceViewInfo          See Also

Gets the index of the bitmap used to draw the resource icon.

property ImageIndex: Integer;

Description

Use the ImageIndex property to return the bitmap index of the current resource.

ReadOnly Property


TcxSchedulerResourceViewInfo.ImagePosition

TcxSchedulerResourceViewInfo          See Also

Gets where the resource’s icon is positioned relative to the resource’s name in the current resource header.

property ImagePosition: TcxSchedulerHeaderImagePosition;

Description

Use the ImagePosition property to return the image’s position in the current resource header.

ReadOnly Property


TcxSchedulerResourceViewInfo.Images

TcxSchedulerResourceViewInfo          See Also

Represents a collection of images used to draw the resource icons.

property Images: TCustomImageList;

Description

Use the Images property to access the resource icons collection.

ReadOnly Property


TcxSchedulerResourceViewInfo.ResourceID

TcxSchedulerResourceViewInfo          See Also

Gets the current resource’s unique identifier.

property ResourceID: Variant;

Description

Use the ResourceID property to return the unique identifier of the current resource.

ReadOnly Property


TcxSchedulerResourceViewInfo.ResourceItem

TcxSchedulerResourceViewInfo          See Also

Represents the current resource.

property ResourceItem: TcxSchedulerStorageResourceItem;

Description

Use the ResourceItem property to access the TcxSchedulerStorageResourceItem object.

ReadOnly Property


TcxSchedulerResourceViewInfo.TextRect

TcxSchedulerResourceViewInfo          See Also

Specifies the coordinates of the rectangle in which the resource caption will be drawn.

property TextRect: TRect;

Description

Use the TextRect property to specify the caption’s rectangle for the current resource.


TcxSchedulerTimeRulerCellViewInfo
TcxSchedulerTimeRulerCellViewInfo Object

Hierarchy          Properties          Methods         See Also

The TcxSchedulerTimeRulerCellViewInfo class contains the details required to render the time ruler(s).

Unit

cxSchedulerCustomResourceView

TcxSchedulerTimeRulerCellViewInfo = class(TcxSchedulerCustomViewInfoItem)

Description

The information stored is used in the TcxSchedulerDayView.OnCustomDrawTimeRuler event handler to custom paint the time ruler(s).

The TcxSchedulerTimeRulerCellViewInfo object is referenced by the AViewInfo parameter of the TcxSchedulerDayView.OnCustomDrawTimeRuler event.


TcxSchedulerTimeRulerCellViewInfo Hierarchy
Hierarchy

TObject

     |

TcxSchedulerCustomViewInfoItem

     |

TcxSchedulerTimeRulerCellViewInfo


Properties for TcxSchedulerTimeRulerCellViewInfo
TcxSchedulerTimeRulerCellViewInfo Properties

TcxSchedulerTimeRulerCellViewInfo          Legend

In TcxSchedulerTimeRulerCellViewInfo

AdditionalTimeZone

Bounds

DisplayTexts

HasAdditionalTimeZone

Hour

ShowMinutes

TimeZone

Derived from TcxSchedulerCustomViewInfoItem

Bitmap

Borders

Bounds

Canvas

ClipRect

Color

Font

Painter

TextColor

Transparent

ViewParams

Visible


Methods for TcxSchedulerTimeRulerCellViewInfo
TcxSchedulerTimeRulerCellViewInfo Methods

TcxSchedulerTimeRulerCellViewInfo          Legend

Derived from TcxSchedulerCustomViewInfoItem

Draw


TcxSchedulerTimeRulerCellViewInfo.AdditionalTimeZone

TcxSchedulerTimeRulerCellViewInfo          See Also

Gets the second time ruler’s number.

property AdditionalTimeZone: Integer;

Description

Use the AdditionalTimeZone property to return the second time ruler’s number.

ReadOnly Property


TcxSchedulerTimeRulerCellViewInfo.Bounds

TcxSchedulerTimeRulerCellViewInfo          See Also

Gets the rectangle of the current time ruler.

property Bounds[ACurrentTimeZone:Boolean]: TRect;

Description

Use the Bounds property to return the coordinates of the current time ruler.

The ACurrentTimeZone parameter specifies the time ruler. A value of True means the primary time ruler. And a value of False – the second time ruler.

Note: if the second time ruler is not currently shown in the scheduling area (the TcxSchedulerOptionsView.ShowAdditionalTimeZone property is set to False), then the rectangle of the primary time ruler will be returned (if the ACurrentTimeZone parameter is set to False).

ReadOnly Property


TcxSchedulerTimeRulerCellViewInfo.DisplayTexts

TcxSchedulerTimeRulerCellViewInfo          See Also

Gets the output text displayed in the current time ruler.

property DisplayTexts[ACurrentTimeZone:Boolean]: string;

Description

The DisplayTexts property returns the text which is currently drawn in the time ruler (a time ruler’s name, if presented, or an hour). Minutes, if they are shown, are not retrieved by this property.

The ACurrentTimeZone parameter specifies the time ruler. A value of True means the primary time ruler. And a value of False – the second time ruler.

Note: if the second time ruler is not currently shown in the scheduling area (the TcxSchedulerOptionsView.ShowAdditionalTimeZone property is set to False), then an empty string will be returned (if the ACurrentTimeZone parameter is set to False).

ReadOnly Property


TcxSchedulerTimeRulerCellViewInfo.HasAdditionalTimeZone

TcxSchedulerTimeRulerCellViewInfo          See Also

Gets whether the second time ruler is displayed in the scheduling area.

property HasAdditionalTimeZone: Boolean;

Description

If the HasAdditionalTimeZone property’s value is set to True, then the second time ruler is visible in the scheduling area.

ReadOnly Property


TcxSchedulerTimeRulerCellViewInfo.Hour

TcxSchedulerTimeRulerCellViewInfo          See Also

Gets the primary time ruler’s hour which is currently being drawn.

property Hour: Integer;

Description

Use the Hour property to return the primary time ruler’s hour which is currently being drawn.

ReadOnly Property


TcxSchedulerTimeRulerCellViewInfo.ShowMinutes

TcxSchedulerTimeRulerCellViewInfo          See Also

Specifies whether minutes are shown in the time ruler(s).

property ShowMinutes: Boolean;

Description

If the ShowMinutes property’s value is True, then minutes are visible in the time ruler(s).

Note: minutes are only displayed if the TcxSchedulerDayView.TimeScale property’s value is less than 60.


TcxSchedulerTimeRulerCellViewInfo.TimeZone

TcxSchedulerTimeRulerCellViewInfo          See Also

Returns the time zone number for the primary time ruler.

property TimeZone: Integer;

ReadOnly Property


TcxSchedulerEventImageType
TcxSchedulerEventImageType type

See Also

Enumerates the available types of icons that are shown within the user event’s rectangle.

Unit

cxSchedulerCustomResourceView

TcxSchedulerEventImageType = (eitReminder, eitRecurrence, eitCustomOccurrence, eitCustom);

Description

Values include:

Value	Meaning
iitReminder	Specifies a bell icon
iitRecurrence	Specifies a chasing-arrows icon
iitCustomOccurrence	Specifies a chasing-arrows icon with a strike-through
iitCustom	Specifies a user-defined icon


TcxSchedulerEventImagesLayout
TcxSchedulerEventImagesLayout type

See Also

Enumerates the available types of icon layout in the user event’s rectangle.

Unit

cxSchedulerCustomResourceView

TcxSchedulerEventImagesLayout = (eilAuto, eilHorizontal, eilVertical);

Description

Positioning icons within the user event will be in effect when scheduling in the day or timegrid view (if the TcxSchedulerTimeGridView.EventDetailInfo property is set to True).

Values include:

Value	Meaning
eilAuto	Icons are arranged along the X and/or Y axis depending upon the space available
eilHorizontal	Icons are arranged horizontally
eilVertical	Icons are arranged vertically


cxDateNavigator Unit Overview
cxDateNavigator Unit

Classes

TcxCustomDateNavigator

TcxDateNavigator


TcxCustomDateNavigator
TcxCustomDateNavigator Object

Hierarchy          Properties          Methods          Events

The TcxCustomDateNavigator is the base class for classes that implement the standalone cxDateNavigator control in which the month(s) view is exposed.

Unit

cxDateNavigator

TcxCustomDateNavigator = class(TcxContainer)

Description

The cxDateNavigator control provides a graphical interface to end-users to view dates currently shown in the control or manipulate on them.

Do not use this class directly. Use its descendants instead.


TcxCustomDateNavigator Hierarchy
Hierarchy

TcxContainer

     |

TcxCustomDateNavigator


Properties for TcxCustomDateNavigator
TcxCustomDateNavigator Properties

TcxCustomDateNavigator          Legend

In TcxCustomDateNavigator

ColCount

Date

EventDays

FirstDate

FirstWeekOfYear

HitTest

LastDate

RealFirstDate

RealLastDate

RowCount

Scheduler

SelectedDays

SelectionIsWeeks

SelectPeriod

ShowDatesContainingEventsInBold

ShowWeekNumbers

Storage

Styles

UnlimitedSelection


Methods for TcxCustomDateNavigator
TcxCustomDateNavigator Methods

TcxCustomDateNavigator          Legend

In TcxCustomDateNavigator

 CalcSize

 LayoutChanged


Events for TcxCustomDateNavigator
TcxCustomDateNavigator Events

TcxCustomDateNavigator          Legend

In TcxCustomDateNavigator

OnCustomDrawBackground

OnCustomDrawContent

OnCustomDrawDayCaption

OnCustomDrawDayNumber

OnCustomDrawHeader

OnPeriodChanged

OnSelectionChanged


TcxCustomDateNavigator.ColCount

TcxCustomDateNavigator          See Also

Specifies the number of months that appear in a row in the cxDateNavigator control.

property ColCount: Integer;

Description

If the value of the ColCount property is 1 and the value of the RowCount property is 1 only one month appears in the cxDateNavigator control.

The default value of the ColCount property is 1.


TcxCustomDateNavigator.Date

TcxCustomDateNavigator

Specifies the selected date or the first date in the range of selected dates.

property Date: TDateTime;

Description

Specifies the date selected by an end-user, or the first date in a range of dates selected by the end-user by pressing and holding down the Ctrl or Shift key while clicking on the desired dates.

Note: an end-user can select more than one date if the value of the SelectPeriod property is True.


TcxCustomDateNavigator.EventDays

TcxCustomDateNavigator          See Also

Represents a collection of dates containing user events.

property EventDays: TcxSchedulerDateList;

Description

The EventDays collection contains the days in the months that are visible in the cxDateNavigator control, and in addition the days in the two months either side of the displayed range (the month before the first visible month and the month after the last visible month). Use the EventDays property to determine which dates contain user events.

ReadOnly Property


TcxCustomDateNavigator.FirstDate

TcxCustomDateNavigator          See Also

Specifies the first day of the month(s) to be displayed in the cxDateNavigator control.

property FirstDate: TDateTime;

Description

Use the FirstDate property to specify the first day of the month(s) to be displayed in the cxDateNavigator control.


TcxCustomDateNavigator.FirstWeekOfYear

TcxCustomDateNavigator

Specifies which week should be considered to be the beginning of a year.

property FirstWeekOfYear: TcxFirstWeekOfYear;

Description

The available types for a year's first week are specified by the TcxFirstWeekOfYear enumeration.

The default value of the FirstWeekOfYear property is fwySystem.


TcxCustomDateNavigator.HitTest

TcxCustomDateNavigator

References the TcxSchedulerDateNavigatorHitTest object that contains information about the cxDateNavigator control’s element that the mouse pointer is currently positioned over.

property HitTest: TcxSchedulerDateNavigatorHitTest;

Description

Use the HitTest property to determine which of the cxDateNavigator control’s element the mouse pointer is currently positioned over.

ReadOnly Property


TcxCustomDateNavigator.LastDate

TcxCustomDateNavigator          See Also

Gets the last day of the month(s) displayed in the cxDateNavigator control.

property LastDate: TDateTime;

Description

Use the LastDate property to determine the last day of the month(s) displayed in the cxDateNavigator control.

ReadOnly Property


TcxCustomDateNavigator.RealFirstDate

TcxCustomDateNavigator          See Also

Gets the first date displayed in the cxDateNavigator control.

property RealFirstDate: TDateTime;

Description

The first date displayed in the cxDateNavigator control is the day the current month’s first week starts with. The first day of the current month and the first day of the current month’s first week are not the same. The first day of the current month’s first week can be in the previous month.

ReadOnly Property


TcxCustomDateNavigator.RealLastDate

TcxCustomDateNavigator          See Also

Gets the last date displayed in the cxDateNavigator control.

property RealLastDate: TDateTime;

Description

The last date displayed in the cxDateNavigator control is the day the current month’s last week ends with. The last day of the current month and the last day of the current month’s last week are not the same. The last day of the current month’s last week can be in the next month.

ReadOnly Property


TcxCustomDateNavigator.RowCount

TcxCustomDateNavigator          See Also

Specifies the number of months that appear in a column in the cxDateNavigator control.

property RowCount: Integer;

Description

If the value of the RowCount property is 1 and the value of the ColCount property is 1 only one month appears in the cxDateNavigator control.

The default value of the RowCount property is 1.


TcxCustomDateNavigator.Scheduler

TcxCustomDateNavigator

Represents the scheduler control which the cxDateNavigator control relates to.

property Scheduler: TcxCustomScheduler;

Description

The scheduler control provides a graphical interface to end-users for scheduling user events.

Use the Scheduler property to connect to or to access the scheduler control instance.

Note: when the above controls are connected all the operations performed in one control are fully synchronized with the other. The synchronization between them is only supported if the cxDateNavigator control is connected to the scheduler through the Scheduler property and it doesn’t depend on whether the cxDateNavigator control is bound to the storage (see the Storage property) or not.


TcxCustomDateNavigator.SelectedDays

TcxCustomDateNavigator

Represents the collection of dates displayed in the cxDateNavigator control.

property SelectedDays: TcxSchedulerDateList;

Description

Use the SelectedDays property to access the TcxSchedulerDateList collection to determine which dates are currently displayed in the cxDateNavigator control.

ReadOnly Property


TcxCustomDateNavigator.SelectionIsWeeks

TcxCustomDateNavigator

Specifies whether more than one week is selected in the cxDateNavigator control.

property SelectionIsWeeks: Boolean;

Description

If the value of the SelectionIsWeeks property is True, two or more weeks are currently selected in the cxDateNavigator control. Otherwise – False.


TcxCustomDateNavigator.SelectPeriod

TcxCustomDateNavigator          See Also

Specifies whether an end-user can select more than one date in the cxDateNavigator control at a time.

property SelectPeriod: Boolean;

Description

If the value of the SelectPeriod property is True an end-user can select any number of dates by clicking them with the mouse while holding down the Ctrl or Shift key. If the value of the SelectPeriod property is False only one date can be selected at a time.

The default value of the SelectPeriod property is True.


TcxCustomDateNavigator.ShowDatesContainingEventsInBold

TcxCustomDateNavigator          See Also

Specifies whether days containing user events are shown in bold in the cxDateNavigator control.

property ShowDatesContainingEventsInBold: Boolean;

Description

If the value of the ShowDatesContainingEventsInBold property is True days containing user event are shown in bold in the cxDateNavigator control.

The default value of the ShowDatesContainingEventsInBold property is True.


TcxCustomDateNavigator.ShowWeekNumbers

TcxCustomDateNavigator

Specifies whether week numbers in the cxDateNavigator control are shown.

property ShowWeekNumbers: Boolean;

Description

If the value of the ShowWeekNumbers property is True the number of each week in the current year (for the weeks displayed in the cxDateNavigator control) appear on the left side of the cxDateNavigator control.

The default value of the ShowWeekNumbers property is True.


TcxCustomDateNavigator.Storage

TcxCustomDateNavigator

Represents the persistence manager component.

property Storage: TcxCustomSchedulerStorage;

Description

The persistence manager component is used to persist the scheduler’s data in a data store.

Use the Storage property to plug the cxShedulerStorage component (see TcxSchedulerStorage) or cxSchedulerDBStorage component (see TcxSchedulerDBStorage) into the cxDateNavigator control.


TcxCustomDateNavigator.Styles

TcxCustomDateNavigator

Represents the style settings for the cxDateNavigator control.

property Styles: TcxSchedulerDateNavigatorStyles;

Description

Each element’s appearance can be specified by the following style attributes – background color or bitmap, text color and font details. The TcxSchedulerDateNavigatorStyles provides styles for the cxDateNavigator control’s elements - the background, calendar, header and selected dates. Use the Styles property to specify styles for the cxDateNavigator control’s elements.


TcxCustomDateNavigator.UnlimitedSelection

TcxCustomDateNavigator          See Also

Specifies whether an end-user is limited to selecting up to fourteen days (on a day basis) and up to six weeks (on a week basis) or not.

property UnlimitedSelection: Boolean;

Description

Set the UnlimitedSelection property to True to allow an end-user to select an unlimited number of days (if adjacent or non-adjacent days are being selected) or to select an unlimited number of weeks (if selection is by weeks) in the cxDateNavigator control.

Otherwise an end-user can only select up to fourteen days or six weeks at a time.

Note: use the UnlimitedSelection property only when the cxDateNavigator control is not connected to the scheduler (using the Scheduler property).

The default value of the UnlimitedSelection property is False.


TcxCustomDateNavigator.CalcSize

TcxCustomDateNavigator          See Also

Calculates the rectangle of the cxDateNavigator control.

function CalcSize(AColCount, ARowCount: Integer): TRect;

Description

The size of the rectangle depends on the number of months that appear in the cxDateNavigator control. The rectangle calculated has no gap between month(s) and its boundaries.

Use the CalcSize method to calculate the rectangle of the cxDateNavigator control.

The AColCount parameter specifies the number of months that will appear in a row;

The ARowCount parameter specifies the number of months that will appear in a column in the cxDateNavigator control.


TcxCustomDateNavigator.LayoutChanged

TcxCustomDateNavigator

Invalidates the cxDateNavigator control to mirror any changes made to its layout.

procedure LayoutChanged;

Description

Use the LayoutChanged method to indicate that the cxDateNavigator control’s layout has been changed and it needs to be repainted.


TcxCustomDateNavigator.OnCustomDrawBackground

TcxCustomDateNavigator          See Also

Fires before the cxDateNavigator control’s background is drawn.

type

  TcxSchedulerDateNavigatorCustomDrawBackgroundEvent = procedure(Sender: TObject; ACanvas: TcxCanvas; const ABounds: TRect; var AViewParams: TcxViewParams; var ADone: Boolean) of object;

property OnCustomDrawBackground: TcxSchedulerDateNavigatorCustomDrawBackgroundEvent;

Description

Implement the OnCustomDrawBackground event handler to custom paint the cxDateNavigator control’s background.

The Sender parameter specifies the cxDateNavigator control;

The ACanvas parameter specifies the drawing surface;

The ABounds parameter specifies the control’s bounding rectangle;

The AViewParams parameter specifies the control’s style attributes;

The ADone parameter specifies whether default painting is required. Set ADone to True to prevent default painting being performed.


TcxCustomDateNavigator.OnCustomDrawContent

TcxCustomDateNavigator          See Also

Fires before the cxDateNavigator month(s)’ calendar(s) is drawn.

type

  TcxSchedulerDateNavigatorCustomDrawContentEvent = procedure(Sender: TObject; ACanvas: TcxCanvas; AViewInfo: TcxSchedulerDateNavigatorMonthContentViewInfo; var ADone: Boolean) of object;

property OnCustomDrawContent: TcxSchedulerDateNavigatorCustomDrawContentEvent;

Description

Implement the OnCustomDrawContent event handler to custom paint the cxDateNavigator month(s)’ calendar(s).

The Sender parameter specifies the cxDateNavigator control;

The ACanvas parameter specifies the drawing surface;

The AViewInfo parameter provides information for rendering the calendar;

The ADone parameter specifies whether default painting is required. Set ADone to True to prevent default painting from being performed.

Note: if the Transparent property of the AViewInfo object is set to True within the OnCustomDrawContent event handler, the OnCustomDrawDayCaption and OnCustomDrawDayNumber event handlers will do transparent painting, if implemented. So, there is no need to set the Transparent property of the appropriate AViewInfo objects to True respectively within the OnCustomDrawDayCaption and OnCustomDrawDayNumber event handlers. In any case, if you need to completely repaint shapes specified for OnCustomDrawDayCaption and OnCustomDrawDayNumber, just set the Transparent property of the appropriate AViewInfo objects to False within these event handlers.


TcxCustomDateNavigator.OnCustomDrawDayCaption

TcxCustomDateNavigator          See Also

Fires before each caption of a day in the cxDateNavigator control is drawn.

type

  TcxSchedulerDateNavigatorCustomDrawDayCaptionEvent = procedure(Sender: TObject; ACanvas: TcxCanvas; AViewInfo: TcxSchedulerDateNavigatorDayCaptionViewInfo; var ADone: Boolean) of object;

property OnCustomDrawDayCaption: TcxSchedulerDateNavigatorCustomDrawDayCaptionEvent;

Description

Implement the OnCustomDrawDayCaption event handler to custom paint the captions of the days in the cxDateNavigator control.

The Sender parameter specifies the cxDateNavigator control;

The ACanvas parameter specifies the drawing surface;

The AViewInfo parameter provides information for rendering the caption;

The ADone parameter specifies whether default painting is required. Set ADone to True to prevent default painting.

Note: if the Transparent property of the proprietary AViewInfo object is set to True within the OnCustomDrawContent event handler, the OnCustomDrawDayCaption and OnCustomDrawDayNumber event handlers will do transparent painting, if implemented. So, there is no need to set the Transparent property of the appropriate AViewInfo objects to True respectively within the OnCustomDrawDayCaption and OnCustomDrawDayNumber event handlers. In any case, if you need to completely repaint shapes specified for OnCustomDrawDayCaption and OnCustomDrawDayNumber, just set the Transparent property of the appropriate AViewInfo objects to False within these event handlers.


TcxCustomDateNavigator.OnCustomDrawDayNumber

TcxCustomDateNavigator          See Also

Fires before a day in the cxDateNavigator control is drawn.

type

  TcxSchedulerDateNavigatorCustomDrawDayNumberEvent = procedure(Sender: TObject; ACanvas: TcxCanvas; AViewInfo: TcxSchedulerDateNavigatorDayNumberViewInfo; var ADone: Boolean) of object;

property OnCustomDrawDayNumber: TcxSchedulerDateNavigatorCustomDrawDayNumberEvent;

Description

Implement the OnCustomDrawDayNumber event handler to custom paint the dates in the cxDateNavigator control.

The Sender parameter specifies the cxDateNavigator control;

The ACanvas parameter specifies the drawing surface;

The AViewInfo parameter provides information for rendering the date cell;

The ADone parameter specifies whether default painting is required. Set ADone to True to prevent default painting.

Note: if the Transparent property of the proprietary AViewInfo object is set to True within the OnCustomDrawContent event handler, the OnCustomDrawDayCaption and OnCustomDrawDayNumber event handlers will do transparent painting, if implemented. So, there is no need to set the Transparent property of the appropriate AViewInfo objects to True respectively within the OnCustomDrawDayCaption and OnCustomDrawDayNumber event handlers. In any case, if you need to completely repaint shapes specified for OnCustomDrawDayCaption and OnCustomDrawDayNumber, just set the Transparent property of the appropriate AViewInfo objects to False within these event handlers.


TcxCustomDateNavigator.OnCustomDrawHeader

TcxCustomDateNavigator          See Also

Fires before the cxDateNavigator control’s month(s) header is drawn.

type

  TcxSchedulerDateNavigatorCustomDrawHeaderEvent = procedure(Sender: TObject; ACanvas: TcxCanvas; AViewInfo: TcxSchedulerDateNavigatorMonthHeaderViewInfo; var ADone: Boolean) of object;

property OnCustomDrawHeader: TcxSchedulerDateNavigatorCustomDrawHeaderEvent;

Description

Implement the OnCustomDrawHeader event handler to custom paint the cxDateNavigator control’s month(s) header.

The Sender parameter specifies the cxDateNavigator control;

The ACanvas parameter specifies the drawing surface;

The AViewInfo parameter provides information for rendering the month header;

The ADone parameter specifies whether default painting is required. Set ADone to True to prevent default painting being performed.


TcxCustomDateNavigator.OnPeriodChanged

TcxCustomDateNavigator

Fires before a different month(s) is shown in the cxDateNavigator control.

type

  TcxSchedulerPeriodChangedEvent = procedure(Sender: TObject; const AStart, AFinish: TDateTime) of object;

property OnPeriodChanged: TcxSchedulerPeriodChangedEvent;

Description

An end-user can change the month(s) shown in the cxDateNavigator control.

Implement the OnPeriodChanged event handler to customize the behavior when the month(s) shown is changed in the cxDateNavigator control.

The Sender parameter specifies the cxDateNavigator control;

The AStart and AFinish parameters specify the first and last dates that are visible in the cxDateNavigator control, respectively.


TcxCustomDateNavigator.OnSelectionChanged

TcxCustomDateNavigator

Fires when a different date(s) is selected in the cxDateNavigator control.

type

  TcxSchedulerPeriodChangedEvent = procedure(Sender: TObject; const AStart, AFinish: TDateTime) of object;

property OnSelectionChanged: TcxSchedulerPeriodChangedEvent;

Description

Implement the OnSelectionChanged event handler to customize the behavior when a date(s) is selected in the cxDateNavigator control.

The Sender parameter specifies the cxDateNavigator control;

The AStart and AFinish parameters specify the first and last dates that are selected in the cxDateNavigator control, respectively.


TcxDateNavigator
 TcxDateNavigator Object

Hierarchy          Properties          Methods          Events

The TcxDateNavigator implements the standalone Date Navigator control where the month(s) view is exposed.

Unit

cxDateNavigator

TcxDateNavigator = class(TcxCustomDateNavigator)

Description

The TcxDateNavigator control provides a graphical interface to end-users to view dates currently shown in the control or manipulate on them.

To assign the TcxDateNavigator control to the scheduler use the Scheduler property. In this case all operations performed will be synchronized between controls.


TcxDateNavigator Hierarchy
Hierarchy

TcxContainer

     |

TcxCustomDateNavigator

     |

TcxDateNavigator


Properties for TcxDateNavigator
TcxDateNavigator Properties

TcxDateNavigator          Legend

Derived from TcxCustomDateNavigator

ColCount

Date

EventDays

FirstDate

FirstWeekOfYear

HitTest

LastDate

RealFirstDate

RealLastDate

RowCount

Scheduler

SelectedDays

SelectionIsWeeks

SelectPeriod

ShowDatesContainingEventsInBold

ShowWeekNumbers

Storage

Styles

UnlimitedSelection


Methods for TcxDateNavigator
TcxDateNavigator Methods

TcxDateNavigator          Legend

Derived from TcxCustomDateNavigator

 CalcSize

 LayoutChanged


Events for TcxDateNavigator
TcxDateNavigator Events

TcxDateNavigator          Legend

Derived from TcxCustomDateNavigator

OnCustomDrawBackground

OnCustomDrawContent

OnCustomDrawDayCaption

OnCustomDrawDayNumber

OnCustomDrawHeader

OnPeriodChanged

OnSelectionChanged


cxSchedulerOutlookExchange Unit Overview
cxSchedulerOutlookExchange Unit

Other Types

TcxAcceptAppointmentItemImportFunc

TcxAcceptEventExportFunc

TcxAppointmentItemToEventProc

TcxEventToAppointmentItemProc

TcxSchedulerExchangeProgressProc

Routines

cxSchedulerExportToOutlook

cxSchedulerImportFromOutlook

cxSchedulerSynchronizeOutlookWithStorage

cxSchedulerSynchronizeStorageWithOutlook


TcxAcceptAppointmentItemImportFunc
TcxAcceptAppointmentItemImportFunc type

See Also

Provides a callback reference to a function that verifies whether the Microsoft Outlook® item can be imported before it is actually imported.

Unit

cxSchedulerOutlookExchange

TcxAcceptAppointmentItemImportFunc = function(const AppointmentItem: OleVariant): Boolean;

Description

The TcxAcceptAppointmentItemImportFunc function reference enables a user-defined validation function to be implemented which for example, checks that the Microsoft Outlook® items match a particular criteria prior to them being imported into the scheduler. The function implemented should return a value of True to allow the items to be imported. If the conditions aren't met False must be returned to cancel the import.

The AppointmentItem parameter specifies the item, which is going to be imported into the scheduler.


TcxAcceptEventExportFunc
TcxAcceptEventExportFunc type

See Also

Provides a callback reference to a function that verifies whether the scheduler’s user event can be exported to Microsoft Outlook® before it is actually exported.

Unit

cxSchedulerOutlookExchange

TcxAcceptEventExportFunc = function(AEvent: TcxSchedulerEvent): Boolean;

Description

The TcxAcceptEventExportFunc function reference enables a user-defined validation function to be implemented which for example, checks that the scheduler’s user events match a particular criteria prior to these user events being exported to Microsoft Outlook®. The function implemented should return a value of True to allow the user events to be exported. If the conditions required aren't met False must be returned to cancel the export.

The AEvent parameter specifies the scheduler’s user event, which will be exported to Microsoft Outlook®.


TcxAppointmentItemToEventProc
TcxAppointmentItemToEventProc type

See Also

Provides a callback reference to a procedure that performs conversion operations on the imported user events when they are about to be serialized to the scheduler’s storage.

Unit

cxSchedulerOutlookExchange

TcxAppointmentItemToEventProc = procedure(const AppointmentItem: OleVariant; AEvent: TcxSchedulerEvent);

Description

Use the TcxAppointmentItemToEventProc reference to implement a procedure that can for instance, be used to perform additional conversion operations on the user events (if required) before they are posted to the scheduler’s data store.

The AppointmentItem parameter specifies the item which is to be imported from Microsoft Outlook®;

The AEvent parameter specifies the scheduler’s user event, which mirrors the AppointmentItem.


TcxEventToAppointmentItemProc
TcxEventToAppointmentItemProc type

See Also

Provides a callback reference to a procedure that performs conversion operations on AppointmentItem items when they are going to be imported into Microsoft Outlook®.

Unit

cxSchedulerOutlookExchange

TcxEventToAppointmentItemProc = procedure(AEvent: TcxSchedulerEvent; const AppointmentItem: OleVariant);

Description

Use the TcxEventToAppointmentItemProc reference to implement a procedure that can for instance be used to perform conversion operations on the AppointmentItem items (if needed) before they are imported into Microsoft Outlook®.

The AEvent parameter specifies the scheduler’s user event;

The AppointmentItem parameter specifies the Microsoft Outlook’s® item, which mirrors the AEvent.


TcxSchedulerExchangeProgressProc
TcxSchedulerExchangeProgressProc type

See Also

Provides a callback reference to a procedure that implements progress indication.

Unit

cxSchedulerOutlookExchange

TcxSchedulerExchangeProgressProc = procedure(ACurrent, ACount: Integer; var Abort: Boolean);

Description

Use the TcxSchedulerExchangeProgressProc reference to implement a procedure that can for instance be used to display a status bar to an end-user when synchronization between the scheduler and Microsoft Outlook® is being performed.

The ACurrent parameter specifies the progress point;

The ACount parameter specifies the progress amount;

The Abort parameter specifies whether the synchronization operation is to be cancelled.


cxSchedulerExportToOutlook
cxSchedulerExportToOutlook Procedure

See Also

Exports the scheduler’s user events to Microsoft Outlook®.

Unit

cxSchedulerOutlookExchange

Declaration

procedure cxSchedulerExportToOutlook(AStorage: TcxCustomSchedulerStorage; AcceptFunc: TcxAcceptEventExportFunc = nil; AConvertProc: TcxEventToAppointmentItemProc = nil; AProgressProc: TcxSchedulerExchangeProgressProc = nil);

Description

The AStorage parameter specifies the storage, which the scheduler’s user events will be retrieved from;

The AcceptFunc parameter specifies a callback reference to a validation function. This function can be implemented by the developer to verify (if required) whether the scheduler’s user event can be exported prior to the user event actually being exported to Microsoft Outlook®. This function should return a value of True to allow the export or False to cancel it;

The AConvertProc parameter specifies the callback reference to the conversion procedure. The procedure can for instance be used to perform additional conversion operations on the user event’s clone (the Microsoft Outlook’s® item) before it's transferred to Microsoft Outlook®.

The AProgressProc parameter specifies the callback reference to the progress indication procedure. This procedure can for instance be used to display a status bar to an end-user when synchronization between the scheduler and Microsoft Outlook® is being performed.

Note: export and import of the label color is currently not supported.


cxSchedulerImportFromOutlook
cxSchedulerImportFromOutlook Procedure

See Also

Imports Microsoft Outlook® items into the scheduler.

Unit

cxSchedulerOutlookExchange

Declaration

procedure cxSchedulerImportFromOutlook(AStorage: TcxCustomSchedulerStorage; AcceptFunc: TcxAcceptAppointmentItemImportFunc = nil; AConvertProc: TcxAppointmentItemToEventProc = nil; AProgressProc: TcxSchedulerExchangeProgressProc = nil);

Description

The AStorage parameter specifies the storage where the imported user events will be stored;

The AcceptFunc parameter specifies a callback reference to a validation function. This function can be implemented by the developer to verify (if required) whether the Microsoft Outlook® item can be imported or not prior to the item actually being imported. This function should return a value of True to allow the import or False to cancel it;

The AConvertProc parameter specifies the callback reference to the procedure. The procedure can for instance be used to perform additional conversion operations on the imported user event before it is posted to the scheduler’s storage.

The AProgressProc parameter specifies the callback reference to the progress indication procedure. This procedure can for instance be used to display a status bar to an end-user when synchronization between the scheduler and Microsoft Outlook® is being performed.

Note: export and import of the label color is currently not supported.


cxSchedulerSynchronizeOutlookWithStorage
cxSchedulerSynchronizeOutlookWithStorage Procedure

See Also

Updates Microsoft Outlook® with the scheduler’s stored data.

Unit

cxSchedulerOutlookExchange

Declaration

procedure cxSchedulerSynchronizeOutlookWithStorage(AStorage: TcxCustomSchedulerStorage; AppointmentItemIDField: TcxCustomSchedulerStorageField; ADeleteUnsynchronizedAppointments: Boolean = False; AcceptFunc: TcxAcceptEventExportFunc = nil; AConvertProc: TcxEventToAppointmentItemProc = nil; AProgressProc: TcxSchedulerExchangeProgressProc = nil);

Description

The AStorage parameter specifies the storage, which the scheduler’s user events will be retrieved from;

The AppointmentItemIDField parameter specifies the dataset field, which contains unique identifiers of the user events. If the specified field doesn’t store ids, then the required ids will be generated automatically. Make sure that the type of the dataset field is TStringField with the length of at least 140 bytes;

The ADeleteUnsynchronizedAppointments parameter specifies whether Microsoft Outlook’s® items which don’t match the scheduler’s user events are deleted after the synchronization has been completed (ids are different);

The AcceptFunc parameter specifies a callback reference to a validation function. This function can be implemented by the developer to verify (if required) whether the scheduler’s user event can be exported prior to the user event actually being exported to Microsoft Outlook®. This function should return a value of True to allow the export or False to cancel it;

The AConvertProc parameter specifies the callback reference to the procedure. The procedure can for instance be used to perform additional conversion operations on the user event’s clone (the Microsoft Outlook’s® item) before it's transferred to Microsoft Outlook®.

The AProgressProc parameter specifies the callback reference to the progress indication procedure. This procedure can for instance be used to display a status bar to an end-user when synchronization between the scheduler and Microsoft Outlook® is being performed.

Note: export and import of the label color is currently not supported.

Note: to speed up conversion, wrap the cxSchedulerSynchronizeOutlookWithStorage procedure call in calls to the TcxCustomScheduler.BeginUpdate and TcxCustomScheduler.EndUpdate methods, as shown in the following example:

// Delphi

//...

begin

  Scheduler.BeginUpdate;

  try

    cxSchedulerSynchronizeOutlookWithStorage(SchedulerStorage, SchedulerStorage.CustomFields.ItemByName('EntryID'));

  finally

    Scheduler.EndUpdate;

  end;

end;


cxSchedulerSynchronizeStorageWithOutlook
cxSchedulerSynchronizeStorageWithOutlook Procedure

See Also

Updates the scheduler’s stored data with the items of Microsoft Outlook®.

Unit

cxSchedulerOutlookExchange

Declaration

procedure cxSchedulerSynchronizeStorageWithOutlook(AStorage: TcxCustomSchedulerStorage; AppointmentItemIDField: TcxCustomSchedulerStorageField; ADeleteUnsynchronizedEvents: Boolean = False; AcceptFunc: TcxAcceptAppointmentItemImportFunc = nil; AConvertProc: TcxAppointmentItemToEventProc = nil; AProgressProc: TcxSchedulerExchangeProgressProc = nil);

Description

The AStorage parameter specifies the storage where the imported items will be stored;

The AppointmentItemIDField parameter specifies the dataset field, which will contain ids of the imported items. Make sure that the type of the dataset field is TStringField with the length of at least 140 bytes;

The ADeleteUnsynchronizedEvents parameter specifies whether the scheduler’s user events that don’t match Microsoft Outlook’s® items are deleted after the synchronization has been completed (ids are different);

The AcceptFunc parameter specifies a callback reference to a validation function. This function can be implemented by the developer to verify (if required) whether the Microsoft Outlook’s® item can be imported or not prior to the item actually being imported. This function should return a value of True to allow the import or False to cancel it;

The AConvertProc parameter specifies the callback reference to the procedure. The procedure can for instance be used to perform additional conversion operations on the imported user event before it is posted to the scheduler’s storage.

The AProgressProc parameter specifies the callback reference to the progress indication procedure. This procedure can for instance be used to display a status bar to an end-user when synchronization between the scheduler and Microsoft Outlook® is being performed.

Note: export and import of the label color is currently not supported.

Note: to speed up conversion, wrap the cxSchedulerSynchronizeStorageWithOutlook procedure call in calls to the TcxCustomScheduler.BeginUpdate and TcxCustomScheduler.EndUpdate methods, as shown in the following example:

// Delphi

//...

begin

  Scheduler.BeginUpdate;

  try

    cxSchedulerSynchronizeStorageWithOutlook(SchedulerStorage, SchedulerStorage.CustomFields.ItemByName('EntryID'));

  finally

    Scheduler.EndUpdate;

  end;

end;


Known Issues and Important Changes List

See Also

All entries in the following list are grouped by Builds, in reverse order.

Build 32

1. The TcxDialogMetricsInfo and TcxDialogsMetricsStore classes, the cxDialogsMetricsStore routine have been moved to the cxClasses unit.


What's New in v3

See Also

New View Options

•	Gantt View (Screenshot).

•	Tasks pane (Screenshot). Mimics the Tasks pane in Microsoft Office® 2007. The Tasks pane is implemented using the ExpressQuantumGrid Suite (Important Note: the ExpressQuantumGrid Suite is sold separately, and you must purchase a license in order to use this new capability).

Holiday Events Sub-System

The scheduler now fully supports holiday designation (Screenshot). If you designate a date to be a holiday, it will be highlighted in the Date Navigator.

•	Allows you to do the following:

•	Add holidays to the scheduler.

•	Designate new holidays at design-time and runtime.

•	Import and export holidays from/to external sources at design-time and runtime.

•	Control which holidays can be imported/exported during import-export operations at runtime.

•	With the scheduler storage, create events for all holidays at once, and save them to storage using one statement (see the storage’s GenerateHolidayEvents method).

Changes to the Storage Component

•	Aggregate Storage. Allows you to combine bound and unbound scheduler storages (as well as to link aggregate storages to each other) for use with a single scheduler control.

Changes to the Day View

•	All-day event area now supports vertical scrolling (see the scheduler’s ViewDay.AllDayAreaScrollBar property).

•	All-day events can now occupy either the all-day event area or time blocks in the content area (see the scheduler’s ViewDay.ShowAllDayEventsInContentArea property).

•	Day header visibility option (see the scheduler’s ViewDay.DayHeaderArea property).

•	Support for Microsoft Office® 2007 style View navigation.

•	Automatic View scrolling, if the dragged event intersects the View’s top or bottom bound.

Changes to the Month View

•	Weekend visibility option (see the scheduler’s ViewWeeks.HideWeekEnd property).

Changes to the TimeGrid View

•	Optional vertical scrolling (see the scheduler’s ViewTimeGrid.ShowResourceScrollBar property).

•	Optional "more events" button visibility (see the scheduler’s ViewTimeGrid.ShowMoreEventsButton property).

•	Optional alignment of event time bounds with the View’s time blocks (see the scheduler’s ViewTimeGrid.SnapEventsToTimeSlots property).

•	Current time indicator.

Changes to the Year View

•	Time scale support (see the scheduler’s ViewYear.Scale property).

Changes to the Date Navigator

•	Optional holiday date highlighting (see the scheduler’s DateNavigator.ShowDatesContainingHolidaysInColor and DateNavigator.HolidayColor properties).

Changes to Event Reminders

•	Multi-resource personalized reminders support. Allows an end-user to specify reminder settings for each resource (if an event with the specified reminder is shared between resources), when this event’s reminder has been initialized (see the scheduler’s Storage.Reminders.ReminderByResource and Storage.Reminders.ShowResourcesInReminderWindow properties).

Miscellaneous

•	Daylight saving time. Allows you to specify whether the local time is displayed in the time ruler based on local daylight saving time (see the scheduler’s OptionsView.AdditionalTimeZoneDaylightSaving and OptionsView.CurrentTimeZoneDaylightSaving properties).

•	Optional right-click selection of a time block (see the scheduler’s OptionsBehavior.SelectOnRightClick property).

•	A hint for the content area’s visible time range. The hint is displayed near the Time View’s vertical scroll bar while scrolling.

•	Scheduler dialog position customization.

•	HitTest class (TcxSchedulerResourceNavigatorHitTest) for the Resource Navigator.

•	Work day and times per resource. Now work days and times can be specified for each resource individually (see the resource’s WorkDays, WorkStart and WorkFinish properties).

•	New View positions – the scheduling area can now reside to the left, right, top or bottom of the Date Navigator and Control Box panes (see the scheduler’s OptionsView.ViewPosition property).

•	Select all and Select none buttons have been added to the Resources layout editor. These buttons allow an end-user to select or deselect all resources in the dialog simultaneously.

•	TcxCustomSchedulerStorage.OnEventIntersect event. Allows you to control which events can be intersected (if the scheduler’s EventOperations.Intersection property is set to False).

•	TcxScheduler.OnScaleScroll event. Allows you to synchronize the TimeGrid View and the Date Navigator while scrolling the TimeGrid View.

•	TcxScheduler.OnShowDateHint event. Allows you to customize a hint’s visibility and display text.


What's New in v2

See Also

The new release adds a customizable resource navigator, a comprehensive reminder, control over the user events overlapping and a mechanism for sharing user events between an arbitrary number of different resources.

New time views – the timegrid and year views – have been developed in addition to the existing ones (day, week and weeks views).

To meet the requirement of being able to completely track a user event‘s state the TcxScheduler.OnBeforeEditing and TcxScheduler.OnAfterEditing events now always fire before an in-place editor (or the Event dialog) has been activated and after it has been deactivated, respectively.

The structure of tables (which contain information on resources and scheduled user events) has been changed. New fields (ActualFinish, ActualStart, ReminderDate, ReminderMinutes, and ResourceImageIndex) have been added to the tables. Now the ResourceID field’s type can be either of TIntegerField or TBlobField (dependent upon whether a single resource or multiple resources will be associated with the user event). The Options field now contains a value of the TcxSchedulerEvent.Reminder property, besides the values of the TcxSchedulerEvent.AllDayEvent and TcxSchedulerEvent.Enabled properties (see the TcxSchedulerDBStorageFieldNames.Options property). For details on the new table structure see the Bound Mode topic.

ExpressScheduler 2 brings enhancements in data manipulation to improve a performance when processing data.

Here is a brief summary of the new features and updates in ExpressScheduler 2:

•	New time views

Timegrid view – user events are scheduled and displayed from left to right in chronological order under the timescale (Screenshot).

Year view – user events are scheduled and viewed by year (Screenshot).

Note: an end-user can switch from these views to the day view by selecting the Go to This Day item, or to any other view by selecting the Go to Date… item from the pop-up menu invoked on the scheduling area’s content.

•	Reminder

Beginning with ExpressScheduler 2, reminders are now available. It provides a notification to an end-user and any other application which requires it as to when a user event will start (Screenshot).

The following properties, methods and events gives developers full control over the reminder’s behavior:

a)	The TcxSchedulerEvent.Reminder property – specifies whether the reminder is turned on or off;

b)	The TcxSchedulerEvent.ReminderDate property – specifies the reminder’s date and time (see also the TcxSchedulerEvent.ReminderMinutesBeforeStart and TcxSchedulerReminders.DefaultMinutesBeforeStart properties);

c)	The TcxSchedulerReminder.Dismiss method – switches the required reminder off (see also TcxSchedulerReminders.DismissAll);

d)	The TcxSchedulerReminder.Snooze method – defers the triggering of a reminder for the specified interval (see also TcxSchedulerReminders.SnoozeAll);

e)	The TcxSchedulerReminders.Active property – specifies whether reminders trigger when their time is up, whether the Reminder check and combo boxes will be shown in the Event dialog and whether a bell icon will be displayed in the previously scheduled user events (if the reminders were set for them);

f)	The TcxSchedulerReminders.OnAlertReminder event – enables code to be run when a reminder notifies. It can be useful when developing schedule-driven applications;

g)	The TcxSchedulerReminders.OnDismissReminder event – enables code to be run when a reminder is dismissed;

h)	The TcxSchedulerReminders.OnSnoozeReminder event – enables code to be run when a reminder is deferred to a later time.

For the other reminder attributes see the descriptions of the TcxSchedulerReminder and TcxSchedulerReminders classes.

•	Resource scrolling

The resource navigator provides an end-user with different ways to scroll multiple resources in the scheduling area. It consists of navigation buttons and a scrollbar (Screenshot).

By using its elements an end-user can scroll resources forwards and backwards one at a time, browse resources by pages (forwards and backwards), jump to the first or last resource, increment or decrement the number of resources that are currently shown in the scheduling area.

A set of resources can easily be organized into pages to allow an end-user to scroll and view resources in bunches (see the TcxSchedulerOptionsView.ResourcesPerPage property).

Developers can add custom buttons to provide custom operations, such as search, filtering and others (see the TcxSchedulerResourceNavigator.CustomButtons property and the TcxSchedulerResourceNavigator.OnButtonClick event).

The visibility of the entire resource navigator and its individual elements can be completely controlled (see the TcxSchedulerResourceNavigator.ShowButtons and TcxSchedulerResourceNavigator.Visibility properties).

Custom glyphs can be used for resource navigation buttons (see the TcxSchedulerResourceNavigator.ButtonImages property) or they can be custom painted (see the TcxSchedulerResourceNavigator.OnCustomDrawButton event).

For more detailed information on implementing resource navigation see the descriptions in the TcxSchedulerResourceNavigator, TcxSchedulerNavigatorButton, TcxSchedulerNavigatorCustomButton , TcxSchedulerNavigatorButtons and TcxSchedulerNavigatorCustomButtons classes.

•	Event operations

The new release supports scheduler clipboard operations on user events. An end-user can copy or move user events through the scheduler clipboard by using the standard hot keys – Ctrl+C (Ctrl+Ins) or Ctrl+X (Shift+Del), and the Ctrl+V (Shift+Ins) key combinations to paste them into the selected time block (see also the TcxCustomScheduler.CopyToClipboard, TcxCustomScheduler.CutToClipboard and TcxCustomScheduler.PasteFromClipboard methods).

Beginning with ExpressScheduler 2, developers get more control over the overlapping of user events. Now the user events overlapping can be allowed by using the TcxSchedulerEventOperations.Intersection property. A new class – TcxSchedulerEventConflictsInfo – provides developers with detailed information on the user events overlap and on the availability of the free time blocks (time gaps) within the specified time range.

A user event can now belong to an arbitrary number of different resources (Screenshot). Note: to store information on assigned multiple resources the type of the ResourceID dataset field should be TBlobField.

Since multiple resources can be used with a user event the TcxSchedulerEvent.GetResourceItem method is deprecated (this method returns a singleton of TcxSchedulerStorageResourceItem). To determine whether a user event is assigned to multiple resources use the TcxSchedulerEvent.Shared property.

For properties and methods, which provide management of user events with resources, read the descriptions of TcxSchedulerEventOperations.SharingBetweenResources, TcxSchedulerEvent.Shared, TcxSchedulerEvent.ShareWithResource, TcxSchedulerEvent.UnshareWithResource, TcxSchedulerEvent.ReplaceResourceID, TcxSchedulerEvent.IsSharedWithResource.

•	Enhancements to the visual elements of events

Developers can now add custom icons to a user event (see the TcxCustomScheduler.EventImages property, the TcxScheduler.OnInitEventImages event, the TcxSchedulerEventImageItem and TcxSchedulerEventImages classes) and custom color labels (see description on the TcxSchedulerEventLabel and TcxSchedulerEventLabels classes).

•	Changes to the Day view

The TcxSchedulerDayView.AlwaysShowEventTime property – specifies the visibility of the start and end times in the user event’s rectangle. Prior to the release of the new product the user event’s start and end times were only shown in the user event’s rectangle if they were not the same as the time blocks in the scheduling area. Now user event’s times can always be displayed if required regardless of whether or not its time bounds matches the time blocks currently shown in the scheduling area.

The TcxSchedulerDayView.TimeRulerMinutes property – specifies the visibility of the minutes in time rulers. Note: minutes will only be displayed if the TimeScale property’s value is less than 60.

The TcxSchedulerDayView.WorkTimeOnly property – specifies whether only working hours are displayed in the scheduling area.

The TcxSchedulerDayView.HeaderContainer property – specifies the visibility of the all-day user event area, which is located at the top of a day in the scheduling area. Thus more of the scheduling area’s content is available to an end-user for scheduling if the all-day user event area is hidden.

•	Changes to the Week view

The TcxSchedulerCustomWeekView.DaysLayout property – specifies the arrangement of the days in columns under the week view. The days can be organized in columns in one of two ways – either one or two columns can be specified.

•	Enhancements to the Standalone Date Navigator

A new property – TcxCustomDateNavigator.Scheduler – was declared for connecting the TcxDateNavigator control and the scheduler. Thus both controls can be automatically synchronized.

A flexible range of date selection in a standalone Date Navigator. End-users can select either up to fourteen days (or six weeks) or an unlimited number of days (if the TcxCustomDateNavigator.UnlimitedSelection property is set to True).

The TcxDateNavigator class now publishes the TControl.DragMode property to allow the TcxDateNavigator control’s drag mode to be set at design time.

•	Data processing improvements

Smart refresh mode has been added to the ExpressScheduler 2. By using the TcxSchedulerDBStorage.SmartRefresh property developers can specify how the scheduler will be updated – whether only records with modified values will be reloaded from storage or all of them.

The TcxCustomSchedulerStorage.UseActualTimeRange property can be used to specify that the scheduler uses time period bounds in a query’s conditional clause (the values of the ActualStart and ActualFinish dataset fields) as a time range when retrieving qualified user events from the store. The values of the TcxSchedulerEvent.ActualStart and TcxSchedulerEvent.ActualFinish properties define the user event’s lifetime if it is a regular event or the date range of the occurrences sequence if it's recurring.

The above features are intended to increase storage performance.

Note: for legacy user events, which were scheduled prior to the release of ExpressScheduler 2, the restructured table contains null values in the ActualStart and ActualFinish fields. Use the TcxCustomSchedulerStorage.CalculateEventActualTimeRanges method to populate these fields with appropriate values.

For applications, which require the storage to be shared between different controls, the TcxSchedulerDBStorage.UpdateItems method will be useful. When working in smart refresh mode the scheduler only loads data which has been updated on its own. The TcxSchedulerDBStorage.UpdateItems method synchronizes the scheduler with the underlying data store if the latter one was updated concurrently by another control.

•	MS Outlook® synchronization

Changes to data transfer operations between scheduler and Microsoft Outlook®. Previous versions of the scheduler only allow data to be moved (see the cxSchedulerExportToOutlook and cxSchedulerImportFromOutlook procedures). Bidirectional synchronization between the two applications has now been added. It’s represented by the new procedures – cxSchedulerSynchronizeOutlookWithStorage and cxSchedulerSynchronizeStorageWithOutlook. The main feature of the scheduler sync service is smart update. It must ensure that no replicates are allowed regardless of how many times the procedures are invoked. This feature is based on the user event identities which are stored in both controls. Note: to persist ids in the scheduler’s storage a custom field of the TStringField type with the length of at least 140 bytes should be added to the dataset.

•	Miscellaneous

The following features were added to ExpressScheduler 2 to provide developers (as well as end-users) with a wider range of possibilities for managing the various elements of the scheduler view:

The TcxSchedulerTimeGridView.EventMaxLineCount property – specifies whether to show details on a user event when under the timegrid view.

The TcxSchedulerResourceHeaders.MultilineCaptions property – specifies whether the text in the resource header’s caption will be wrapped to the caption’s rectangle or reside in a single line. In the latter case it will be clipped if it’s too long to fit the caption’s rectangle.

The ability to add icons to the resource headers to provide an end-user with more information on the resources being used (see the TcxSchedulerStorageResources.Images, TcxSchedulerStorageResourceItem.ImageIndex and TcxSchedulerOptionsView.ResourceHeaders properties).

The TcxCustomScheduler.OnGetEventHintText event – allows customizing the text in the hint window which appears when an end-user positions the mouse pointer over the user event’s rectangle. Note: the hint window will only be displayed if the TcxSchedulerOptionsView.ShowHints property is set to True.

The ability to modify the look and feel of the scheduler’s built-in dialogs using the TcxCustomScheduler.DialogsLookAndFeel and TcxSchedulerReminders.ReminderWindowLookAndFeel properties.


Event sharing Screenshot
Event sharing


Reminder Screenshot
Reminder


Resource Navigator Screenshot
Resource Navigator


ViewTimeGrid Screenshot
Timegrid View


ViewYear Screenshot
Year View


Gantt View Screenshot
Gantt View


Tasks pane Screenshot
Tasks pane


Holidays editor Screenshot
Holidays editor


cxSchedulerYearView Unit Overview
cxSchedulerYearView Unit

Classes

TcxSchedulerYearView

TcxSchedulerYearViewContentCellViewInfo

TcxSchedulerYearViewHitTest

TcxSchedulerYearViewStyles


TcxSchedulerYearView
TcxSchedulerYearView Object

Hierarchy          Properties

The TcxSchedulerYearView implements the year view in the scheduling area.

Unit

cxSchedulerYearView

TcxSchedulerYearView = class(TcxSchedulerCustomResourceView)

Description

Different types of view provide different arrangements and formats for scheduling and viewing user events in the scheduling area.

This type of view enables end-users to schedule and view user events by year.

The TcxSchedulerYearView object is referenced by the TcxScheduler.ViewYear property. The TcxScheduler.CurrentView property references the TcxSchedulerYearView object if the year view is currently active in the scheduling area (the Active property is set to True).

Note: an end-user can switch from this view to the day view by selecting the Go to This Day item, or to any other view by selecting the Go to Date… item of the pop-up menu.


TcxSchedulerYearView Hierarchy
Hierarchy

TcxSchedulerCustomResourceView

     |

TcxSchedulerYearView


Properties for TcxSchedulerYearView
TcxSchedulerYearView Properties

TcxSchedulerYearView          Legend

In TcxSchedulerYearView

AllDayEventsOnly

HitTest

MaxSelectedDaysCount

Scale

Styles

Year

Derived from TcxSchedulerCustomResourceView

GroupingKind


TcxSchedulerYearView.AllDayEventsOnly

TcxSchedulerYearView          See Also

Specifies whether the all-day user events are shown in the scheduling area when under the year view.

property AllDayEventsOnly: Boolean;

Description

Set the AllDayEventsOnly property to True to display the all-day user events (or user events whose duration exceeds 24 hours) in the year view.

The default value of the AllDayEventsOnly property is False.


TcxSchedulerYearView.HitTest

TcxSchedulerYearView

Contains information about the year view’s element that the mouse pointer is currently positioned over.

property HitTest: TcxSchedulerYearViewHitTest;

Description

Use the HitTest property to determine the year view’s element that the mouse pointer is currently hovering over.

ReadOnly Property


TcxSchedulerYearView.MaxSelectedDaysCount

TcxSchedulerYearView

Specifies how many days can be selected in the year view.

property MaxSelectedDaysCount: Integer;

Description

Use the MaxSelectedDaysCount property to specify an upper limit on the number of days that can be selected at any one time in the scheduling area when under the year view.

Note: if the MaxSelectedDaysCount property is set to 0 then all the days in a year can be selected at once.

The default value of the MaxSelectedDaysCount property is 0.


TcxSchedulerYearView.Scale

TcxSchedulerYearView

Specifies how many months are to be displayed in the View.

property Scale: Integer;

Description

Three settings are provided – 12, 6 and 3 months.

The default value of the Scale property is 12.


TcxSchedulerYearView.Styles

TcxSchedulerYearView

Represents style settings for the scheduling area when using the year view.

property Styles: TcxSchedulerYearViewStyles;

Description

Each element’s appearance can be specified by the following style attributes – its background color or bitmap, its text color and font details. The TcxSchedulerYearViewStyles object provides styles for the scheduling area’s elements that are visible under the year view – the month headers, the cells occupied by the adjacent months.

Use the Styles property to specify styles for the elements visible in the scheduling area when working with the year view.


TcxSchedulerYearView.Year

TcxSchedulerYearView

Specifies the year which will be displayed in the year view.

property Year: Word;

Description

Use the Year property to specify the year which will be displayed in the scheduling area when working under the year view.


TcxSchedulerYearViewContentCellViewInfo
TcxSchedulerYearViewContentCellViewInfo Object

Hierarchy          Properties          Methods

The TcxSchedulerYearViewContentCellViewInfo class contains details required to render the month day cell in the year view.

Unit

cxSchedulerYearView

TcxSchedulerYearViewContentCellViewInfo = class(TcxSchedulerMonthDayContentCellViewInfo)

Description

The provided information is used in the TcxScheduler.OnCustomDrawContent event handler to custom paint the month day under the year view.

The TcxSchedulerYearViewContentCellViewInfo object is referenced by the event’s AViewInfo parameter.

Note: the AViewInfo parameter’s type is TcxSchedulerContentCellViewInfo.  To use TcxSchedulerYearViewContentCellViewInfo members, downcast AViewInfo to the TcxSchedulerYearViewContentCellViewInfo subtype.


TcxSchedulerYearViewContentCellViewInfo Hierarchy
Hierarchy

TObject

     |

TcxSchedulerCustomViewInfoItem

     |

TcxSchedulerCustomResourceViewInfoItem

     |

TcxSchedulerContentCellViewInfo

     |

TcxSchedulerMonthDayContentCellViewInfo

     |

TcxSchedulerYearViewContentCellViewInfo


Properties for TcxSchedulerYearViewContentCellViewInfo
TcxSchedulerYearViewContentCellViewInfo Properties

TcxSchedulerYearViewContentCellViewInfo          Legend

Derived from TcxSchedulerMonthDayContentCellViewInfo

Selected

SelectionColor

SelectionTextColor

SmallFont

SmallTextFont

Derived from TcxSchedulerContentCellViewInfo

BorderColor

ShowTimeLine

TimeEvent

TimeLineBorders

TimeLineParams

TimeStart

Derived from TcxSchedulerCustomResourceViewInfoItem

Resource

TimeFinish

Derived from TcxSchedulerCustomViewInfoItem

Bitmap

Borders

Bounds

Canvas

ClipRect

Color

Font

Painter

TextColor

Transparent

ViewParams

Visible


Methods for TcxSchedulerYearViewContentCellViewInfo
TcxSchedulerYearViewContentCellViewInfo Methods

TcxSchedulerYearViewContentCellViewInfo          Legend

Derived from TcxSchedulerCustomViewInfoItem

 Draw


TcxSchedulerYearViewHitTest
TcxSchedulerYearViewHitTest Object

Hierarchy          Properties          Methods

The TcxSchedulerYearViewHitTest contains information on which of the scheduling area’s element the mouse pointer is currently positioned over when the year view is active in the scheduling area.

Unit

cxSchedulerYearView

TcxSchedulerYearViewHitTest = class(TcxSchedulerCustomResourceViewHitTest)

Description

The TcxSchedulerYearViewHitTest provides an interface used for determining the scheduling area’s element that the mouse pointer is currently positioned over when the year view is active in the scheduling area.

The TcxSchedulerYearViewHitTest object is referenced by the TcxSchedulerYearView.HitTest property.


TcxSchedulerYearViewHitTest Hierarchy
Hierarchy

TcxSchedulerViewHitTest

     |

TcxSchedulerCustomResourceViewHitTest

     |

TcxSchedulerYearViewHitTest


Properties for TcxSchedulerYearViewHitTest
TcxSchedulerYearViewHitTest Properties

TcxSchedulerYearViewHitTest          Legend

In TcxSchedulerYearViewHitTest

HitAtMonth

HitAtYear

Derived from TcxSchedulerCustomResourceViewHitTest

HitAtButton

HitAtContent

HitAtDayHeader

HitAtGroupSeparator

HitAtResourceHeader

HitAtTimeZoneLabel

TimeZone


Methods for TcxSchedulerYearViewHitTest
TcxSchedulerYearViewHitTest Methods

TcxSchedulerYearViewHitTest          Legend

Derived from TcxSchedulerCustomResourceViewHitTest

 GetDragKind


TcxSchedulerYearViewHitTest.HitAtMonth

TcxSchedulerYearViewHitTest

Gets whether the given point falls within the rectangle of the month header.

property HitAtMonth: Boolean;

Description

If the test point falls within the rectangle of the month header the HitAtMonth property returns True. Otherwise – False.

ReadOnly Property


TcxSchedulerYearViewHitTest.HitAtYear

TcxSchedulerYearViewHitTest

Gets whether the given point falls within the rectangle of the year header.

property HitAtYear: Boolean;

Description

If the test point falls within the rectangle of the year header the HitAtYear property returns True. Otherwise – False.

ReadOnly Property


TcxSchedulerYearViewStyles
TcxSchedulerYearViewStyles Object

Hierarchy          Properties          Methods          Events

The TcxSchedulerYearViewStyles class represents style settings for the year view.

Unit

cxSchedulerYearView

TcxSchedulerYearViewStyles = class(TcxStyles)

Description

The TcxSchedulerYearViewStyles class provides styles for the scheduling area’s elements visible under the year view – the month headers, the cells in the adjacent months.

It also implements methods which enable the information on the styles that are currently applied to the year view’s elements to be obtained.

The TcxSchedulerYearViewStyles object is referenced by the TcxSchedulerYearView.Styles property.


TcxSchedulerYearViewStyles Hierarchy
Hierarchy

TcxStyles

     |

TcxSchedulerYearViewStyles


Properties for TcxSchedulerYearViewStyles
TcxSchedulerYearViewStyles Properties

TcxSchedulerYearViewStyles          Legend

In TcxSchedulerYearViewStyles

MonthHeader

Scheduler

UnusedContent

YearVeiw


Methods for TcxSchedulerYearViewStyles
TcxSchedulerYearViewStyles Methods

TcxSchedulerYearViewStyles          Legend

In TcxSchedulerYearViewStyles

 GetMonthHeaderParams

 GetUnusedContentParams


Events for TcxSchedulerYearViewStyles
TcxSchedulerYearViewStyles Events

TcxSchedulerYearViewStyles          Legend

In TcxSchedulerYearViewStyles

 OnGetMonthHeaderStyle

 OnGetUnusedContentStyle


TcxSchedulerYearViewStyles.MonthHeader

TcxSchedulerYearViewStyles          See Also

Specifies style settings for the month headers.

property MonthHeader: TcxStyle;

Description

Use the MonthHeader property to specify style settings for the month headers.


TcxSchedulerYearViewStyles.Scheduler

TcxSchedulerYearViewStyles

Represents the scheduler control.

property Scheduler: TcxCustomScheduler;

Description

The scheduler control provides a graphical interface to end-users for scheduling user events.

Use the Scheduler property to access the scheduler control instance.

ReadOnly Property


TcxSchedulerYearViewStyles.UnusedContent

TcxSchedulerYearViewStyles          See Also

Specifies style settings for the cells of the adjacent months.

property UnusedContent: TcxStyle;

Description

Use the UnusedContent property to specify style settings for the adjacent months cells, which are located at the same row as the current month.


TcxSchedulerYearViewStyles.YearVeiw

TcxSchedulerYearViewStyles

Represents the year view.

property YearVeiw: TcxSchedulerYearView;

Description

The year view enables an end-user to schedule and view user events by year.

Use the YearVeiw property to access the year view instance.

ReadOnly Property


TcxSchedulerYearViewStyles.GetMonthHeaderParams

TcxSchedulerYearViewStyles          See Also

Returns the TcxViewParams record that contains information about the style attributes of the month headers.

function GetMonthHeaderParams(AYear, AMonth: Integer): TcxViewParams;

Description

Use the GetMonthHeaderParams method to get information on the style attributes of the month headers.

The AYear parameter specifies the year in four digits;

The AMonth parameter specifies the one-based month’s index.


TcxSchedulerYearViewStyles.GetUnusedContentParams

TcxSchedulerYearViewStyles          See Also

Returns the TcxViewParams record that contains information about the style attributes of the cells occupied by the adjacent months.

function GetUnusedContentParams(AYear, AMonth, ADayOfWeek: Integer): TcxViewParams;

Description

Use the GetUnusedContentParams method to get information on the style attributes of the cells in the adjacent months.

The AYear parameter specifies the year in four digits;

The AMonth parameter specifies the one-based month’s index;

The ADayOfWeek parameter specifies the day in a week (the one-based index).


TcxSchedulerYearViewStyles.OnGetMonthHeaderStyle

TcxSchedulerYearViewStyles          See Also

Fires every time a month header is rendered.

type

  TcxSchedulerYearViewGetMonthHeaderStyleEvent = procedure(Sender: TcxSchedulerYearView; AYear, AMonth: Integer; var AStyle: TcxStyle) of object;

property OnGetMonthHeaderStyle: TcxSchedulerYearViewGetMonthHeaderStyleEvent;

Description

Implement the OnGetMonthHeaderStyle event handler to provide custom style settings for the AMonth month header.

The Sender parameter specifies the scheduler control;

The AYear parameter specifies the year in four digits;

The AMonth parameter specifies the one-based month’s index;

The AStyle parameter represents the styles that will be applied to the AMonth month header.


TcxSchedulerYearViewStyles.OnGetUnusedContentStyle

TcxSchedulerYearViewStyles          See Also

Fires every time the adjacent month’s cell is rendered.

type

  TcxSchedulerYearViewGetUnusedContentStyleEvent = procedure(Sender: TcxSchedulerYearView; AYear, AMonth, ADayOfWeek: Integer; var AStyle: TcxStyle) of object;

property OnGetUnusedContentStyle: TcxSchedulerYearViewGetUnusedContentStyleEvent;

Description

Implement the OnGetUnusedContentStyle event handler to provide custom style settings for the adjacent month’s cell.

The Sender parameter specifies the scheduler control;

The AYear parameter specifies the year in four digits;

The AMonth parameter specifies the one-based month’s index;

The ADayOfWeek parameter specifies the day in a week (the one-based index);

The AStyle parameter represents the styles that will be applied to the adjacent month’s cell.


cxSchedulerCustomControls Unit Overview
cxSchedulerCustomControls Unit

Classes

TcxCustomScheduler

TcxSchedulerContentPopupMenu

TcxSchedulerControlBox

TcxSchedulerCustomContentPopupMenu

TcxSchedulerCustomDateNavigator

TcxSchedulerCustomView

TcxSchedulerEventOperations

TcxSchedulerEventPopupMenu

TcxSchedulerNavigatorCustomButton

TcxSchedulerNavigatorCustomButtons

TcxSchedulerNavigatorButton

TcxSchedulerNavigatorButtons

TcxSchedulerOptionsBehavior

TcxSchedulerOptionsCustomize

TcxSchedulerOptionsView

TcxSchedulerPopupMenu

TcxSchedulerResourceHeaders

TcxSchedulerResourceNavigator

TcxSchedulerStyles

TcxSchedulerSubControl

TcxSchedulerSubControlHitTest

TcxSchedulerViewHitTest

Other Types

TcxEventDragKind

TcxOnDeleteEventFunc

TcxSchedulerContentPopupMenuItems

TcxSchedulerEventPopupMenuItems

TcxSchedulerGroupingKind

TcxSchedulerHeaderImagePosition

TcxSchedulerNavigatorVisibilityMode

TcxSchedulerSplitterKind

TcxSchedulerViewMode

TcxSchedulerViewPosition

Global Constants

cxDefaultGroupSeparatorWidth

cxDefaultResourcesPerPage

cxDefaultSplitterWidth

cxMinSplitterWidth


TcxCustomScheduler
TcxCustomScheduler Object

Hierarchy          Properties          Methods          Events

The TcxCustomScheduler is the base class for classes that implement the scheduler control.

Unit

cxSchedulerCustomControls

TcxCustomScheduler = class(TcxControl)

Description

The scheduler control provides a graphical interface to end-users for scheduling user events. The TcxCustomScheduler is implemented as a container capable of holding other components within its boundaries (see the ControlBox, CurrentView and DateNavigator properties). To achieve flexibility in its behavior and appearance the TcxCustomScheduler encapsulates settings that enable the customization of some of the scheduler control's features (see the OptionsCustomize, OptionsView and Styles properties).

To persist user events the scheduler control can be plugged into any data store using the persistence manager component (see the Storage property).

Do not use this class directly. Use its descendants instead.


TcxCustomScheduler Hierarchy
Hierarchy

TcxControl

     |

TcxCustomScheduler


Properties for TcxCustomScheduler
TcxCustomScheduler Properties

TcxCustomScheduler          Legend

In TcxCustomScheduler

ActiveHitTest

ContentPopupMenu

ControlBox

CurrentView

DateTimeHelper

DialogsLookAndFeel

EventDays

EventImages

EventOperations

EventPopupMenu

FirstVisibleResourceIndex

OptionsBehavior

OptionsCustomize

OptionsView

ResourceNavigator

SelectedDays

SelectedEventCount

SelectedEvents

SelFinish

SelResource

SelStart

Storage

StoringName

Styles

VisibleEventCount

VisibleEvents


Methods for TcxCustomScheduler
TcxCustomScheduler Methods

TcxCustomScheduler          Legend

In TcxCustomScheduler

BeginUpdate

CopyToClipboard

CreateEventUsingDialog

CreateEventUsingInplaceEdit

CutToClipboard

DeleteEvent

DeleteSelectedEvents

EditEventUsingDialog

EditEventUsingInplaceEdit

EndUpdate

FullRefresh

LayoutChanged

MakeEventVisible

MakeResourceVisible

PasteFromClipboard

RestoreFromIniFile

RestoreFromRegistry

RestoreFromStream

SelectEvent

SelectTime

StoreToIniFile

StoreToRegistry

StoreToStream

UnselectEvents


Events for TcxCustomScheduler
TcxCustomScheduler Events

TcxCustomScheduler          Legend

In TcxCustomScheduler

OnAfterDragEvent

OnAfterEditing

OnAfterSizingEvent

OnBeforeDeleting

OnBeforeDragEvent

OnBeforeEditing

OnBeforeSizingEvent

OnCanShowView

OnEventSelectionChanged

OnFirstVisibleResourceChanged

OnGetEventDisplayText

OnGetEventEditProperties

OnGetEventHintText

OnInitEdit

OnIsWorkTime

OnLayoutChanged

OnMoreEventsButtonClick

OnNavigationButtonClick

OnScaleScroll

OnSelectionChanged

OnShowDateHint

OnViewTypeChanged


TcxCustomScheduler.ActiveHitTest

TcxCustomScheduler

Represents the currently active TcxSchedulerSubControlHitTest’s subclass.

property ActiveHitTest: TcxSchedulerSubControlHitTest;

Description

The scheduler control is divided into three parts:

•	The scheduling area, referenced by the CurrentView property, where different time views are exposed (Day, Week, Weeks, Year, Timegrid and Gantt Views);

•	The Date Navigator pane, referenced by the DateNavigator property;

•	The Control Box pane, referenced by the ControlBox property.

Each of the TcxSchedulerSubControlHitTest’s descendants is responsible for determining the appropriate elements of the corresponding component located in the scheduler control.

ReadOnly Property


TcxCustomScheduler.ContentPopupMenu

TcxCustomScheduler          See Also

Represents the pop-up menu that can be invoked for the time blocks in the currently active time view.

property ContentPopupMenu: TcxSchedulerContentPopupMenu;

Description

The following images show the pop-up menu that is invoked for time blocks under:

Use the ContentPopupMenu property to access the TcxSchedulerContentPopupMenu object.


TcxCustomScheduler.ControlBox

TcxCustomScheduler

Represents the Control Box.

property ControlBox: TcxSchedulerControlBox;

Description

The Control Box provides a blank pane within the scheduler control. It can be used to embed other controls into the scheduler control. Thus the TcxSchedulerControlBox can serve as the scheduler control’s subcontainer for other controls.


TcxCustomScheduler.CurrentView

TcxCustomScheduler          See Also

Represents the currently active time view in the scheduling area.

property CurrentView: TcxSchedulerCustomView;

Description

Use the CurrentView property to specify the time view available in the scheduling area.


TcxCustomScheduler.DateTimeHelper

TcxCustomScheduler

Represents the datetime utility.

TcxSchedulerDateTimeHelperClass = class of TcxSchedulerDateTimeHelper;

property DateTimeHelper: TcxSchedulerDateTimeHelperClass;

Description

The TcxSchedulerDateTimeHelper class provides functionality for computing the time of different time zones, conversion routines and formatting the date and time for presentation purposes.

Developers can implement their own datetime services by overriding the required methods in the TcxSchedulerDateTimeHelper‘s derived class.

To specify that the scheduler is to use a particular class, the programming interface provides developers with the DateTimeHelper constant.

Use the DateTimeHelper property to access the TcxSchedulerDateTimeHelper (or its descendant’s) instance.

ReadOnly Property


TcxCustomScheduler.DialogsLookAndFeel

TcxCustomScheduler          See Also

Represents look and feel settings for the built-in dialogs.

property DialogsLookAndFeel: TcxLookAndFeel;

Description

Use the DialogsLookAndFeel property to assign the required look and feel settings to the Event modal, Event recurrence modal, Go To Date modal and Resources layout editor modal dialogs, and to the Confirm Delete and Open Recurring Item boxes.


TcxCustomScheduler.EventDays

TcxCustomScheduler          See Also

Represents a collection of dates containing user events.

property EventDays: TcxSchedulerDateList;

Description

The EventDays collection contains the days in the months that are visible in the Date Navigator, and in addition the days in the two months either side of the displayed range (the month before the first visible month and the month after the last visible month). Use the EventDays property to determine which dates contain user events.

ReadOnly Property


TcxCustomScheduler.EventImages

TcxCustomScheduler          See Also

Represents the user-defined collection of user event icons.

property EventImages: TCustomImageList;

Description

Use the EventImages property to access the user-defined collection of bitmaps used to draw custom icons of the user event.

Note: to bind a custom icon to the particular user event implement the TcxScheduler.OnInitEventImages event handler.


TcxCustomScheduler.EventOperations

TcxCustomScheduler

Represents settings that define the operations an end-user can perform on user events.

property EventOperations: TcxSchedulerEventOperations;

Description

These settings define whether an end-user can create, delete, drag or resize user events, whether an end-user can make user events recurring or use the in-place editor or Event modal dialog to create user events or edit the details of user events.

Use the EventOperations property to access the TcxSchedulerEventOperations object.


TcxCustomScheduler.EventPopupMenu

TcxCustomScheduler          See Also

Represents the pop-up menu that can be invoked for any user event available in the scheduling area.

property EventPopupMenu: TcxSchedulerEventPopupMenu;

Description

The following images show the pop-up menu invoked for the:

Use the EventPopupMenu property to access the TcxSchedulerEventPopupMenu object.


TcxCustomScheduler.FirstVisibleResourceIndex

TcxCustomScheduler          See Also

Specifies the zero-based index of the leftmost visible resource in the scheduling area.

property FirstVisibleResourceIndex: Integer;

Description

If the FirstVisibleResourceIndex property is set to the index of a resource that is outside of the scheduling area‘s boundaries then the given resource will be scrolled into the scheduling area.

Depending upon how many resources are located after the specified resource and the number of resources displayed at a time in the scheduling area the specified resource will either become the leftmost resource or simply scrolled into view.

For example, if four resources are displayed at a time in the scheduling area and the specified resource has three or more resources located after it, then it will be displayed as the leftmost resource. However if there are only two resources located after the specified resource then it will be displayed as the second visible resource, and the resource prior to it will become the leftmost resource and the one returned by this property.

The default value of the FirstVisibleResourceIndex property is 0.


TcxCustomScheduler.OptionsBehavior

TcxCustomScheduler

References settings that specify the scheduler’s response to end-user actions.

property OptionsBehavior: TcxSchedulerOptionsBehavior;

Description

Settings include:

•	SelectOnRightClick – specifies whether a time block can be selected by an end-user with a right-click.

•	HotTrack – specifies whether a task link is highlighted when hot-tracked.


TcxCustomScheduler.OptionsCustomize

TcxCustomScheduler

Represents settings that define the behavior of the scheduler’s components.

property OptionsCustomize: TcxSchedulerOptionsCustomize;

Description

The following settings, encapsulated in the TcxSchedulerOptionsCustomize class, define the behavior of the scheduler’s components during resizing:

•	the ControlsSizing property – specifies whether the scheduler’s components are allowed to be resized;

•	the DynamicSizing property – specifies whether the Date Navigator pane is being redrawn continuously while the vertical or horizontal splitter is being dragged;

•	the IntegralSizing property – specifies whether the Date Navigator pane is resized in monthly intervals when the vertical or horizontal splitter is being dragged.

Use the OptionsCustomize property to access the settings specifying the behavior of the scheduler’s components.


TcxCustomScheduler.OptionsView

TcxCustomScheduler

Represents settings that define the scheduler control’s appearance.

property OptionsView: TcxSchedulerOptionsView;

Description

The following settings, encapsulated in the TcxSchedulerOptionsView class, define the scheduler control’s appearance:

•	the AdditionalTimeZone property – specifies the second time ruler’s number.

•	the AdditionalTimeZoneLabel property – specifies the name displayed for the second time ruler in the scheduling area.

•	the CurrentTimeZone property – specifies the primary time ruler’s number.

•	the CurrentTimeZoneLabel property – specifies the name displayed for the primary time ruler in the scheduler control.

•	the DayBorderColor property – specifies the color for each day’s boundaries.

•	the GroupingKind property – specifies the type of grouping of the schedules in the scheduling area.

•	the GroupSeparatorWidth property – specifies the group separator’s width in pixels.

•	the HideSelection property – specifies whether the selected time block remains highlighted when the scheduler control loses focus.

•	the HorzSplitterWidth property – specifies the width of the horizontal splitter in pixels.

•	the RotateResourceCaptions property – specifies whether the resource’s header captions are displayed horizontally or vertically under the week, weeks or timegrid view.

•	the ShowAdditionalTimeZone property – specifies whether the second time ruler is shown in the scheduling area.

•	the ShowEventsWithoutResource property – specifies whether user events are visible in the scheduling area when grouping schedules by resources is disabled.

•	the ShowHints property – specifies whether the hint window appears when an end-user positions the mouse pointer over the user event’s rectangle.

•	the ShowNavigationButtons property – specifies whether user event navigation buttons are to be displayed in the View.

•	the StartOfWeek property – specifies the day, which will be treated as the first day in each week.

•	the VertSplitterWidth property – specifies the width of the vertical splitter in pixels.

•	the ViewPosition property – specifies the position of the scheduling area with respect to the Date Navigator and Control Box panes in the scheduler control.

•	the WorkDays property – specifies the days that the work hours appear in.

•	the WorkFinish property – specifies the end of the work hours displayed in the scheduling area.

•	the WorkStart property – specifies the beginning of the work hours displayed in the scheduling area.

Use the OptionsView property to access the settings specifying the scheduler control’s appearance.


TcxCustomScheduler.ResourceNavigator

TcxCustomScheduler

Represents the resource navigator.

property ResourceNavigator: TcxSchedulerResourceNavigator;

Description

Resources are used to group schedules (the gkByResource or gkByDate flag on the TcxSchedulerCustomResourceView.GroupingKind property is active and more than one resource is defined) to facilitate managing user time. The scheduler allows an end-user to navigate the resources in the scheduling area. To navigate resources, the resource navigation buttons and scrollbar are located in the scheduling area:

An end-user can scroll resources forwards and backwards one at a time, browse resources by pages forwards and backwards, jump to the first or last resource, increment or decrement the number of resources that are being displayed in the scheduling area.

The TcxSchedulerResourceNavigator class provides functionality for managing the resource navigation. Custom buttons can be used to to perform custom operations (see the CustomButtons property and the OnButtonClick event).

It provides a flexible mechanism for organizing resources into multiple pages to allow end-users to view resources split across pages in the scheduling area or show all the resources at once (see the TcxSchedulerOptionsView.ResourcesPerPage property).

The TcxSchedulerResourceNavigator class provides access to the built-in buttons (see the Buttons property) to allow the built-in button settings to be modified as follows: the visibility of each button (see the TcxSchedulerNavigatorButton.Visible property), the button’s glyph (see the TcxSchedulerNavigatorButton.ImageIndex property) and the hint text (see the TcxSchedulerNavigatorButton.Hint property).

The visibility of the entire resource navigator can be specified (see the Visibility property) or just a set of the resource navigation buttons (see the ShowButtons property).

If required, a different collection of images for drawing the buttons can be specified (see the ButtonImages property). And the buttons can also be custom painted (see the TcxSchedulerResourceNavigator.OnCustomDrawButton event).


TcxCustomScheduler.SelectedDays

TcxCustomScheduler

Represents the collection of dates displayed in the scheduling area.

property SelectedDays: TcxSchedulerDateList;

Description

Use the SelectedDays property to access the TcxSchedulerDateList collection to determine which dates are currently displayed in the scheduling area.

ReadOnly Property


TcxCustomScheduler.SelectedEventCount

TcxCustomScheduler          See Also

Gets the number of TcxSchedulerControlEvent objects in the SelectedEvents collection.

property SelectedEventCount: Integer;

Description

Use the SelectedEventCount to get the number of selected user events.

ReadOnly Property


TcxCustomScheduler.SelectedEvents

TcxCustomScheduler          See Also

Provides indexed access to the TcxSchedulerControlEvent object, corresponding to the selected user event, at the position specified by the zero-based Index parameter.

property SelectedEvents[Index:Integer]: TcxSchedulerControlEvent;

Description

The SelectedEvents collection is populated by the TcxSchedulerControlEvent user event currently selected by the end-user in the scheduling area.

ReadOnly Property


TcxCustomScheduler.SelFinish

TcxCustomScheduler          See Also

Gets the currently selected end time in the scheduling area.

property SelFinish: TDateTime;

Description

The SelFinish property (paired with the SelStart property) identifies the selected time range.

ReadOnly Property


TcxCustomScheduler.SelResource

TcxCustomScheduler

Specifies the currently selected resource in the scheduling area.

property SelResource: TcxSchedulerStorageResourceItem;

Description

Use the SelResource property to access the TcxSchedulerStorageResourceItem object that is currently selected.

Note: if no resources are currently selected in the scheduling area (for details on schedules grouping see the Grouping Schedules topic) the SelResource property returns nil.

ReadOnly Property


TcxCustomScheduler.SelStart

TcxCustomScheduler          See Also

Gets the currently selected start time in the scheduling area.

property SelStart: TDateTime;

Description

The SelStart property (paired with the SelFinish property) identifies the selected time range.

ReadOnly Property


TcxCustomScheduler.Storage

TcxCustomScheduler

Represents the persistence manager component.

property Storage: TcxCustomSchedulerStorage;

Description

The persistence manager component is used to persist the scheduler’s data in a data store.

Use the Storage property to plug the cxShedulerStorage component (see TcxSchedulerStorage) or cxSchedulerDBStorage component (see TcxSchedulerDBStorage) into the scheduler control.


TcxCustomScheduler.StoringName

TcxCustomScheduler          See Also

Specifies the stored name of the persistent scheduler control’s layout.

property StoringName: string;

Description

The StoringName property specifies the name under which the scheduler control’s layout is stored. If this property is not set, the TcxScheduler.Name property’s value is used as the persistence name.


TcxCustomScheduler.Styles

TcxCustomScheduler

Represents style settings for the scheduler control’s elements.

property Styles: TcxSchedulerStyles;

Description

Each element’s appearance can be specified using the following style attributes – background color or bitmap, text color and font details. The TcxSchedulerStyles class provides styles for the scheduler control’s elements as follows:

•	the scheduler control’s background – the TcxSchedulerStyles.Background property;

•	the time blocks in the scheduling area – the TcxSchedulerStyles.Content property;

•	the time ruler, the day’s header (except for the current day) visible under the currently active time view and the Date Navigator‘s header – the TcxSchedulerStyles.DayHeader property;

•	the user event – the TcxSchedulerStyles.Event property;

•	the horizontal bar between the Date Navigator and the Control Box panes – the TcxSchedulerStyles.HorzSplitter property;

•	the resource’s header – the TcxSchedulerStyles.ResourceHeader property;

•	the selected time blocks – the TcxSchedulerStyles.Selection property;

•	the vertical bar between the scheduling area  and the Date Navigator/Control Box – the TcxSchedulerStyles.VertSplitter property.

Use the Styles property to specify styles for the scheduler control’s elements.


TcxCustomScheduler.VisibleEventCount

TcxCustomScheduler

Gets the number of TcxSchedulerControlEvent objects in the collection represented by the VisibleEvents property.

property VisibleEventCount: Integer;

Description

Use the VisibleEventCount property to get the number of TcxSchedulerControlEvent objects.

ReadOnly Property


TcxCustomScheduler.VisibleEvents

TcxCustomScheduler          See Also

Provides indexed access to the TcxSchedulerControlEvent user events contained in the dates currently available in the Date Navigator.

property VisibleEvents[AIndex:Integer]: TcxSchedulerControlEvent;

Description

The VisibleEvents collection contains the days in the months that are currently visible in the Date Navigator, and the days in the two months either side of the displayed range (the month before the first visible month and the month after the last visible month). Use the VisibleEvents property to get the TcxSchedulerControlEvent object at the position specified by the zero-based AIndex parameter.

ReadOnly Property


TcxCustomScheduler.BeginUpdate

TcxCustomScheduler

Prevents the scheduler control from flickering during bulk updates.

procedure BeginUpdate;

Description

Use the BeginUpdate method paired with the EndUpdate method to wrap a block of statements that affect the scheduler control’s view.


TcxCustomScheduler.CopyToClipboard

TcxCustomScheduler          See Also

Copies the selected user event(s) into the scheduler’s clipboard.

procedure CopyToClipboard;

Description

Use the CopyToClipboard method to copy the required user event(s) (which have been selected) into the scheduler clipboard. Use the PasteFromClipboard method to paste the copied user event(s) into the selected time block.


TcxCustomScheduler.CreateEventUsingDialog

TcxCustomScheduler          See Also

Invokes the Event modal dialog used to create new user events.

procedure CreateEventUsingDialog(AllDay: Boolean = False; ARecurrence: Boolean = False); virtual;

Description

Use the CreateEventUsingDialog method to display the Event modal dialog to create a new user event in the selected time block, or in the day whose all-day event area was selected. In the latter case the newly created user event is an all-day event (see the TcxSchedulerEvent.AllDayEvent property).

If schedules are organized into schedule groups by resources (the gkByResource flag on the TcxSchedulerCustomResourceView.GroupingKind property is active and more than one resource is defined), the new user event is created in the currently selected resource (see the TcxCustomScheduler.SelResource property).

The AllDay parameter specifies whether the new user event is an all-day event (see the TcxSchedulerEvent.AllDayEvent property). Set the AllDay parameter to True to specify the new user event as an all-day event. In this case the All day event check box in the Event modal dialog is checked.

The ARecurrence parameter specifies whether or not the Event recurrence modal dialog is displayed above the Event modal dialog when the CreateEventUsingDialog method is called. Set the ARecurrence parameter to True to invoke the Event recurrence modal dialog along with the Event modal dialog.

Note: if the cxSchedulerDBStorage component is plugged into the scheduler control (see TcxSchedulerDBStorage) and the TcxSchedulerDBStorageFieldNames.LabelColor property is not bound to the dataset field, the Label image combo box used to edit a color label (see also the TcxSchedulerEvent.LabelColor property) will be disabled in the Event modal dialog.


TcxCustomScheduler.CreateEventUsingInplaceEdit

TcxCustomScheduler          See Also

Invokes the in-place editor used to create new user events.

procedure CreateEventUsingInplaceEdit;

Description

Use the CreateEventUsingInplaceEdit method to activate the in-place editor to create a new user event in the selected time block, or in the day whose all-day event area was selected. In the latter case the newly created user event is an all-day event (see the TcxSchedulerEvent.AllDayEvent property).

If schedules are organized into logical groups by resources (the gkByResource flag on the TcxSchedulerCustomResourceView.GroupingKind property is active and more than one resource has been defined) the new user event is created in the currently selected resource (see the TcxCustomScheduler.SelResource property).


TcxCustomScheduler.CutToClipboard

TcxCustomScheduler          See Also

Moves the selected user event(s) into the scheduler’s clipboard.

procedure CutToClipboard;

Description

Use the CutToClipboard method to move the required user event(s) (which have been selected) into the scheduler’s clipboard. Note: This operation is allowed, if the TcxSchedulerEventOperations.Deleting is set to True.

Use the PasteFromClipboard method to paste the moved user event(s) into the selected time block.

Note: the selected user event(s) will be completely deleted after it has been copied to the scheduler's clipboard. It means that as the in-memory instance (see the TcxSchedulerControlEvent class) and the persistent instance (see the TcxSchedulerEvent class) of the user event will be destroyed (the corresponding record in the storage will be deleted).


TcxCustomScheduler.DeleteEvent

TcxCustomScheduler          See Also

Removes the AEvent user event.

procedure DeleteEvent(AEvent: TcxSchedulerControlEvent); virtual;

Description

If the AEvent user event is an occurrence, then the Confirm Delete modal dialog will prompt the end-user to specify whether only the AEvent occurrence should be deleted or the entire series. If only the current occurrence is deleted then an exception of the AEvent occurrence will be created (see the TcxSchedulerEvent.EventType property). Otherwise the parent along with all the spawned occurrences will be deleted (see the TcxSchedulerEvent.Pattern property).


TcxCustomScheduler.DeleteSelectedEvents

TcxCustomScheduler          See Also

Removes selected user events.

procedure DeleteSelectedEvents(ACheckReadOnly: Boolean = True);

Description

Use the DeleteSelectedEvents method to delete selected events. The ACheckReadOnly parameter specifies whether the user event, assigned to the resource that is marked as read-only (see the TcxSchedulerStorageResourceItem.ReadOnly property), will be deleted. Set the ACheckReadOnly parameter to False to delete the user event that belongs to the resource with the read-only status. This method ignores the TcxSchedulerEventOperations.Deleting property’s value.

Note: if the selected user event is an occurrence this method only removes this occurrence (an exception of this occurrence is created).


TcxCustomScheduler.EditEventUsingDialog

TcxCustomScheduler          See Also

Invokes the Event modal dialog used to edit the AEvent user event.

procedure EditEventUsingDialog(AEvent: TcxSchedulerControlEvent; ACheckReadOnly: Boolean = True; AForcePatternEditing: Boolean = False);

Description

Use the EditEventUsingDialog method to display the Event modal dialog used to edit the user event specified by the AEvent parameter.

The ACheckReadOnly parameter makes the read-only AEvent user event editable. If the value of the ACheckReadOnly parameter is False the read-only AEvent user event can be edited in the Event modal dialog. Set the ACheckReadOnly parameter to True to preserve the read-only status of the AEvent user event.

The AForcePatternEditing parameter specifies which user event (the parent or its occurrence) should be loaded for editing if the AEvent user event is a recurring event. Either the parent (template) user event that all these events occurrences are spawned from or the current occurrence (child) of the event. Set the AForcePatternEditing parameter to True to edit the parent user event (see also the TcxSchedulerEvent.IsRecurring method);

Note: if the cxSchedulerDBStorage component is plugged into the scheduler control (see TcxSchedulerDBStorage) and the TcxSchedulerDBStorageFieldNames.LabelColor property is not bound to the dataset field, the Label image combo box used to edit a color label (see also the TcxSchedulerEvent.LabelColor property) will be disabled in the Event modal dialog.


TcxCustomScheduler.EditEventUsingInplaceEdit

TcxCustomScheduler          See Also

Activates the in-place editor used to edit the AEvent user event’s subject.

procedure EditEventUsingInplaceEdit(AEvent: TcxSchedulerControlEvent);

Description

Use the EditEventUsingInplaceEdit method to activate the in-place editor to edit the AEvent user event’s subject.

Note: if the resource, that the AEvent user event belongs to, is read-only (the TcxSchedulerStorageResourceItem.ReadOnly property is set to True) or the TcxSchedulerEventOperations.InplaceEditing property is set to False, it's impossible to invoke the in-place editor.


TcxCustomScheduler.EndUpdate

TcxCustomScheduler

Releases a lock acquired by the BeginUpdate method.

procedure EndUpdate;

Description

Use the EndUpdate method paired with the BeginUpdate method to wrap a block of statements that update the scheduler control.


TcxCustomScheduler.FullRefresh

TcxCustomScheduler          See Also

Updates a collection of TcxSchedulerControlEvent objects and forces the scheduler control to redraw itself.

procedure FullRefresh; virtual;

Description

Use the FullRefresh method to update the scheduler control.


TcxCustomScheduler.LayoutChanged

TcxCustomScheduler          See Also

Forces the scheduler control to update itself.

procedure LayoutChanged;

Description

Use the LayoutChanged method to update the scheduler control every time its content has been changed.


TcxCustomScheduler.MakeEventVisible

TcxCustomScheduler

Scrolls the scheduling area’s content to bring the AEvent user event into view.

procedure MakeEventVisible(AEvent: TcxSchedulerControlEvent);

Description

If the AEvent user event is beyond the scheduling area's boundaries invoke the MakeEventVisible method to make the AEvent user event visible.


TcxCustomScheduler.MakeResourceVisible

TcxCustomScheduler          See Also

Scrolls the scheduling area’s content to bring the AResource resource into view.

procedure MakeResourceVisible(AResource: TcxSchedulerStorageResourceItem);

Description

If the AResource resource is beyond the scheduling area's boundaries, use the MakeResourceVisible method to scroll the scheduling area’s content to display the AResource resource.


TcxCustomScheduler.PasteFromClipboard

TcxCustomScheduler          See Also

Inserts the user event(s) from the scheduler's clipboard into the selected time block(s).

procedure PasteFromClipboard;

Description

An end-user can allocate the user event(s) from the scheduler's clipboard to the selected time block(s), if the TcxSchedulerEventOperations.ReadOnly property’s value is False and the TcxSchedulerEventOperations.Creating property is set to True.

If multiple user events were copied then the earliest user event will be scheduled at the selected time block. The location of any additional user events is dictated by the time they are scheduled for (the next earliest event is the next one inserted).

A new TcxSchedulerEvent instance of the copy is created (a corresponding record in the scheduler storage is inserted). Except the unique identifier and the scheduled time, the clone inherits the details of its source. If the source is the selected occurrence of the recurring user event, then the target will loose all the recurrence information. The new user event will have no relationship to that recurrence.

If the selected user event is moved through the scheduler’s clipboard (see the CutToClipboard method) into the new scheduled location, then it preserves the unique identifier and other details, except the scheduled time and recurrence data.


TcxCustomScheduler.RestoreFromIniFile

TcxCustomScheduler          See Also

Restores the scheduler control’s layout from an INI file.

procedure RestoreFromIniFile(const AStorageName: string; ARestoreResources: Boolean = True);

Description

In the current session of the scheduler control the RestoreFromIniFile method restores the layout scheme, previously saved by the StoreToIniFile method.

The AStorageName parameter specifies the INI file that the scheduler control’s layout is restored from;

The ARestoreResources parameter specifies whether to restore the schedules resources’ layout. Set the ARestoreResources parameter to True to restore the schedules resources’ layout.


TcxCustomScheduler.RestoreFromRegistry

TcxCustomScheduler          See Also

Restores the scheduler control’s layout from the system registry.

procedure RestoreFromRegistry(const AStorageName: string; ARestoreResources: Boolean = True);

Description

In the current session of the scheduler control the RestoreFromRegistry method restores the layout scheme, previously saved by the StoreToRegistry method.

The AStorageName parameter specifies the registry key under which the value entries, describing the layout scheme, are stored.

The ARestoreResources parameter specifies whether or not to restore the schedules resources’ layout. Set the ARestoreResources parameter to True to restore the schedules resources’ layout.


TcxCustomScheduler.RestoreFromStream

TcxCustomScheduler          See Also

Restores the scheduler control’s layout from an AStream stream.

procedure RestoreFromStream(AStream: TStream; ARestoreResources: Boolean = True);

Description

In the current session of the scheduler control the RestoreFromStream method restores the layout scheme, previously saved by the StoreToStream method.

The AStream parameter specifies the stream the scheduler layout scheme is restored from.

The ARestoreResources parameter specifies whether or not to restore the schedules resources’ layout. Set the ARestoreResources parameter to True to restore the schedules resources’ layout.


TcxCustomScheduler.SelectEvent

TcxCustomScheduler          See Also

Emulates the AEvent user event being selected by an end-user.

procedure SelectEvent(AEvent: TcxSchedulerControlEvent; AShift: TShiftState = []);

Description

Use the SelectEvent method to select the AEvent user event by emulating the keyboard key or mouse button shifting of an end-user. The AShift parameter specifies the shift state for the desired keyboard key or mouse button.


TcxCustomScheduler.SelectTime

TcxCustomScheduler          See Also

Selects the time blocks from the ASelStart time block through to the ASelFinish time block, inclusive, in the AResource resource.

procedure SelectTime(const ASelStart, ASelFinish: TDateTime; AResource: TcxSchedulerStorageResourceItem);

Description

Use the SelectTime method to select the time blocks beginning from the ASelStart and ending at the ASelFinish in the resource specified by the AResource parameter.


TcxCustomScheduler.StoreToIniFile

TcxCustomScheduler          See Also

Saves the scheduler control’s layout scheme in an INI file.

procedure StoreToIniFile(const AStorageName: string; AReCreate: Boolean = True; AStoreResources: Boolean = True);

Description

Use the StoreToIniFile method to persist the scheduler control’s layout across multiple sessions. A persistent storage for the scheduler control’s layout is the AStorageName file.

The AStorageName parameter specifies the INI file where the scheduler control’s layout is stored;

The AReCreate parameter specifies whether the INI file will be overwritten. Set the AReCreate parameter to False to store multiple layouts in a single file.

The AStoreResources parameter specifies whether to store the schedules resources’ layout. Set the AStoreResources parameter to True to persist the schedules resources’ layout.

To restore the layout saved to the file use the RestoreFromIniFile method.

Note: this method saves the layout set by the end-user. If layout changes (that can also be performed by end-users through the user interface) are made programmatically they are also stored in the AStorageName file.


TcxCustomScheduler.StoreToRegistry

TcxCustomScheduler          See Also

Saves the scheduler control’s layout scheme in the system registry.

procedure StoreToRegistry(const AStorageName: string; AReCreate: Boolean = True; AStoreResources: Boolean = True);

Description

Use the StoreToRegistry method to persist the scheduler control’s layout in the registry. The AStorageName parameter specifies the HKEY_USERS’ subkey. The StoringName property, if it’s set, specifies a subkey of the AStorageName key. Under the key (specified by the StoringName property) the values describing the layout scheme are stored. If the StoringName property is not set the TcxScheduler.Name property’s value is used to specify the subkey of the AStorageName key.

The AReCreate parameter specifies whether the value entries under the AStorageName key will be overwritten. Set the AReCreate parameter to False to store multiple layouts under the single AStorageName suffix.

The AStoreResources parameter specifies whether to store the schedules resources’ layout. Set the AStoreResources parameter to True to persist the schedules resources’ layout.

To restore the layout saved in the registry use the RestoreFromRegistry method.

Note: this method saves the layout set by the user. If layout changes (that can also be performed by end-users through the user interface) are made programmatically they are also stored in the registry.


TcxCustomScheduler.StoreToStream

TcxCustomScheduler          See Also

Saves the scheduler control’s layout scheme in the AStream stream.

procedure StoreToStream(AStream: TStream; AStoreResources: Boolean = True);

Description

Use the StoreToStream method to store the scheduler control’s layout. The StoreToStream method provides flexibility in that a wide range of storage devices can be used as the storage via an AStream instance of the TStream class.

The AStoreResources parameter specifies whether to store the schedules resources’ layout. Set the AStoreResources parameter to True to persist the schedules resources’ layout.

To restore the layout saved in the stream use the RestoreFromStream method.

Note: this method saves the layout set by the user. If layout changes (that can also be performed by end-users through the user interface) are made programmatically they are also stored in the AStream stream.


TcxCustomScheduler.UnselectEvents

TcxCustomScheduler          See Also

Causes to undo the current selection of user events.

procedure UnselectEvents;

Description

Use the UnselectEvents method to unselect previously selected user event (or user events).

Note: when the user event is selected the availability status strip appears around the user event’s rectangle (see the TcxSchedulerEvent.State property).


TcxCustomScheduler.OnAfterDragEvent

TcxCustomScheduler          See Also

Fires after an end-user has finished dragging the user event and released the mouse button.

type

  TcxSchedulerAfterDragEvent = procedure(Sender: TcxCustomScheduler; Target: TObject; X, Y: Integer; var Accept: Boolean) of object;

property OnAfterDragEvent: TcxSchedulerAfterDragEvent;

Description

Implement the OnAfterDragEvent event handler to provide post processing after an end-user has finished dragging the user event in the scheduling area.

The Sender parameter specifies the scheduler control;

The Target parameter specifies the drag target;

The X and Y parameters specify the relative screen coordinates of the mouse pointer;

The Accept parameter specifies whether the changes resulting from the drag and drop are applied. Set the Accept parameter to False to cancel the changes.


TcxCustomScheduler.OnAfterEditing

TcxCustomScheduler

Fires when the in-place editor or the Event modal dialog exits.

type

  TcxSchedulerAfterEditing = procedure(Sender: TcxCustomScheduler; AEvent: TcxSchedulerControlEvent) of object;

property OnAfterEditing: TcxSchedulerAfterEditing;

Description

Implement the OnAfterEditing event handler to provide custom behavior after the in-place editor has exited.

The Sender parameter specifies the scheduler control;

The AEvent parameter specifies the edited user event. If the AEvent user event was deleted using the Event modal dialog the AEvent parameter returns nil.


TcxCustomScheduler.OnAfterSizingEvent

TcxCustomScheduler          See Also

Fires after an end-user has finished dragging the user event’s time boundaries and released the mouse button.

type

  TcxSchedulerAfterSizingEvent = procedure(Sender: TcxCustomScheduler; AEvent: TcxSchedulerControlEvent; X, Y: Integer; var Accept: Boolean) of object;

property OnAfterSizingEvent: TcxSchedulerAfterSizingEvent;

Description

Implement the OnAfterSizingEvent event handler to provide custom behavior when an end-user has finished resizing the user event.

The Sender parameter specifies the scheduler control;

The AEvent parameter specifies the user event being resized;

The X and Y parameters specify the relative screen coordinates of the mouse pointer;

The Accept parameter specifies whether the changes resulting from the drag and drop are applied. Set the Accept parameter to False to cancel the changes.


TcxCustomScheduler.OnBeforeDeleting

TcxCustomScheduler

Fires when the AEvent user event is about to be deleted.

type

  TcxSchedulerBeforeDeleting = procedure(Sender: TcxCustomScheduler; AEvent: TcxSchedulerControlEvent; var Allow: Boolean) of object;

property OnBeforeDeleting: TcxSchedulerBeforeDeleting;

Description

Implement the OnBeforeDeleting event handler to provide custom behavior before the AEvent user event will be deleted.

The Sender parameter specifies the scheduler control;

The AEvent parameter specifies the user event to be deleted;

The Allow parameter authorizes deleting of the user event. Set the parameter to False value to prevent deleting of the AEvent user event.


TcxCustomScheduler.OnBeforeDragEvent

TcxCustomScheduler          See Also

Fires before an end-user starts dragging the user event in the scheduling area.

type

  TcxSchedulerBeforeDragEvent = procedure(Sender: TcxCustomScheduler; AEvent: TcxSchedulerControlEvent; X, Y: Integer; var Allow: Boolean) of object;

property OnBeforeDragEvent: TcxSchedulerBeforeDragEvent;

Description

Implement the OnBeforeDragEvent event handler to provide pre-processing before an end-user starts dragging the user event in the scheduling area.

The Sender parameter specifies the scheduler control;

The AEvent parameter specifies the user event to be dragged;

The X and Y parameters specify the relative screen coordinates of the mouse pointer;

The Allow parameter specifies whether dragging changes are applied. Set the Allow parameter to False value to cancel changes.


TcxCustomScheduler.OnBeforeEditing

TcxCustomScheduler

Fires before the in-place editor or Event modal dialog editor is activated.

type

  TcxSchedulerBeforeEditing = procedure(Sender: TcxCustomScheduler; AEvent: TcxSchedulerControlEvent; AInplace: Boolean; var Allow: Boolean) of object;

property OnBeforeEditing: TcxSchedulerBeforeEditing;

Description

Implement the OnBeforeEditing event handler to provide custom behavior before the editor is activated.

The Sender parameter specifies the scheduler control;

The AEvent parameter specifies the user event to be edited;

The AInplace parameter specifies whether the editor is the in-place editor or Event modal dialog editor. If the AInplace parameter is set to True the in-place editor will be activated;

The Allow parameter specifies whether editor activation is allowed. Set the Allow parameter to False to prevent activation.


TcxCustomScheduler.OnBeforeSizingEvent

TcxCustomScheduler          See Also

Fires before an end-user starts resizing the user event in the scheduling area.

type

  TcxSchedulerBeforeSizingEvent = procedure(Sender: TcxCustomScheduler; AEvent: TcxSchedulerControlEvent; X, Y: Integer; var Allow: Boolean) of object;

property OnBeforeSizingEvent: TcxSchedulerBeforeSizingEvent;

Description

Implement the OnBeforeSizingEvent event handler to provide pre-processing before an end-user starts resizing the user event in the scheduling area.

The Sender parameter specifies the scheduler control;

The AEvent parameter specifies the user event to be dragged;

The X and Y parameters specify the relative screen coordinates of the mouse pointer;

The Allow parameter specifies whether the changes resulting from the drag and drop are applied. Set the Allow parameter to False to cancel the changes.


TcxCustomScheduler.OnCanShowView

TcxCustomScheduler          See Also

Fires before a time view shown in the scheduling area is changed for another.

type

  TcxSchedulerCanShowViewEvent = procedure(Sender: TObject; AView: TcxSchedulerCustomView; var Allow: Boolean) of object;

property OnCanShowView: TcxSchedulerCanShowViewEvent;

Description

Implement the OnCanShowView event handler to customize the AView time view before it is displayed in the scheduling area.

The Sender parameter specifies the scheduler control;

The AView parameter specifies the new time view;

The Allow parameter controls whether or not the new time view passed via the AView  parameter can be displayed. Set the Allow parameter to True to show the view. Otherwise it won't be displayed.

Note: the value of the Allow parameter overrides the TcxSchedulerCustomView.CanShow ’s value.


TcxCustomScheduler.OnEventSelectionChanged

TcxCustomScheduler

Fires when the current user event has been selected or unselected.

type

  TcxSchedulerEventSelectionChangedEvent = procedure(Sender: TcxCustomScheduler; AEvent: TcxSchedulerControlEvent) of object;

property OnEventSelectionChanged: TcxSchedulerEventSelectionChangedEvent;

Description

Implement the OnEventSelectionChanged event handler to customize behavior that occurs when the current user event has been selected or unselected.

The Sender parameter specifies the scheduler control;

The AEvent parameter specifies the currently selected user event.

Note: the AEvent parameter returns nil if the currently selected user event(s) has been cleared and no other user event has been selected. For example, when the time block is being selected.


TcxCustomScheduler.OnFirstVisibleResourceChanged

TcxCustomScheduler          See Also

Fires when the leftmost resource in the scheduling area has been changed.

type

  TNotifyEvent = procedure(Sender: TObject) of object;

property OnFirstVisibleResourceChanged: TNotifyEvent;

Description

Implement the OnFirstVisibleResourceChanged event handler to provide custom behavior after the leftmost resource has been changed and before the scheduling area is rendered.

The Sender parameter specifies the scheduler control.


TcxCustomScheduler.OnGetEventDisplayText

TcxCustomScheduler

Fires before the AEvent user event’s subject is drawn.

type

  TcxSchedulerGetEventText = procedure(Sender: TObject; AEvent: TcxSchedulerControlEvent; var AText: string) of object;

property OnGetEventDisplayText: TcxSchedulerGetEventText;

Description

Implement the OnGetEventDisplayText event handler to customize the subject of the user event, which is currently being drawn in the scheduling area.

The Sender parameter specifies the scheduler control;

The AEvent parameter specifies the user event to be displayed;

The AText parameter specifies the new text for the user event’s subject.

Note: the AText doesn’t update storage. It’s just used for display purposes.


TcxCustomScheduler.OnGetEventEditProperties

TcxCustomScheduler

Fires before the user event’s description in the current AEvent user event’s rectangle is drawn.

type

  TcxSchedulerGetEventEditPropertiesEvent = procedure(Sender: TObject; AEvent: TcxSchedulerControlEvent; var AProperites: TcxCustomEditProperties) of object;

property OnGetEventEditProperties: TcxSchedulerGetEventEditPropertiesEvent;

Description

Implement the OnGetEventEditProperties event handler to customize the user event’s description for the AEvent user event using the in-place editor’s AProperties settings.

The Sender parameter specifies the scheduler control;

The AEvent parameter specifies the user event to be edited;

The AProperties parameter specifies the in-place editor’s settings.


TcxCustomScheduler.OnGetEventHintText

TcxCustomScheduler          See Also

Fires before the hint window is shown when an end-user positions the mouse pointer over the user event’s rectangle.

type

  TcxSchedulerGetEventHintText = procedure(Sender: TObject; AEvent: TcxSchedulerControlEvent; var AText: string) of object;

property OnGetEventHintText: TcxSchedulerGetEventHintText;

Description

By default, the hint window is displayed if the user event’s subject (see the TcxSchedulerEvent.Caption property) doesn’t fit its area in the user event’s rectangle, and the scheduler’s OptionsView.ShowHints property is True .

To always display the hint regardless of the user event’s content, provide at least an empty implementation of the OnGetEventHintText event.

The OnGetEventHintText event allows you to customize the display text.

Sender specifies the scheduler.

AEvent specifies the user event the mouse pointer is currently positioned over.

AText specifies the text to be displayed in the hint window.

Note: the hint window will only be displayed if the TcxSchedulerOptionsView.ShowHints property is set to True.

Here is an example that implements the OnGetEventHintText event handler:

// Delphi

// ...

const

  CRLF = #13#10;

  HintFormat = 'Subject: %s' + CRLF + 'Location: %s' + CRLF + 'Message: %s' + CRLF;

begin

  with AEvent do

    AText := Format(HintFormat, [Caption, Location, Message]);

  with TcxSchedulerDateTimeHelper do

    AText := AText + 'Time: ' + TimeToStr(AEvent.Start) + '-' + TimeToStr(AEvent.Finish);

end;


TcxCustomScheduler.OnInitEdit

TcxCustomScheduler

Fires when the user event’s AEdit in-place editor gets activated.

type

  TcxSchedulerInitEditEvent = procedure(Sender: TObject; AEdit: TcxCustomEdit) of object;

property OnInitEdit: TcxSchedulerInitEditEvent;

Description

Implement the OnInitEdit event handler to customize the AEdit in-place editor for the user event that is about to be edited.

The Sender parameter specifies the scheduler control;

The AEdit parameter specifies the activated in-place editor.


TcxCustomScheduler.OnIsWorkTime

TcxCustomScheduler

Fires before the time block is drawn in the scheduling area.

type

  TcxSchedulerIsWorkTimeEvent = procedure(Sender: TObject; AResource: TcxSchedulerStorageResourceItem; const ATime: TDateTime; var AIsWork: Boolean) of object;

property OnIsWorkTime: TcxSchedulerIsWorkTimeEvent;

Description

Implement the OnIsWorkTime event handler to customize the work time shown in the scheduling area.

The Sender parameter specifies the scheduler control;

The AResource parameter specifies resource if the gkByResource or gkByDate flag on the TcxSchedulerCustomResourceView.GroupingKind property is active and more than one resource is defined;

The ATime parameter specifies the time corresponding to the time block in the scheduling area;

The AIsWork parameter specifies whether the ATime time is work time. Set the AIsWork parameter to True to paint the time block as the work time.


TcxCustomScheduler.OnLayoutChanged

TcxCustomScheduler

Fires when the scheduler control’s layout has been changed.

type

  TNotifyEvent = procedure(Sender: TObject) of object;

property OnLayoutChanged: TNotifyEvent;

Description

Implement the OnLayoutChanged event handler to provide custom behavior when the scheduler control’s layout has been changed.

The Sender parameter specifies the scheduler control.


TcxCustomScheduler.OnMoreEventsButtonClick

TcxCustomScheduler

Fires when an end-user clicks the button which brings user events into view.

type

  TcxSchedulerMoreEventsButtonClickEvent = procedure(Sender: TcxCustomScheduler; var AHandled: Boolean) of object;

property OnMoreEventsButtonClick: TcxSchedulerMoreEventsButtonClickEvent;

Description

This button is a yellow rectangle, which contains an ellipsis with a small arrow. If user events are outside the screen region it appears in the primary time ruler (when under the day view) or in the corresponding day’s cell (when under the week, weeks, timegrid or year view).

In the day view this button (when clicked) scrolls the time view to make user events appear in the scheduling area.

In the week or weeks view it switches these views to the day view which corresponds to the selected day.

When in timegrid or year view it simply indicates that user events exist which do not fit into the cell’s rectangle. Clicking this button do not perform any actions.

Implement the OnMoreEventsButtonClick event handler to provide custom behavior when an end-user clicks the "more events"  button.

The Sender parameter specifies the scheduler control;

The AHandled parameter specifies whether the default behavior is required when the event handler has finished its execution. Assign the AHandled parameter a value of True to prevent the default behavior from being executed when the OnMoreEventsButtonClick event handler exits.


TcxCustomScheduler.OnNavigationButtonClick

TcxCustomScheduler

Allows you to respond to the user event navigation button click.

type

  TcxSchedulerNavigationButtonClickEvent = procedure(Sender: TcxCustomScheduler; var AHandled: Boolean) of object;

property OnNavigationButtonClick: TcxSchedulerNavigationButtonClickEvent;

Description

Fires after an enabled user event navigation button has been clicked.

User event navigation buttons are displayed in the View, if no user events are scheduled on the date currently shown in the View. These buttons are enabled, if user events are scheduled on other dates.

Sender specifies the scheduler.

AHandled specifies whether the default action is required. Set AHandled to True to prevent the default action execution.


TcxCustomScheduler.OnScaleScroll

TcxCustomScheduler

Allows you to synchronize the TimeGrid View and the Date Navigator while scrolling the TimeGrid View.

type

  TcxSchedulerScaleScrollEvent = procedure(Sender: TcxCustomScheduler; AStartDateTime, AFinishDateTime: TDateTime) of object;

property OnScaleScroll: TcxSchedulerScaleScrollEvent;

Description

Fires when the View has been horizontally scrolled.

Sender specifies the scheduler that generates this event.

AStartDateTime and AFinishDateTime specify the View’s time range when scrolling has finished.


TcxCustomScheduler.OnSelectionChanged

TcxCustomScheduler          See Also

Fires after an end-user has selected the time block(s).

type

  TNotifyEvent = procedure(Sender: TObject) of object;

property OnSelectionChanged: TNotifyEvent;

Description

Implement the OnSelectionChanged event handler to provide custom behavior after an end-user has selected the time block(s).

Sender specifies the scheduler.


TcxCustomScheduler.OnShowDateHint

TcxCustomScheduler

Allows you to customize hint visibility and display text.

type

  TcxSchedulerShowDateHintEvent = procedure(Sender: TObject; const ADate: TDateTime; var AHintText: string; var AAllow: Boolean) of object;

property OnShowDateHint: TcxSchedulerShowDateHintEvent;

Description

Fires when the mouse pointer is over a Date Navigator’s date or a day header displayed in the View.

Sender specifies the scheduler that generates this event.

ADate specifies the hot-tracked date.

AHintText specifies the hint text.

AAllow specifies whether the hint is visible on-screen. Set AAllow to True, to display the hint.


TcxCustomScheduler.OnViewTypeChanged

TcxCustomScheduler          See Also

Fires when the time view in the scheduling area is about to be changed.

type

  TcxSchedulerViewTypeChangedEvent = procedure(Sender: TObject; APrevView, ANewView: TcxSchedulerCustomView) of object;

property OnViewTypeChanged: TcxSchedulerViewTypeChangedEvent;

Description

Implement the OnViewTypeChanged event handler to provide custom behavior when the time view in the scheduling area is about to be changed.

The Sender parameter specifies the scheduler control;

The APrevView and ANewView parameters represent the current and new time views, respectively.


TcxSchedulerCustomContentPopupMenu
TcxSchedulerCustomContentPopupMenu Object

Hierarchy          Properties          Methods

The TcxSchedulerCustomContentPopupMenu implements the pop-up menu that is invoked for time blocks in the scheduling area.

Unit

cxSchedulerCustomControls

TcxSchedulerCustomContentPopupMenu = class(TcxSchedulerPopupMenu)

Description

The TcxSchedulerCustomContentPopupMenu is an intermediate class that was designed to introduce some methods that can be used by the TcxSchedulerCustomContentPopupMenu’s descendant (the TcxSchedulerContentPopupMenu class), but unavailable to other pop-up menu classes derived from the TcxSchedulerPopupMenu class.

Do not use this class directly. Use its descendants instead.


TcxSchedulerCustomContentPopupMenu Hierarchy
Hierarchy

TPersistent

     |

TcxSchedulerPopupMenu

     |

TcxSchedulerCustomContentPopupMenu


Properties for TcxSchedulerCustomContentPopupMenu
TcxSchedulerCustomContentPopupMenu Properties

TcxSchedulerCustomContentPopupMenu          Legend

Derived from TcxSchedulerPopupMenu

PopupMenu

Scheduler

UseBuiltInPopupMenu


Methods for TcxSchedulerCustomContentPopupMenu
TcxSchedulerCustomContentPopupMenu Methods

TcxSchedulerCustomContentPopupMenu          Legend

Derived from TcxSchedulerPopupMenu

Popup


TcxSchedulerCustomDateNavigator
TcxSchedulerCustomDateNavigator Object

Hierarchy          Properties          Methods

The TcxCustomSchedulerControl is the base class for classes that implement the Date Navigator pane in which the month(s) view is exposed.

Unit

cxSchedulerCustomControls

TcxSchedulerCustomDateNavigator = class(TcxSchedulerSubControl)

Description

Using the Date Navigator allows the dates displayed in the scheduling area to be changed quickly and easily. Do not use this class directly. Use its descendants instead.


TcxSchedulerCustomDateNavigator Hierarchy
Hierarchy

TPersistent

     |

TcxSchedulerSubControl

     |

TcxSchedulerCustomDateNavigator


Properties for TcxSchedulerCustomDateNavigator
TcxSchedulerCustomDateNavigator Properties

TcxSchedulerCustomDateNavigator          Legend

Derived from TcxSchedulerSubControl

Bounds

Height

Visible

Width


Methods for TcxSchedulerCustomDateNavigator
TcxSchedulerCustomDateNavigator Methods

TcxSchedulerCustomDateNavigator          Legend

Derived from TcxSchedulerSubControl

Invalidate

InvalidateRect

LayoutChanged

Refresh

SetBounds


TcxSchedulerCustomView
TcxSchedulerCustomView Object

Hierarchy          Properties          Methods

The TcxSchedulerCustomView represents the scheduling area where various time views are shown.

Unit

cxSchedulerCustomControls

TcxSchedulerCustomView = class(TcxSchedulerSubControl)

Description

The TcxSchedulerCustomView class roots the time views family (classes which implement day, week, weeks, year and timegrid views). These views enable the user to schedule and view user events in different arrangements and formats. A reference to the time view currently active in the scheduling area is provided by the TcxScheduler.CurrentView property.


TcxSchedulerCustomView Hierarchy
Hierarchy

TPersistent

     |

TcxSchedulerSubControl

     |

TcxSchedulerCustomView


Properties for TcxSchedulerCustomView
TcxSchedulerCustomView Properties

TcxSchedulerCustomView          Legend

In TcxSchedulerCustomView

Active

CanShow

DragCloneEventList

FirstVisibleDate

HitTest

LastVisibleDate

SelectedDays

Derived from TcxSchedulerSubControl

Bounds

Height

Visible

Width


Methods for TcxSchedulerCustomView
TcxSchedulerCustomView Methods

TcxSchedulerCustomView          Legend

Derived from TcxSchedulerSubControl

Invalidate

InvalidateRect

LayoutChanged

Refresh

SetBounds


TcxSchedulerCustomView.Active

TcxSchedulerCustomView          See Also

Specifies whether the current time view is visible in the scheduling area.

property Active: Boolean;

Description

Set the Active property to True to make the current time view visible in the scheduling area.

Note: the Active property depends on the CanShow property’s value. If the value of the CanShow property is False the Active property’s value is also False.

The default value of the Active property is False.


TcxSchedulerCustomView.CanShow

TcxSchedulerCustomView          See Also

Specifies whether the specified time view can be displayed in the scheduling area.

property CanShow: Boolean;

Description

If the CanShow property is set to False the current type of time view won’t be shown in the scheduling area.

Note: the Active property depends on the CanShow property’s value. If the value of the CanShow property is False the Active property’s value is also False.

The default value of the CanShow property is True.


TcxSchedulerCustomView.DragCloneEventList

TcxSchedulerCustomView

Gets the collection of the user events that is being dragged by an end-user within the scheduler control.

property DragCloneEventList: TcxSchedulerFilteredEventList;

Description

Use the DragCloneEventList property to access the TcxSchedulerControlEvent’s clones that exist while the end-user is dragging the user events within the scheduler control.

Note: the DragCloneEventList property can be used, for example, in the event handlers as TcxScheduler.OnAfterDragEvent and TcxScheduler.OnDragOver.

ReadOnly Property


TcxSchedulerCustomView.FirstVisibleDate

TcxSchedulerCustomView          See Also

Gets the first date currently visible in the scheduling area.

property FirstVisibleDate: TDateTime;

Description

Use the FirstVisibleDate property to determine the first visible date from amongst the other dates currently visible in the scheduling area.

ReadOnly Property


TcxSchedulerCustomView.HitTest

TcxSchedulerCustomView

Contains information about the scheduling area’s element that the mouse pointer is currently positioned over.

property HitTest: TcxSchedulerViewHitTest;

Description

Use the HitTest property to determine the scheduling area’s element that the mouse pointer is currently over.

ReadOnly Property


TcxSchedulerCustomView.LastVisibleDate

TcxSchedulerCustomView          See Also

Gets the last date currently visible in the scheduling area.

property LastVisibleDate: TDateTime;

Description

Use the LastVisibleDate property to determine the last visible date from amongst the other dates currently visible in the scheduling area.

ReadOnly Property


TcxSchedulerCustomView.SelectedDays

TcxSchedulerCustomView

Represents the collection of dates to be displayed in the scheduling area.

property SelectedDays: TcxSchedulerDateList;

Description

Use the SelectedDays property to determine the dates to be displayed in the scheduling area of the scheduler control.

ReadOnly Property


TcxSchedulerNavigatorCustomButton
TcxSchedulerNavigatorCustomButton Object

Hierarchy          Properties

The TcxSchedulerNavigatorCustomButton class implements a custom resource navigation button.

Unit

cxSchedulerCustomControls

TcxSchedulerNavigatorCustomButton = class(TcxSchedulerNavigatorButton)

Description

Resources are used to group schedules (the gkByResource or gkByDate flag on the TcxSchedulerCustomResourceView.GroupingKind property is active and more than one resource is defined) to facilitate managing user time (for details see the Grouping User Events topic).

To change resources in the scheduling area the resource navigator is used. It comprises a resource navigation scrollbar and buttons.

Two sets of resource navigation buttons are available in the resource navigator: the built-in buttons (see the TcxSchedulerResourceNavigator.Buttons property) and custom buttons (see the TcxSchedulerResourceNavigator.CustomButtons property). The custom buttons are intended to perform custom operations (such as search, filtering and others).

The TcxSchedulerNavigatorCustomButton class is responsible for constructing the custom button.


TcxSchedulerNavigatorCustomButton Hierarchy
Hierarchy

TCollectionItem

     |

TcxSchedulerNavigatorButton

     |

TcxSchedulerNavigatorCustomButton


Properties for TcxSchedulerNavigatorCustomButton
TcxSchedulerNavigatorCustomButton Properties

TcxSchedulerNavigatorCustomButton          Legend

Derived from TcxSchedulerNavigatorButton

ActualImageIndex

ActualImageList

Bounds

Enabled

Hint

ImageIndex

IsStandard

Rotated

Scheduler

State

Visible

VisibleIndex


TcxSchedulerNavigatorCustomButtons
TcxSchedulerNavigatorCustomButtons Object

Hierarchy          Properties

The TcxSchedulerNavigatorCustomButtons class implements a collection of the custom resource navigation buttons.

Unit

cxSchedulerCustomControls

TcxSchedulerNavigatorCustomButtons = class(TCollection)

Description

In addition to the inherited properties and methods the TcxSchedulerNavigatorCustomButtons class declares the Items and VisibleCount properties to retrieve the desired custom button from the collection by its index and determine the number of custom buttons currently displayed in the scheduling area. The TcxSchedulerNavigatorCustomButtons object is referenced by the TcxSchedulerResourceNavigator.CustomButtons property.


TcxSchedulerNavigatorCustomButtons Hierarchy
Hierarchy

TCollection

     |

TcxSchedulerNavigatorCustomButtons


Properties for TcxSchedulerNavigatorCustomButtons
TcxSchedulerNavigatorCustomButtons Properties

TcxSchedulerNavigatorCustomButtons          Legend

In TcxSchedulerNavigatorCustomButtons

Items

VisibleCount


TcxSchedulerNavigatorCustomButtons.Items

TcxSchedulerNavigatorCustomButtons

Provides indexed access to the instances of custom buttons in the TcxSchedulerNavigatorCustomButtons collection.

property Items[AIndex:Integer]: TcxSchedulerNavigatorCustomButton;

Description

Use the Items property to get the TcxSchedulerNavigatorCustomButton object.

The zero-based Index parameter specifies the position of the TcxSchedulerNavigatorCustomButton instance to access in the collection.


TcxSchedulerNavigatorCustomButtons.VisibleCount

TcxSchedulerNavigatorCustomButtons

Gets a count of the custom buttons currently visible in the scheduling area.

property VisibleCount: Integer;

Description

Use the VisibleCount property to get a count of the custom buttons that are currently displayed in the scheduling area.

ReadOnly Property


TcxSchedulerSubControl
TcxSchedulerSubControl Object

Hierarchy          Properties          Methods

The TcxSchedulerSubControl is an abstract intermediate class that provides common interface and behavior for classes that implement components as integral parts of the scheduler control.

Unit

cxSchedulerCustomControls

TcxSchedulerSubControl = class(TPersistent)

Description

The scheduler control is composed of framed sections each of them occupied by the following components implemented by classes derived from the TcxSchedulerSubControl class:

•	The scheduling area - represented by the TcxSchedulerCustomView – where different time views are displayed (day, week, weeks, year and timegrid views);

•	The Date Navigator pane - represented by the TcxSchedulerDateNavigator;

•	The Control Box pane - represented by the TcxSchedulerControlBox.


TcxSchedulerSubControl Hierarchy
Hierarchy

TPersistent

     |

TcxSchedulerSubControl


Properties for TcxSchedulerSubControl
TcxSchedulerSubControl Properties

TcxSchedulerSubControl          Legend

In TcxSchedulerSubControl

Bounds

Height

Scheduler

Visible

Width


Methods for TcxSchedulerSubControl
TcxSchedulerSubControl Methods

TcxSchedulerSubControl          Legend

In TcxSchedulerSubControl

Invalidate

InvalidateRect

LayoutChanged

Refresh

SetBounds


TcxSchedulerSubControl.Bounds

TcxSchedulerSubControl          See Also

Specifies the TcxSchedulerSubControl’s bounding rectangle.

property Bounds: TRect;

Description

Use the Bounds property to specify the sides of the TcxSchedulerSubControl component.


TcxSchedulerSubControl.Height

TcxSchedulerSubControl          See Also

Specifies the height of the TcxSchedulerSubControl ’s rectangle.

property Height: Integer;

Description

Use the Height property to specify the height of the TcxSchedulerSubControl component.


TcxSchedulerSubControl.Scheduler

TcxSchedulerSubControl

Represents the scheduler control that acts as a container for the current component.

property Scheduler: TcxCustomScheduler;

Description

The scheduler control provides a graphical interface to end-users for scheduling user events. Use the Scheduler property to access the scheduler control’s instance.

ReadOnly Property


TcxSchedulerSubControl.Visible

TcxSchedulerSubControl

Specifies whether the TcxSchedulerSubControl component is visible in the scheduler control.

property Visible: Boolean;

Description

Set the Visible property to False to hide the TcxSchedulerSubControl component in the scheduler control. If the value of the Visible property is True the TcxSchedulerSubControl component appears in the scheduler control.

The default value of the Visible property is True.


TcxSchedulerSubControl.Width

TcxSchedulerSubControl          See Also

Specifies the width of the TcxSchedulerSubControl ’s rectangle.

property Width: Integer;

Description

Use the Width property to specify the width of the TcxSchedulerSubControl component.


TcxSchedulerSubControl.Invalidate

TcxSchedulerSubControl          See Also

Indicates that the current TcxSchedulerSubControl component needs to be repainted.

procedure Invalidate;

Description

Use the Invalidate method to force the current TcxSchedulerSubControl component to be repainted.


TcxSchedulerSubControl.InvalidateRect

TcxSchedulerSubControl          See Also

Indicates the ARect rectangle needs to be repainted.

procedure InvalidateRect(const ARect: TRect);

Description

Use the InvalidateRect method to force the ARect rectangle to be repainted.


TcxSchedulerSubControl.LayoutChanged

TcxSchedulerSubControl          See Also

Invalidates the current TcxSchedulerSubControl component to mirror any changes made to its layout.

procedure LayoutChanged;

Description

Use the LayoutChanged method to indicate that the current TcxSchedulerSubControl component’s layout has been changed and it needs to be repainted.


TcxSchedulerSubControl.Refresh

TcxSchedulerSubControl          See Also

Forces the scheduler control to repaint itself.

procedure Refresh;

Description

Use the Refresh method to repaint the scheduler control if its content has been changed.


TcxSchedulerSubControl.SetBounds

TcxSchedulerSubControl          See Also

Sets all the attributes of the current TcxSchedulerSubControl component's bounding at once.

procedure SetBounds(ALeft, ATop, AWidth, AHeight: Integer);

Description

Use the SetBounds method to set the attributes of the current TcxSchedulerSubControl component's bounding rectangle.

The ALeft parameter specifies in pixels the horizontal coordinate of the component rectangle’s upper left corner;

The ATop parameter specifies in pixels the vertical coordinate of the component rectangle’s upper left corner;

The AWidth parameter specifies in pixels the horizontal size of the component rectangle;

The AHeight parameter specifies in pixels the vertical size of the component rectangle.


TcxSchedulerSubControlHitTest
TcxSchedulerSubControlHitTest Object

Hierarchy          Properties          Methods

The TcxSchedulerSubControlHitTest class is the base class for classes that provide information about the scheduler control’s elements at a given point.

Unit

cxSchedulerCustomControls

TcxSchedulerSubControlHitTest = class(TObject)

Description

The TcxSchedulerSubControlHitTest provides an interface for determining the value of attributes that are commonly tested at a given point within the scheduler control.


TcxSchedulerSubControlHitTest Hierarchy
Hierarchy

TObject

     |

TcxSchedulerSubControlHitTest


Properties for TcxSchedulerSubControlHitTest
TcxSchedulerSubControlHitTest Properties

TcxSchedulerSubControlHitTest          Legend

In TcxSchedulerSubControlHitTest

HitAtControl

HitAtTime

HitPoint

HitX

HitY

Time


Methods for TcxSchedulerSubControlHitTest
TcxSchedulerSubControlHitTest Methods

TcxSchedulerSubControlHitTest          Legend

In TcxSchedulerSubControlHitTest

Recalculate


TcxSchedulerSubControlHitTest.HitAtControl

TcxSchedulerSubControlHitTest

Gets whether the given point falls within the scheduler control boundaries.

property HitAtControl: Boolean;

Description

If the point falls within the scheduler control boundaries the HitAtControl property returns True. Otherwise – False.

ReadOnly Property


TcxSchedulerSubControlHitTest.HitAtTime

TcxSchedulerSubControlHitTest

Gets whether the given point returns a date and/or time.

property HitAtTime: Boolean;

Description

If the given point returns a date and/or time the HitAtTime property returns True. Otherwise – False.

ReadOnly Property


TcxSchedulerSubControlHitTest.HitPoint

TcxSchedulerSubControlHitTest

Specifies the coordinates of the given point in pixels within the scheduler control.

property HitPoint: TPoint;

Description

The HitPoint property represents a structure of coordinates – horizontal X and vertical Y. As an alternative you can use the HitX and HitY properties to specify the coordinates of the given point.


TcxSchedulerSubControlHitTest.HitX

TcxSchedulerSubControlHitTest          See Also

Specifies the horizontal coordinate of the given point in pixels within the scheduler control.

property HitX: Integer;

Description

Use the HiX property to specify the horizontal coordinate of the given point. As an alternative you can use the HitPoint property.


TcxSchedulerSubControlHitTest.HitY

TcxSchedulerSubControlHitTest          See Also

Specifies the vertical coordinate of the given point in pixels within the scheduler control.

property HitY: Integer;

Description

Use the HiY property to specify the vertical coordinate of the given point. As an alternative you can use the HitPoint property.


TcxSchedulerSubControlHitTest.Time

TcxSchedulerSubControlHitTest

Gets the date and/or time of the given point if this point returns date and/or time.

property Time: TDateTime;

Description

Use the Time property to determine the date and/or time of the given point. To determine whether the given point returns a date and/or time use the HitAtTime property.

ReadOnly Property


TcxSchedulerSubControlHitTest.Recalculate

TcxSchedulerSubControlHitTest

Updates the information about the given point.

procedure Recalculate;

Description

Use the Recalculate method to update the information about the given point if the point’s attributes have been changed.


TcxSchedulerViewHitTest
TcxSchedulerViewHitTest Object

Hierarchy          Properties          Methods

The TcxSchedulerViewHitTest encapsulates information about the mouse pointer's position over various elements of the scheduling area.

Unit

cxSchedulerCustomControls

TcxSchedulerViewHitTest = class(TcxSchedulerSubControlHitTest)

Description

The TcxSchedulerViewHitTest provides an interface that enables the scheduling area’s element that the mouse pointer is currently over to be identified. The TcxSchedulerViewHitTest object is referenced by the TcxSchedulerCustomView.HitTest property.


TcxSchedulerViewHitTest Hierarchy
Hierarchy

TObject

     |

TcxSchedulerSubControlHitTest

     |

TcxSchedulerViewHitTest


Properties for TcxSchedulerViewHitTest
TcxSchedulerViewHitTest Properties

TcxSchedulerViewHitTest          Legend

In TcxSchedulerViewHitTest

Event

HitAtEvent

HitAtResource

Resource

Derived from TcxSchedulerSubControlHitTest

HitAtControl

HitAtTime

HitPoint

HitX

HitY

Time


Methods for TcxSchedulerViewHitTest
TcxSchedulerViewHitTest Methods

TcxSchedulerViewHitTest          Legend

Derived from TcxSchedulerSubControlHitTest

Recalculate


TcxSchedulerViewHitTest.Event

TcxSchedulerViewHitTest

The Event property represents the TcxSchedulerControlEvent user event in the scheduling area that the mouse pointer is currently located over.

property Event: TcxSchedulerControlEvent;

Description

The Event property represents the TcxSchedulerControlEvent user event in the scheduling area that the mouse pointer is currently located over.

Note: the Event property references the TcxSchedulerControlEvent object if the HitAtEvent property returns True.

ReadOnly Property


TcxSchedulerViewHitTest.HitAtEvent

TcxSchedulerViewHitTest          See Also

Gets whether the given point falls within the user event’s rectangle.

property HitAtEvent: Boolean;

Description

If the given point falls within the user event’s rectangle the HitAtEvent property returns True. Otherwise – False.

ReadOnly Property


TcxSchedulerViewHitTest.HitAtResource

TcxSchedulerViewHitTest          See Also

Specifies whether the given point falls within the resource.

property HitAtResource: Boolean;

Description

If the mouse pointer is in the resource, the HitAtResource property returns True. Otherwise – False.

ReadOnly Property


TcxSchedulerViewHitTest.Resource

TcxSchedulerViewHitTest          See Also

Represents the resource within which the mouse pointer falls.

property Resource: TcxSchedulerStorageResourceItem;

ReadOnly Property


TcxSchedulerContentPopupMenu
TcxSchedulerContentPopupMenu Object

Hierarchy          Properties          Methods          Events

The TcxSchedulerContentPopupMenu implements the pop-up menu that is invoked for time blocks in the scheduling area.

Unit

cxSchedulerCustomControls

TcxSchedulerContentPopupMenu = class(TcxSchedulerCustomContentPopupMenu)

Description

The TcxSchedulerContentPopupMenu provides features for embedding custom code to handle the pop-up menu items and enable customization of the pop-up menu when it’s invoked. The TcxSchedulerContentPopupMenu object is referenced by the TcxScheduler.ContentPopupMenu property.

The following images show the pop-up menu invoked for time blocks under:

Note: an end-user can switch from timegrid view or from year view to only day view by selecting the Go to This Day, Today or Go to Date… items of the pop-up menu.


TcxSchedulerContentPopupMenu Hierarchy
Hierarchy

TPersistent

     |

TcxSchedulerPopupMenu

     |

TcxSchedulerCustomContentPopupMenu

     |

TcxSchedulerContentPopupMenu


Properties for TcxSchedulerContentPopupMenu
TcxSchedulerContentPopupMenu Properties

TcxSchedulerContentPopupMenu          Legend

In TcxSchedulerContentPopupMenu

Items

Derived from TcxSchedulerPopupMenu

PopupMenu

Scheduler

UseBuiltInPopupMenu


Methods for TcxSchedulerContentPopupMenu
TcxSchedulerContentPopupMenu Methods

TcxSchedulerContentPopupMenu          Legend

In TcxSchedulerContentPopupMenu

Execute

GetMenuItem

Derived from TcxSchedulerPopupMenu

Popup


Events for TcxSchedulerContentPopupMenu
TcxSchedulerContentPopupMenu Events

TcxSchedulerContentPopupMenu          Legend

In TcxSchedulerContentPopupMenu

OnClick

OnPopup


TcxSchedulerContentPopupMenu.Items

TcxSchedulerContentPopupMenu

Represents available pop-up menu items.

property Items: TcxSchedulerContentPopupMenuItems;

Description

Use the Items property to specify the items in the pop-up menu. The complete set of available items is specified by the TcxSchedulerContentPopupMenuItems enumeration.


TcxSchedulerContentPopupMenu.Execute

TcxSchedulerContentPopupMenu

Executes the action associated with the AItem pop-up menu item.

procedure Execute(AItem: TcxSchedulerContentPopupMenuItem);

Description

Invoke the Execute method to execute the operations associated with the AItem pop-up menu item.


TcxSchedulerContentPopupMenu.GetMenuItem

TcxSchedulerContentPopupMenu

Returns the TMenuItem object corresponding to the AItem pop-up menu item.

function GetMenuItem(AItem: TcxSchedulerContentPopupMenuItem): TMenuItem;

Description

Invoke the GetMenuItem method within the OnPopup event handler to use the TMenuItem object associated with the AItem pop-up menu item to customize the pop-up menu items.


TcxSchedulerContentPopupMenu.OnClick

TcxSchedulerContentPopupMenu          See Also

Fires after an end-user has clicked the AItem pop-up menu item.

type

  TcxSchedulerContentPopupMenuClickEvent = procedure(Sender: TcxSchedulerContentPopupMenu; AItem: TcxSchedulerContentPopupMenuItem; var AHandled: Boolean) of object;

property OnClick: TcxSchedulerContentPopupMenuClickEvent;

Description

Implement the OnClick event handler to provide custom behavior (for example, displaying a submenu) when an end-user has clicked the menu item.

The Sender parameter specifies the pop-up menu invoked;

The AItem parameter specifies the item clicked;

The AHandled parameter specifies whether the default operations are performed when the event handler exits. Assign True to the AHandled parameter to prevent the default behavior from being performed.


TcxSchedulerContentPopupMenu.OnPopup

TcxSchedulerContentPopupMenu          See Also

Fires after an end-user has invoked the pop-up menu for the scheduling area’s content.

type

  TcxSchedulerContentPopupMenuPopupEvent = procedure(Sender: TcxSchedulerContentPopupMenu; ABuiltInMenu: TPopupMenu; var AHandled: Boolean) of object;

property OnPopup: TcxSchedulerContentPopupMenuPopupEvent;

Description

Implement the OnPopup event handler to customize the pop-up menu before it appears.

The Sender parameter specifies the pop-up menu invoked;

The ABuiltInMenu parameter specifies the standard pop-up menu component used as a basis for building an appropriate pop-up menu;

The AHandled parameter specifies whether the default pop-up menu is required when the event handler has finished its execution. Assign a value of True to the AHandled parameter to avoid displaying the default pop-up menu.


TcxSchedulerControlBox
TcxSchedulerControlBox Object

Hierarchy          Properties          Methods          See Also

The TcxSchedulerControlBox represents the Control Box pane residing in the scheduler control.

Unit

cxSchedulerCustomControls

TcxSchedulerControlBox = class(TcxSchedulerSubControl)

Description

The Control Box provides a blank area within the scheduler control. It can be used for embedding other controls into the scheduler control (see the Control property). For example, the TcxGrid control can be plugged into the Control Box to be used as a taskpad. Thus the TcxSchedulerControlBox can serve as the scheduler control’s subcontainer for other controls.

The Control Box pane can reside to the right or left of the scheduling area (its position depends on the TcxSchedulerOptionsView.ViewPosition property’s value). The user can resize the Control Box by dragging the vertical or horizontal splitter. There is an option to entirely hide the Control Box by setting the TcxSchedulerControlBox.Visible property to False. The TcxSchedulerControlBox object is referenced by the TcxScheduler.ControlBox property.


TcxSchedulerControlBox Hierarchy
Hierarchy

TPersistent

     |

TcxSchedulerSubControl

     |

TcxSchedulerControlBox


Properties for TcxSchedulerControlBox
TcxSchedulerControlBox Properties

TcxSchedulerControlBox          Legend

In TcxSchedulerControlBox

Container

Control

Derived from TcxSchedulerSubControl

Bounds

Height

Visible

Width


Methods for TcxSchedulerControlBox
TcxSchedulerControlBox Methods

TcxSchedulerControlBox          Legend

Derived from TcxSchedulerSubControl

Invalidate

InvalidateRect

LayoutChanged

Refresh

SetBounds


TcxSchedulerControlBox.Container

TcxSchedulerControlBox          See Also

Represents a container for an embedded control.

property Container: TWinControl;

Description

The Container property provides access to the standard control that acts as a container for an embedded control. A container is the parent of an embedded control.

ReadOnly Property


TcxSchedulerControlBox.Control

TcxSchedulerControlBox          See Also

Represents the control plugged into the scheduler control and residing in the Control Box pane.

property Control: TControl;

Description

At design time use the Object Inspector to shift a control dropped onto a form to the scheduler control. When you select the desired control from a drop-down list next to the Control property it will be available in the Control Box pane even if this control was placed onto a form somewhere outside the Control Box pane.


TcxSchedulerEventOperations
TcxSchedulerEventOperations Object

Hierarchy          Properties

The TcxSchedulerEventOperations class contains settings that define what operations an end-user can perform on user events.

Unit

cxSchedulerCustomControls

TcxSchedulerEventOperations = class(TPersistent)

Description

These settings (implemented in the TcxSchedulerEventOperations class) define whether an end-user can create, delete, drag or resize user events. Whether they can make them recurring, use the in-place editor, or Event modal dialog to create them or edit their details. The TcxSchedulerEventOperations object is referenced by the TcxScheduler.EventOperations property.


TcxSchedulerEventOperations Hierarchy
Hierarchy

TPersistent

     |

TcxSchedulerEventOperations


Properties for TcxSchedulerEventOperations
TcxSchedulerEventOperations Properties

TcxSchedulerEventOperations          Legend

In TcxSchedulerEventOperations

Creating

Deleting

DialogEditing

DialogShowing

EditingUsingDialog

InplaceEditing

Intersection

Moving

MovingBetweenResources

ReadOnly

Recurrence

SharingBetweenResources

Sizing


TcxSchedulerEventOperations.Creating

TcxSchedulerEventOperations

Specifies whether an end-user is allowed to create a new user event via the pop-up menu, in-place editor or Event modal dialog.

property Creating: Boolean;

Description

If the Creating property is set to True end-users are allowed to create a new user event.

Note: the Creating property can be set to True only if the ReadOnly property is set to False.


TcxSchedulerEventOperations.Deleting

TcxSchedulerEventOperations

Specifies whether end-users can delete user events.

property Deleting: Boolean;

Description

An end-user can delete a user event by selecting the Delete item in the pop-up menu invoked for the desired user event or by clicking the Delete button in the Event modal dialog invoked when an end-user double-clicked on the desired user event or by using the Delete keyboard key when the desired user event is selected. If the Deleting property is set to True an end-user is allowed to delete the user event. Otherwise the features mentioned are disabled.

Note: the Deleting property can be set to True only if the ReadOnly property is set to False.


TcxSchedulerEventOperations.DialogEditing

TcxSchedulerEventOperations

Specifies whether the user event, which loaded into the Event modal dialog, can be edited.

property DialogEditing: Boolean;

Description

Set the DialogEditing property to False to prevent the user event (represented by the TcxSchedulerEvent instance) from being edited in the Event modal dialog.


TcxSchedulerEventOperations.DialogShowing

TcxSchedulerEventOperations

Specifies whether the Event modal dialog can be invoked.

property DialogShowing: Boolean;

Description

An end-user can invoke the Event modal dialog through the pop-up menu or double-clicking the time block or by double-clicking any user event.

Set the DialogShowing property to False to prevent the Event modal dialog from being invoked by the end-user.

The default value of the DialogShowing property is True.


TcxSchedulerEventOperations.EditingUsingDialog

TcxSchedulerEventOperations

Specifies whether the Event modal dialog can be invoked to edit a user event.

property EditingUsingDialog: Boolean;

Description

An end-user can invoke the Event modal dialog to edit a user event’s details by double-clicking the desired user event or through the pop-up menu invoked for the desired user event. If the EditingUsingDialog property is set to True the Event modal dialog can be invoked. Otherwise – not.

Note: the EditingUsingDialog property can be set to True only if the ReadOnly property is set to False.


TcxSchedulerEventOperations.InplaceEditing

TcxSchedulerEventOperations

Specifies whether the in-place editor can be activated for a user event.

property InplaceEditing: Boolean;

Description

An end-user can use the in-place editor to edit a user event. If the InplaceEditing property is set to True the in-place editor can be activated. Otherwise – not.

Note: the InplaceEditing property can be set to True only if the ReadOnly property is set to False.


TcxSchedulerEventOperations.Intersection

TcxSchedulerEventOperations          See Also

Specifies whether the user events can be overlapped.

property Intersection: Boolean;

Description

Set the Intersection property to False to disable user events overlapping.

The default value of the Intersection property is True.


TcxSchedulerEventOperations.Moving

TcxSchedulerEventOperations          See Also

Specifies whether user events can be dragged and dropped to another time block or date by an end-user.

property Moving: Boolean;

Description

An end-user can drag the user event to another time block within the same day or even a different day using either the Date Navigator or when working in the scheduling area using the day, week, weeks or timegrid view. If the Moving property is set to True the user event can be dragged.

Note: the Moving property can be set to True only if the ReadOnly property is set to False.


TcxSchedulerEventOperations.MovingBetweenResources

TcxSchedulerEventOperations

Specifies whether an end-user can drag and drop user events between resources.

property MovingBetweenResources: Boolean;

Description

An end-user can drag and drop the desired user event/user events between the resources currently visible in the scheduling area only if more than one resource is displayed in the scheduling area. If the MovingBetweenResources property is set to True the user event/user events can be dragged between resources.

Note: the MovingBetweenResources property can be set to True only if the ReadOnly property is set to False.


TcxSchedulerEventOperations.ReadOnly

TcxSchedulerEventOperations

Specifies the read-only state of user events.

property ReadOnly: Boolean;

Description

If the ReadOnly property is set to True no changes can be made to user events. In other words all the other TcxSchedulerEventOperations settings controlling the types of changes that can be made to user events are automatically set to False.

The default value of the ReadOnly property is False.


TcxSchedulerEventOperations.Recurrence

TcxSchedulerEventOperations

Specifies whether the Event recurrence modal dialog can be invoked.

property Recurrence: Boolean;

Description

An end-user can invoke the Event recurrence modal dialog by selecting the New Recurring Event item in the pop-up menu invoked for the scheduling area’s content or by clicking the Recurrence button in the Event modal dialog. If the Recurrence property is set to False the New Recurring Event item and the Recurrence button do not appear.

The default value of the Recurrence property is True.


TcxSchedulerEventOperations.SharingBetweenResources

TcxSchedulerEventOperations          See Also

Specifies whether the Resource check combo box is shown in the Event modal dialog.

property SharingBetweenResources: Boolean;

Description

Set the SharingBetweenResources property to True to allow an end-user to assign any resources to the newly created or edited user event by using the Event modal dialog.

The default value of the SharingBetweenResources property is False.


TcxSchedulerEventOperations.Sizing

TcxSchedulerEventOperations          See Also

Specifies whether the time boundaries of user events can be changed by end-users.

property Sizing: Boolean;

Description

An end-user can drag the time boundaries of the user event to change the start or end times of the user event. If the Sizing property is set to True end-users are allowed to drag the boundaries of events.

Note: the Sizing property can be set to True only if the ReadOnly property is set to False.


TcxSchedulerEventPopupMenu
TcxSchedulerEventPopupMenu Object

Hierarchy          Properties          Methods          Events

The TcxSchedulerEventPopupMenu implements a pop-up menu that can be invoked for any available user event in the scheduling area.

Unit

cxSchedulerCustomControls

TcxSchedulerEventPopupMenu = class(TcxSchedulerPopupMenu)

Description

The TcxSchedulerEventPopupMenu provides access to the pop-up menu items and also the user event that the pop-up menu was invoked for. This class exposes an interface for responding to its menu items being selected and to enable the pop-up menu to be customized when it's invoked. The TcxSchedulerEventPopupMenu object is referenced by the TcxScheduler.EventPopupMenu property.

The following images show the pop-up menu invoked for the:


TcxSchedulerEventPopupMenu Hierarchy
Hierarchy

TPersistent

     |

TcxSchedulerPopupMenu

     |

TcxSchedulerEventPopupMenu


Properties for TcxSchedulerEventPopupMenu
TcxSchedulerEventPopupMenu Properties

TcxSchedulerEventPopupMenu          Legend

In TcxSchedulerEventPopupMenu

Event

Items

Derived from TcxSchedulerPopupMenu

PopupMenu

Scheduler

UseBuiltInPopupMenu


Methods for TcxSchedulerEventPopupMenu
TcxSchedulerEventPopupMenu Methods

TcxSchedulerEventPopupMenu          Legend

In TcxSchedulerEventPopupMenu

GetMenuItem

Derived from TcxSchedulerPopupMenu

Popup


Events for TcxSchedulerEventPopupMenu
TcxSchedulerEventPopupMenu Events

TcxSchedulerEventPopupMenu          Legend

In TcxSchedulerEventPopupMenu

OnClick

OnPopup


TcxSchedulerEventPopupMenu.Event

TcxSchedulerEventPopupMenu

Represents the in-memory user event object in the scheduler control that the pop-up menu is currently invoked for.

property Event: TcxSchedulerControlEvent;

Description

Use the Event property to access the user event that the pop-up menu was invoked for.

Note: if more than one user event is selected the Event property returns nil.

ReadOnly Property


TcxSchedulerEventPopupMenu.Items

TcxSchedulerEventPopupMenu

Represents the available pop-up menu items.

property Items: TcxSchedulerEventPopupMenuItems;

Description

Use the Items property to specify the available items in the pop-up menu. A complete set of the available items is specified by the TcxSchedulerEventPopupMenuItems enumeration.

Note: if the cxSchedulerDBStorage component is plugged into the scheduler control (see TcxSchedulerDBStorage) but the TcxSchedulerDBStorageFieldNames.LabelColor property is not bound to the dataset field the Label item won’t appear in the pop-up menu even if the epmiLabel flag on the Items property is active.


TcxSchedulerEventPopupMenu.GetMenuItem

TcxSchedulerEventPopupMenu

Returns the TMenuItem object corresponding to the AItem pop-up menu item or ASubItemIndex submenu item.

function GetMenuItem(AItem: TcxSchedulerEventPopupMenuItem; ASubItemIndex: Integer = -1): TMenuItem;

Description

Invoke the GetMenuItem method within the OnPopup event handler to use the TMenuItem object, associated with the AItem pop-up menu item or ASubItemIndex submenu item (if the Show time as or Label item is selected), to customize the pop-up menu's items.

Note: if the cxSchedulerDBStorage component is plugged into the scheduler control (see TcxSchedulerDBStorage) and the TcxSchedulerDBStorageFieldNames.LabelColor property is not bound to the dataset field the Label item won’t appear in the pop-up menu even if the epmiLabel flag on the Items property is active.


TcxSchedulerEventPopupMenu.OnClick

TcxSchedulerEventPopupMenu          See Also

Fires after an end-user has clicked an AItem pop-up menu item or an ASubItemIndex submenu item.

type

  TcxSchedulerEventPopupMenuClickEvent = procedure(Sender: TcxSchedulerEventPopupMenu; AItem: TcxSchedulerEventPopupMenuItem; ASubItemIndex: Integer; var AHandled: Boolean) of object;

property OnClick: TcxSchedulerEventPopupMenuClickEvent;

Description

Implement the OnClick event handler to provide custom behavior (for example, displaying a submenu) when an end-user has clicked a menu item.

The Sender parameter specifies the pop-up menu invoked;

The AItem parameter specifies the item clicked;

The ASubItemIndex parameter specifies the submenu item clicked;

The AHandled parameter specifies whether default operations are required when the event handler exits. Assign True to the AHandled parameter to avoid executing the default action.


TcxSchedulerEventPopupMenu.OnPopup

TcxSchedulerEventPopupMenu          See Also

Fires after an end-user has invoked the pop-up menu for the desired user event.

type

  TcxSchedulerEventPopupMenuPopupEvent = procedure(Sender: TcxSchedulerEventPopupMenu; ABuiltInMenu: TPopupMenu; var AHandled: Boolean) of object;

property OnPopup: TcxSchedulerEventPopupMenuPopupEvent;

Description

Implement the OnPopup event handler to customize the pop-up menu before it appears.

The Sender parameter specifies the pop-up menu invoked;

The ABuiltInMenu parameter specifies the standard pop-up menu component used as the basis for building an appropriate pop-up menu;

The AHandled parameter specifies whether the default pop-up menu is required when the event handler has finished executing. Assign True to the AHandled parameter to avoid displaying the default pop-up menu.


TcxSchedulerNavigatorButton
TcxSchedulerNavigatorButton Object

Hierarchy          Properties

The TcxSchedulerNavigatorButton class implements a resource navigation button.

Unit

cxSchedulerCustomControls

TcxSchedulerNavigatorButton = class(TCollectionItem)

Description

Resources are used to group schedules (the gkByResource or gkByDate flag on the TcxSchedulerCustomResourceView.GroupingKind property is active and more than one resource is defined) to facilitate managing user time (for details see the Grouping User Events topic).

To show different resources in the scheduling area use the resource navigator. It consists of a resource navigation scrollbar and buttons.

Two sets of resource navigation buttons are available in the resource navigator: the built-in buttons (see the TcxSchedulerResourceNavigator.Buttons property) and custom buttons (see the TcxSchedulerResourceNavigator.CustomButtons property).

The built-in buttons perform standard navigation through the resources, as follows:

•	Scrolling to the first or last resource (see the TcxSchedulerNavigatorButtons.First and TcxSchedulerNavigatorButtons.Last properties);

•	Scrolling resources forwards or backwards one at a time (see the TcxSchedulerNavigatorButtons.Next and TcxSchedulerNavigatorButtons.Prev properties);

•	Browsing through resources by page, forwards or backwards (see the TcxSchedulerNavigatorButtons.NextPage and TcxSchedulerNavigatorButtons.PrevPage properties).

The custom buttons are intended to be used to move through the resources in the scheduling area in a custom manner.

The TcxSchedulerNavigatorButton class implements the functionality of the built-in button and provides base functionality to implement a custom button (see the TcxSchedulerNavigatorCustomButton class).

The TcxSchedulerNavigatorButton class declares the following properties:

•	Enabled – specifies the ability of the button to perform the corresponding operation;

•	Hint – specifies the button’s hint text;

•	ImageIndex – specifies the bitmap to draw a button (if required);

•	Visible – specifies the button’s visibility state in the scheduling area;

•	Bounds – determines the button’s coordinates;

•	IsStandard – determines whether the button is a built-in or custom one;

•	Rotated – determines whether the button is shown vertically or horizontally;

•	VisibleIndex – determines the button’s position in the sequence of visible buttons in the scheduling area.


TcxSchedulerNavigatorButton Hierarchy
Hierarchy

TCollectionItem

     |

TcxSchedulerNavigatorButton


Properties for TcxSchedulerNavigatorButton
TcxSchedulerNavigatorButton Properties

TcxSchedulerNavigatorButton          Legend

In TcxSchedulerNavigatorButton

ActualImageIndex

ActualImageList

Bounds

Enabled

Hint

ImageIndex

IsStandard

Rotated

Scheduler

State

Visible

VisibleIndex


TcxSchedulerNavigatorButton.ActualImageIndex

TcxSchedulerNavigatorButton          See Also

Gets the index of either the built-in or custom bitmap of resource navigation button.

property ActualImageIndex: Integer;

Description

There can be two image collections that are used to draw the resource navigation button. The collection of built-in (internal) images is used by the scheduler to draw the current button if the ImageIndex property is set to – 1 and the current button is the built-in button. And the user-defined image collection (if it was set) is applied to the current button if a value of 0 or greater is assigned to the ImageIndex property.

Use the ActualImageIndex property to determine the index of the bitmap that is currently used (for example, when performing custom drawing).

ReadOnly Property


TcxSchedulerNavigatorButton.ActualImageList

TcxSchedulerNavigatorButton          See Also

References the built-in or user-defined image collection.

property ActualImageList: TCustomImageList;

Description

The ActualImageList property gets a reference to the built-in or user-defined image collection depending upon the ImageIndex property’s value and whether the current resource navigation button is a built-in or custom one. If the ImageIndex property is set to –1 and the current button is a built-in button, then the ActualImageList property references the built-in image collection. If the current button is a custom button and the ImageIndex property is set to 0 or greater, then a reference to the user-defined image collection will be returned.

Note: if the user-defined image collection was not set (see the TcxSchedulerResourceNavigator.ButtonImages property) and a value of 0 or greater is assigned to the ImageIndex property, then a value of nil will be returned by the ActualImageList property. The current button will be drawn as a blank button.

Use the ActualImageList property when performing custom drawing.

ReadOnly Property


TcxSchedulerNavigatorButton.Bounds

TcxSchedulerNavigatorButton

Represents the current resource navigation button’s dimensions.

property Bounds: TRect;

Description

Use the Bounds property to determine the current button’s location when performing custom drawing (see the TcxSchedulerResourceNavigator.OnCustomDrawButton example).

ReadOnly Property


TcxSchedulerNavigatorButton.Enabled

TcxSchedulerNavigatorButton

Specifies whether the current resource navigation button is enabled or disabled.

property Enabled: Boolean;

Description

Set the Enabled property to True to enable the current button so that it responds to end-user actions. If the Enabled property is set to False the current button is dimmed and no operation is performed when the button is clicked.


TcxSchedulerNavigatorButton.Hint

TcxSchedulerNavigatorButton

Specifies the hint’s text.

property Hint: string;

Description

Use the Hint property to specify the text that will be displayed when the mouse pointer hovers over the current resource navigation button.


TcxSchedulerNavigatorButton.ImageIndex

TcxSchedulerNavigatorButton          See Also

Specifies an index of the bitmap used to draw the current resource navigation button.

property ImageIndex: Integer;

Description

Use the ImageIndex property to specify the index of the image used to draw the current resource navigation button’s glyph. If the ImageIndex property is set to –1 and the current button is the built-in button, then the built-in (internal) image is used to draw the button. The built-in button is drawn as a blank button if the value of the ImageIndex property is set to 0 or greater and a user-defined image collection was not specified (see the TcxSchedulerResourceNavigator.ButtonImages property). The custom button is drawn as a blank button if the ImageIndex property is set to –1 or the ImageIndex property is set to 0 or greater and a user-defined image collection was not specified.

The default value of the ImageIndex property is -1.


TcxSchedulerNavigatorButton.IsStandard

TcxSchedulerNavigatorButton          See Also

Gets whether the current resource navigation button is a standard button or a custom one.

property IsStandard: Boolean;

Description

The IsStandard property returns True if the current button is a standard button. False is returned if the current button is a custom button.

ReadOnly Property


TcxSchedulerNavigatorButton.Rotated

TcxSchedulerNavigatorButton          See Also

Gets whether the current resource navigation button is rotated by 90 degrees.

property Rotated: Boolean;

Description

The resource navigation buttons reside vertically to the right of the scheduling area, if the TcxSchedulerOptionsView.GroupingKind property is set to gkByDate and the time view is in the week, weeks or timegrid view. In all other cases the resource navigation buttons are located horizontally at the bottom of the scheduling area.

Note: the resource navigator is not shown in the year view.

The Rotated property returns True if the current button is located vertically.

Use the Rotated property when performing custom drawing.

ReadOnly Property


TcxSchedulerNavigatorButton.Scheduler

TcxSchedulerNavigatorButton

Represents the scheduler control which the current resource navigation button belongs to.

property Scheduler: TcxCustomScheduler;

Description

The scheduler control provides a graphical interface to end-users for scheduling user events. Use the Scheduler property to access the scheduler control instance.

ReadOnly Property


TcxSchedulerNavigatorButton.State

TcxSchedulerNavigatorButton

Gets the state of the current resource navigation button.

TcxButtonState = (cxbsDefault, cxbsNormal, cxbsHot, cxbsPressed, cxbsDisabled);

property State: TcxButtonState;

Description

Use the State property to determine the current button’s state.

ReadOnly Property


TcxSchedulerNavigatorButton.Visible

TcxSchedulerNavigatorButton          See Also

Specifies whether the current resource navigation button is shown in the scheduling area.

property Visible: Boolean;

Description

Set the Visible property to True to display the current button in the scheduling area. Otherwise the button is hidden.


TcxSchedulerNavigatorButton.VisibleIndex

TcxSchedulerNavigatorButton          See Also

Gets the zero-based index, which determines the button’s current position within the resource navigator.

property VisibleIndex: Integer;

Description

The resource navigation buttons reside vertically to the right of the scheduling area, if the TcxSchedulerOptionsView.GroupingKind property is set to gkByDate and the time view is in the week, weeks or timegrid view. In all other cases the resource navigation buttons are located horizontally at the bottom of the scheduling area.

Note: the resource navigator is not shown in the year view.

The resource navigation buttons are ordered from left to right if they are located at the bottom of the scheduling area. And they are ordered from top to bottom if they reside to the right of the scheduling area.

Use the VisibleIndex property to determine the display index of the current button in the sequence of buttons that are currently shown in the scheduling area.

ReadOnly Property


TcxSchedulerNavigatorButtons
TcxSchedulerNavigatorButtons Object

Hierarchy          Properties

The TcxSchedulerNavigatorButtons class implements a collection of the built-in resource navigation buttons.

Unit

cxSchedulerCustomControls

TcxSchedulerNavigatorButtons = class(TPersistent)

Description

To access the built-in button instances the TcxSchedulerNavigatorButtons class declares properties for each built-in button:

•	the First and Last properties specify the buttons that scroll the time view to the first or last resource, respectively;

•	the Next and Prev properties specify the buttons that scroll the time view one resource forward or backward, respectively;

•	the NextPage and PrevPage properties specify the buttons that scroll the time view one resource page forward or backward, respectively (see the TcxSchedulerOptionsView.ResourcesPerPage property);

•	the ShowFewerResources and ShowMoreResources properties specify the buttons that decrement or increment the visible resources one at a time, respectively.

In addition, the TcxSchedulerNavigatorButtons class exposes the Buttons property of the TcxSchedulerNavigatorCustomButtons type. This property represents a collection of the above built-in buttons that can be assigned to the custom buttons collection (see the TcxSchedulerResourceNavigator.CustomButtons property). As a result the built-in buttons will change their location within the resource navigator.

The TcxSchedulerNavigatorButtons object is referenced by the TcxSchedulerResourceNavigator.Buttons property.


TcxSchedulerNavigatorButtons Hierarchy
Hierarchy

TPersistent

     |

TcxSchedulerNavigatorButtons


Properties for TcxSchedulerNavigatorButtons
TcxSchedulerNavigatorButtons Properties

TcxSchedulerNavigatorButtons          Legend

In TcxSchedulerNavigatorButtons

Buttons

First

Last

Next

NextPage

Prev

PrevPage

ResourceNavigator

ShowFewerResources

ShowMoreResources


TcxSchedulerNavigatorButtons.Buttons

TcxSchedulerNavigatorButtons

Represents a collection of the built-in resource navigation buttons, which can also be specified as custom buttons.

property Buttons: TcxSchedulerNavigatorCustomButtons;

Description

The custom buttons are intended to perform custom operations (such as search, filtering and others). The built-in buttons can also be specified as the custom buttons (see the TcxSchedulerResourceNavigator.CustomButtons property) to change their location within the resource navigator.

Use the Buttons property to access a collection of built-in buttons that can then be assigned to the custom buttons collection.

ReadOnly Property


TcxSchedulerNavigatorButtons.First

TcxSchedulerNavigatorButtons          See Also

Specifies the button that scrolls the time view to the first available resource that appears in the scheduling area, according to the layout order.

property First: TcxSchedulerNavigatorButton;

Description

Use the First property to specify which button scrolls to the first visible resource.


TcxSchedulerNavigatorButtons.Last

TcxSchedulerNavigatorButtons          See Also

Specifies the button that scrolls the time view to the last available resource that appears in the scheduling area according to the layout order.

property Last: TcxSchedulerNavigatorButton;

Description

Use the Last property to specify which button scrolls to the last visible resource.


TcxSchedulerNavigatorButtons.Next

TcxSchedulerNavigatorButtons          See Also

Specifies the button that scrolls the time view forward in the scheduling area by one visible resource.

property Next: TcxSchedulerNavigatorButton;

Description

Use the Next property to specify the button which scrolls the time view forward by one visible resource.


TcxSchedulerNavigatorButtons.NextPage

TcxSchedulerNavigatorButtons          See Also

Specifies the button that scrolls the time view forward in the scheduling area by one resource page.

property NextPage: TcxSchedulerNavigatorButton;

Description

The resource page allows scrolling through multiple resources at a time. For example, if three resources per page are specified (see the TcxSchedulerOptionsView.ResourcesPerPage property) then the time view will be scrolled forward by three resources when an end-user clicks the Next Page button. Use the NextPage property to specify the button used to scroll forward one page.


TcxSchedulerNavigatorButtons.Prev

TcxSchedulerNavigatorButtons          See Also

Specifies the button that scrolls the time view backward in the scheduling area by one visible resource.

property Prev: TcxSchedulerNavigatorButton;

Description

Use the Prev property to specify the button that scrolls the time view backward by one visible resource.


TcxSchedulerNavigatorButtons.PrevPage

TcxSchedulerNavigatorButtons          See Also

Specifies the button that scrolls the time view backward in the scheduling area by one resource page.

property PrevPage: TcxSchedulerNavigatorButton;

Description

The resource page allows scrolling through multiple resources at a time. For example, if three resources per page are specified (see the TcxSchedulerOptionsView.ResourcesPerPage property) then the time view will be scrolled backwards by three resources when an end-user clicks the Previous Page button.

Use the PrevPage property to specify the button used to scroll backwards by a page.


TcxSchedulerNavigatorButtons.ResourceNavigator

TcxSchedulerNavigatorButtons

Represents the resource navigator.

property ResourceNavigator: TcxSchedulerResourceNavigator;

Description

The resource navigator comprises the resource navigation scrollbar and buttons.

Use the ResourceNavigator property to access the TcxSchedulerResourceNavigator instance.

ReadOnly Property


TcxSchedulerNavigatorButtons.ShowFewerResources

TcxSchedulerNavigatorButtons          See Also

Specifies the button that decrements the number of resources currently shown in the scheduling area by one per click.

property ShowFewerResources: TcxSchedulerNavigatorButton;

Description

Use the ShowFewerResources property to specify the button which decrements the number of resources currently shown in the scheduling area by one.


TcxSchedulerNavigatorButtons.ShowMoreResources

TcxSchedulerNavigatorButtons          See Also

Specifies the button that increments the number of resources currently shown in the scheduling area by one per click.

property ShowMoreResources: TcxSchedulerNavigatorButton;

Description

Use the ShowMoreResources property to specify the button which increments the number of resources currently shown in the scheduling area by one.


TcxSchedulerOptionsBehavior
TcxSchedulerOptionsBehavior Object

Hierarchy          Properties

The TcxSchedulerOptionsBehavior class represents settings that specify the scheduler’s response to end-user actions.

Unit

cxSchedulerCustomControls

TcxSchedulerOptionsBehavior = class(TPersistent)

Description

Settings include:

•	SelectOnRightClick – specifies whether a time block can be selected by a right-click.

•	HotTrack – specifies whether a task link is highlighted when hot-tracked.

The TcxSchedulerOptionsBehavior object is referenced by the scheduler’s OptionsBehavior property.


TcxSchedulerOptionsBehavior Hierarchy
Hierarchy

TPersistent

     |

TcxSchedulerOptionsBehavior


Properties for TcxSchedulerOptionsBehavior
TcxSchedulerOptionsBehavior Properties

TcxSchedulerOptionsBehavior          Legend

In TcxSchedulerOptionsBehavior

HotTrack

SelectOnRightClick


TcxSchedulerOptionsBehavior.HotTrack

TcxSchedulerOptionsBehavior          See Also

Specifies whether a task link is highlighted when hot-tracked.

property HotTrack: Boolean;

Description

Set the HotTrack property to True, to highlight the task link while the mouse pointer hovers over it.

The default value of the HotTrack property is True.


TcxSchedulerOptionsBehavior.SelectOnRightClick

TcxSchedulerOptionsBehavior

Specifies whether a time block can be selected by a right-click.

property SelectOnRightClick: Boolean;

Description

To allow the time block selection with a right-click (in addition to ordinary clicks), set the SelectOnRightClick property to True.

The default value of the SelectOnRightClick property is False.


TcxSchedulerOptionsCustomize
TcxSchedulerOptionsCustomize Object

Hierarchy          Properties

The TcxSchedulerOptionsCustomize represents the settings that define the behavior of the scheduler’s components.

Unit

cxSchedulerCustomControls

TcxSchedulerOptionsCustomize = class(TPersistent)

Description

The set of settings encapsulated in the TcxSchedulerOptionsCustomize class controls different aspects of resizing the scheduler’s components: whether the scheduler’s components are allowed to be resized, whether the Date Navigator pane is continuously redrawn while the vertical or horizontal splitter is being dragged, or whether the Date Navigator pane is resized in monthly intervals when the vertical or horizontal splitter is being dragged.

The TcxSchedulerOptionsCustomize object is referenced by the TcxScheduler.OptionsCustomize property.


TcxSchedulerOptionsCustomize Hierarchy
Hierarchy

TPersistent

     |

TcxSchedulerOptionsCustomize


Properties for TcxSchedulerOptionsCustomize
TcxSchedulerOptionsCustomize Properties

TcxSchedulerOptionsCustomize          Legend

In TcxSchedulerOptionsCustomize

ControlsSizing

DynamicSizing

IntegralSizing

Scheduler


TcxSchedulerOptionsCustomize.ControlsSizing

TcxSchedulerOptionsCustomize

Specifies whether the scheduler’s components are allowed to be resized.

property ControlsSizing: Boolean;

Description

The ControlsSizing property, if its value is True, enables different kinds of resizing (see the DynamicSizing and IntegralSizing properties).

The default value of the ControlsSizing property is True.


TcxSchedulerOptionsCustomize.DynamicSizing

TcxSchedulerOptionsCustomize          See Also

Specifies whether the Date Navigator pane is continuously redrawn while the vertical or horizontal splitter is being dragged.

property DynamicSizing: Boolean;

Description

An end-user can resize the Date Navigator pane by dragging the vertical or horizontal splitter. If the value of the DynamicSizing property is True the Date Navigator pane is redrawn continuously while it’s being resized. Otherwise it will only be redrawn when resizing has finished (the splitter is released).

Note: the Date Navigator pane is only allowed to be resized when the ControlsSizing property is set to True.

The default value of the DynamicSizing property is False.


TcxSchedulerOptionsCustomize.IntegralSizing

TcxSchedulerOptionsCustomize          See Also

Specifies whether the Date Navigator pane is resized in monthly intervals when the vertical or horizontal splitter is being dragged.

property IntegralSizing: Boolean;

Description

An end-user can resize the Date Navigator pane by dragging the vertical or horizontal splitter. If the IntegralSizing property is set to True the Date Navigator pane is resized in monthly intervals, otherwise it’s resized in pixels to exactly where its border is released (no snapping). As an additional effect, if the DynamicSizing property is set to False the Date Navigator pane will only be redrawn when resizing has finished (the splitter is released). Otherwise the Date Navigator pane will be redrawn continuously while it’s being resized.

Note: the Date Navigator pane is only allowed to be resized when the ControlsSizing property is set to True.

The default value of the IntegralSizing property is True.


TcxSchedulerOptionsCustomize.Scheduler

TcxSchedulerOptionsCustomize

Represents the scheduler control which the current settings apply to.

property Scheduler: TcxCustomScheduler;

Description

The scheduler control provides a graphical interface to end-users for scheduling user events. Use the Scheduler property to access the scheduler control instance.

ReadOnly Property


TcxSchedulerOptionsView
TcxSchedulerOptionsView Object

Hierarchy          Properties

The TcxSchedulerOptionsView represents settings that define the scheduler control’s appearance.

Unit

cxSchedulerCustomControls

TcxSchedulerOptionsView = class(TPersistent)

Description

The set of settings encapsulated in the TcxSchedulerOptionsView class defines the appearance of various elements of the scheduler control.

The TcxSchedulerOptionsView object is referenced by the TcxScheduler.OptionsView property.


TcxSchedulerOptionsView Hierarchy
Hierarchy

TPersistent

     |

TcxSchedulerOptionsView


Properties for TcxSchedulerOptionsView
TcxSchedulerOptionsView Properties

TcxSchedulerOptionsView          Legend

In TcxSchedulerOptionsView

ActualStartOfWeek

AdditionalTimeZone

AdditionalTimeZoneDaylightSaving

AdditionalTimeZoneLabel

CurrentTimeZone

CurrentTimeZoneDaylightSaving

CurrentTimeZoneLabel

DayBorderColor

EventBorderColor

EventHeight

GroupingKind

GroupSeparatorWidth

HideSelection

HorzSplitterWidth

ResourceHeaders

ResourcesPerPage

RotateResourceCaptions

Scheduler

ShowAdditionalTimeZone

ShowEventsWithoutResource

ShowHints

ShowNavigationButtons

StartOfWeek

VertSplitterWidth

ViewPosition

WorkDays

WorkFinish

WorkStart


TcxSchedulerOptionsView.ActualStartOfWeek

TcxSchedulerOptionsView          See Also

Gets the day, which is treated as the first day in each week.

property ActualStartOfWeek: TDay;

Description

The ActualStartOfWeek property gets the day, that the StartOfWeek property was set to, or returned by the host environment, if the swSystem flag on the StartOfWeek property is active.

ReadOnly Property


TcxSchedulerOptionsView.AdditionalTimeZone

TcxSchedulerOptionsView          See Also

Specifies the time zone number for the second time ruler.

property AdditionalTimeZone: Integer;

Description

The second time ruler may be useful when scheduling user events with people in different time zones. The second time ruler, if specified, appears to the left of the primary time ruler (see the CurrentTimeZone property) in the scheduling area. The intervals in the time ruler depend on the TcxSchedulerDayView.TimeScale’s value.

Note: the times of user events are displayed in corresponds to the primary time ruler. The times of user events that are persisted in a data store depend on the TcxCustomSchedulerStorage.StoreUsingGlobalTime property’s value.

The default value of the AdditionalTimeZone property is -1.


TcxSchedulerOptionsView.AdditionalTimeZoneDaylightSaving

TcxSchedulerOptionsView          See Also

Specifies whether daylight saving time is applied to the second time ruler.

property AdditionalTimeZoneDaylightSaving: Boolean;

Description

Set the AdditionalTimeZoneDaylightSaving property to True, to display the local time in the second time ruler based on the host environment settings.

The default value of the AdditionalTimeZoneDaylightSaving property is False.


TcxSchedulerOptionsView.AdditionalTimeZoneLabel

TcxSchedulerOptionsView          See Also

Specifies the name of the second time ruler in the scheduling area.

property AdditionalTimeZoneLabel: string;

Description

Use the AdditionalTimeZoneLabel property to specify the name of the second time ruler.


TcxSchedulerOptionsView.CurrentTimeZone

TcxSchedulerOptionsView          See Also

Specifies the time zone number for the primary time ruler.

property CurrentTimeZone: Integer;

Description

The primary time ruler appears to the left of the scheduling area. The time intervals used in the time ruler depend on the TcxSchedulerDayView.TimeScale’s value.

Note: the time user events are displayed in corresponds to the primary time ruler. The times that are persisted in a data store for the user events depends upon the TcxCustomSchedulerStorage.StoreUsingGlobalTime property’s value.

The default value of the CurrentTimeZone property is -1.


TcxSchedulerOptionsView.CurrentTimeZoneDaylightSaving

TcxSchedulerOptionsView          See Also

Specifies whether daylight saving time is applied to the primary time ruler.

property CurrentTimeZoneDaylightSaving: Boolean;

Description

Set the CurrentTimeZoneDaylightSaving property to True, to display the local time in the primary time ruler based on the host environment settings.

The default value of the CurrentTimeZoneDaylightSaving property is False.


TcxSchedulerOptionsView.CurrentTimeZoneLabel

TcxSchedulerOptionsView          See Also

Specifies the name of the primary time ruler in the scheduler control.

property CurrentTimeZoneLabel: string;

Description

Use the CurrentTimeZoneLabel property to specify the name of the primary time ruler.


TcxSchedulerOptionsView.DayBorderColor

TcxSchedulerOptionsView

Specifies a color for the day’s boundaries.

property DayBorderColor: TColor;

Description

Use the DayBorderColor property to specify a color for each day’s boundaries.

Note: if the value of the DayBorderColor property is clDefault the clWindowText color is used to paint the boundaries of days.

The default value of the DayBorderColor property is clBlack.


TcxSchedulerOptionsView.EventBorderColor

TcxSchedulerOptionsView

Specifies the border color of the user event’s rectangle.

property EventBorderColor: TColor;

Description

Use the EventBorderColor property to specify the border color of the user event’s rectangle.

The default value of the EventBorderColor property is clBlack.


TcxSchedulerOptionsView.EventHeight

TcxSchedulerOptionsView

Specifies the height of the user event’s rectangle.

property EventHeight: Integer;

Description

The rectangle’s minimum height is limited by the current size of the font used for the user event’s subject text (see the TcxSchedulerEvent.Caption property). If the rectangle’s height is set to less than the current font size then the scheduler will be forced to increase the rectangle’s height to correctly display the user event’s caption.

As for the user event’s icons they will be always clipped if their height is greater than the rectangle’s height.

If the EventHeight property’s value is 0 then the height of the user event’s rectangle is calculated automatically.

The default value of the EventHeight property is 0.


TcxSchedulerOptionsView.GroupingKind

TcxSchedulerOptionsView

Specifies the kind of schedules grouping in the scheduling area.

property GroupingKind: TcxSchedulerGroupingKind;

Description

The available types of grouping for schedules are specified by the TcxSchedulerGroupingKind enumeration.

Note: the TcxSchedulerCustomResourceView.GroupingKind property has a higher priority than this property.

The default value of the GroupingKind property is gkDefault.


TcxSchedulerOptionsView.GroupSeparatorWidth

TcxSchedulerOptionsView

Specifies the group separator’s width in pixels.

property GroupSeparatorWidth: Integer;

Description

The group separator is a bar that visually divides groups of schedules.

Note: the group separator bar is only applicable if the TcxSchedulerOptionsView.GroupSeparatorWidth property has a value greater than 0.

The default value of the GroupSeparatorWidth property is cxDefaultGroupSeparatorWidth.


TcxSchedulerOptionsView.HideSelection

TcxSchedulerOptionsView

Specifies whether the selected time block remains highlighted when the scheduler control loses focus.

property HideSelection: Boolean;

Description

Set the HideSelection property to False to leave the selected time block highlighted when the scheduler control becomes inactive (loses focus).

The default value of the HideSelection property is True.


TcxSchedulerOptionsView.HorzSplitterWidth

TcxSchedulerOptionsView          See Also

Specifies the width of the horizontal splitter in pixels.

property HorzSplitterWidth: Integer;

Description

The horizontal splitter is the horizontal bar between the Date Navigator and the Control Box.

Note: the splitter’s minimum width cannot be less than that denoted by the cxMinSplitterWidth constant.

The default value of the HorzSplitterWidth property is cxDefaultSplitterWidth.


TcxSchedulerOptionsView.ResourceHeaders

TcxSchedulerOptionsView

Represents settings for the resource header.

property ResourceHeaders: TcxSchedulerResourceHeaders;

Description

The settings which this property encapsulates allow the height of the resource header (see the Height property) and the position of the resource’s icon relative to the resource’s name (see the ImagePosition property) to be specified. You can also specify whether the resource’s name can be wrapped to the resource header’s rectangle (see the MultilineCaptions property), and whether the resource’s name can be rotated by 90 degrees (see the RotateCaptions property).


TcxSchedulerOptionsView.ResourcesPerPage

TcxSchedulerOptionsView          See Also

Specifies how many resources are shown in the scheduling area at a time.

property ResourcesPerPage: Integer;

Description

The scheduler supports browsing resources by pages in the scheduling area. To enable this feature the ResourcesPerPage property should be set to a value greater than 0. If the ResourcesPerPage property is set to 0 (it’s the default value) then all the visible resources in the scheduler will be shown in the scheduling area.

The default value of the ResourcesPerPage property is cxDefaultResourcesPerPage.


TcxSchedulerOptionsView.RotateResourceCaptions

TcxSchedulerOptionsView          See Also

Specifies whether the captions of resource headers are displayed horizontally or vertically under the week, weeks or timegrid view, when schedules are grouped by dates.

property RotateResourceCaptions: Boolean;

Description

If the value of the RotateResourceCaptions property is True resource header captions are displayed vertically. Otherwise they are displayed horizontally.

Note: beginning with ExpressScheduler 2 the RotateResourceCaptions property cannot be used at design time. Use the TcxSchedulerResourceHeaders.RotateCaptions property instead.

The default value of the RotateResourceCaptions property is True.


TcxSchedulerOptionsView.Scheduler

TcxSchedulerOptionsView

Represents the scheduler control to which the current settings apply.

property Scheduler: TcxCustomScheduler;

Description

The scheduler control provides a graphical interface to end-users for scheduling user events. Use the Scheduler property to access the scheduler control instance.

ReadOnly Property


TcxSchedulerOptionsView.ShowAdditionalTimeZone

TcxSchedulerOptionsView          See Also

Specifies whether the second time ruler is shown in the scheduling area.

property ShowAdditionalTimeZone: Boolean;

Description

Set the ShowAdditionalTimeZone property to True to make the second time ruler visible in the scheduling area.

The default value of the ShowAdditionalTimeZone property is False.


TcxSchedulerOptionsView.ShowEventsWithoutResource

TcxSchedulerOptionsView

Specifies whether user events that do not belong to any resource are visible in the scheduling area when schedules are grouped by resources or dates.

property ShowEventsWithoutResource: Boolean;

Description

The user event doesn’t belong to any resource if the value of the TcxSchedulerEvent.ResourceID property is null.

Set the ShowEventsWithoutResource property to True to make user events visible when schedules are grouped by resources or dates (the gkByResource or gkByDate flag on the TcxSchedulerCustomResourceView.GroupingKind property is active and more than one resource is defined).

The default value of the ShowEventsWithoutResource property is False.


TcxSchedulerOptionsView.ShowHints

TcxSchedulerOptionsView          See Also

Specifies whether the hint window is displayed when an end-user positions the mouse pointer over the user event’s rectangle.

property ShowHints: Boolean;

Description

If the value of the ShowHints property is True the hint window is shown when an end-user positions the mouse pointer over the user event’s rectangle.

Note: the hint window is only displayed if the user event’s subject (see the TcxSchedulerEvent.Caption property) doesn’t fit its area in the user event’s rectangle, or at least an empty implementation of the scheduler’s OnGetEventHintText event is provided.

The default value of the ShowHints property is True.


TcxSchedulerOptionsView.ShowNavigationButtons

TcxSchedulerOptionsView          See Also

Specifies whether user event navigation buttons are to be displayed in the View.

property ShowNavigationButtons: Boolean;

Description

User event navigation buttons are displayed in the View, if no user events are scheduled on the date that is currently shown in the View.

These buttons are used to bring the nearest user event (scheduled on another date) into the View.

If you need to provide more space in the content area, set the ShowNavigationButtons property to False, to suppress user event navigation buttons.

The default value of the ShowNavigationButtons property is True.


TcxSchedulerOptionsView.StartOfWeek

TcxSchedulerOptionsView          See Also

Specifies the day, which will be treated as the first day in each week.

property StartOfWeek: TcxStartOfWeek;

Description

Days of the week are specified by the TcxStartOfWeek enumeration.


TcxSchedulerOptionsView.VertSplitterWidth

TcxSchedulerOptionsView          See Also

Specifies the width of the vertical splitter in pixels.

property VertSplitterWidth: Integer;

Description

The vertical splitter is a vertical bar between the scheduling area on one side and the Date Navigator and Control Box on the other.

Note: the splitter’s minimum width cannot be less than that denoted by the cxMinSplitterWidth constant.

The default value of the VertSplitterWidth property is cxDefaultSplitterWidth.


TcxSchedulerOptionsView.ViewPosition

TcxSchedulerOptionsView

Specifies the position of the scheduling area with respect to the Date Navigator and Control Box panes in the scheduler control.

property ViewPosition: TcxSchedulerViewPosition;

Description

Refer to the TcxSchedulerViewPosition enumeration that provides a description of available values.

The default value of the ViewPosition property is vpRight.


TcxSchedulerOptionsView.WorkDays

TcxSchedulerOptionsView          See Also

Specifies the days that contain work hours.

type

  TDay = (dSunday, dMonday, dTuesday, dWednesday, dThursday, dFriday, dSaturday);

  TDays = set of TDay;

property WorkDays: TDays;

Description

Use the WorkDays property to specify the days that are displayed as workdays in the scheduling area.

Note the following:

•	The resource’s WorkDays property has the higher priority than the WorkDays property.

•	The View’s CompressWeekEnd and HideWeekEnd properties don’t depend upon the resource’s WorkDays property, so this property doesn’t affect the View layout. It only informs the scheduler in which days time blocks are to be painted as work hours (see the resource’s WorkStart and WorkFinish properties).


TcxSchedulerOptionsView.WorkFinish

TcxSchedulerOptionsView          See Also

Specifies the end of the work hours, displayed in the scheduling area.

property WorkFinish: TTime;

Description

Use the WorkFinish property to specify the end of work hours.

Note that the resource’s WorkFinish property has the higher priority than the WorkFinish property.


TcxSchedulerOptionsView.WorkStart

TcxSchedulerOptionsView          See Also

Specifies the beginning of the work hours, displayed in the scheduling area.

property WorkStart: TTime;

Description

Use the WorkStart property to specify the beginning of work hours.

Note that the resource’s WorkStart property has the higher priority than the WorkStart property.


TcxSchedulerPopupMenu
TcxSchedulerPopupMenu Object

Hierarchy          Properties          Methods

The TcxSchedulerPopupMenu provides the implementation for pop-up menus within the scheduler control.

Unit

cxSchedulerCustomControls

TcxSchedulerPopupMenu = class(TPersistent)

Description

The TcxSchedulerPopupMenu is the base class for classes implementing different types of pop-up menu that can be invoked for different areas of the scheduler control.


TcxSchedulerPopupMenu Hierarchy
Hierarchy

TPersistent

     |

TcxSchedulerPopupMenu


Properties for TcxSchedulerPopupMenu
TcxSchedulerPopupMenu Properties

TcxSchedulerPopupMenu          Legend

In TcxSchedulerPopupMenu

PopupMenu

Scheduler

UseBuiltInPopupMenu


Methods for TcxSchedulerPopupMenu
TcxSchedulerPopupMenu Methods

TcxSchedulerPopupMenu          Legend

In TcxSchedulerPopupMenu

Popup


TcxSchedulerPopupMenu.PopupMenu

TcxSchedulerPopupMenu          See Also

Represents a pop-up menu built by a developer from scratch based on the standard pop-up menu control or a third-party pop-up menu control.

property PopupMenu: TComponent;

Description

It may be necessary to create a new pop-up menu not covered by the current scheduler pop-up menu implementers. Once it’s developed use the PopupMenu property to bind the newly created pop-up menu to the scheduler control.


TcxSchedulerPopupMenu.Scheduler

TcxSchedulerPopupMenu

Represents the scheduler control the pop-up menu is invoked for.

property Scheduler: TcxCustomScheduler;

Description

The scheduler control provides a graphical interface to end-users for scheduling user events. Use the Scheduler property to access the scheduler control’s instance.

ReadOnly Property


TcxSchedulerPopupMenu.UseBuiltInPopupMenu

TcxSchedulerPopupMenu

Specifies whether to use the built-in pop-up menu or a custom one.

property UseBuiltInPopupMenu: Boolean;

Description

Set the UseBuiltInPopupMenu property to True to use the scheduler’s proprietary pop-up menu. Otherwise the pop-up menu, represented by the PopupMenu property, is used.

The default value of the UseBuiltInPopupMenu property is True.


TcxSchedulerPopupMenu.Popup

TcxSchedulerPopupMenu

Displays the pop-up menu on screen.

function Popup(X, Y: Integer): Boolean; virtual;

Description

The pop-up menu appears at the position specified in pixels by the X and Y screen coordinates.


TcxSchedulerResourceHeaders
TcxSchedulerResourceHeaders Object

Hierarchy          Properties

The TcxSchedulerResourceHeaders class contains settings for the resource header.

Unit

cxSchedulerCustomControls

TcxSchedulerResourceHeaders = class(TPersistent)

Description

The settings contained in this class allow the height of the resource header to be specified (see the Height property), and the position of the resource’s icon relative to the resource’s name (see the ImagePosition property). You can also specify whether the resource’s name can be wrapped to the resource header’s rectangle (see the MultilineCaptions property). And also whether the resource’s name can be rotated by 90 degrees (when scheduling under the week, weeks or timegrid view and if the schedules are grouped by dates – see the RotateCaptions property).

The TcxSchedulerResourceHeaders object is referenced by the TcxSchedulerOptionsView.ResourceHeaders property.


TcxSchedulerResourceHeaders Hierarchy
Hierarchy

TPersistent

     |

TcxSchedulerResourceHeaders


Properties for TcxSchedulerResourceHeaders
TcxSchedulerResourceHeaders Properties

TcxSchedulerResourceHeaders          Legend

In TcxSchedulerResourceHeaders

Height

ImagePosition

MultilineCaptions

RotateCaptions


TcxSchedulerResourceHeaders.Height

TcxSchedulerResourceHeaders          See Also

Specifies the height of the resource header.

property Height: Integer;

Description

If the resource header’s contents are taller than the height which was specified by the Height property, then the contents will be clipped. To allow the scheduler to automatically calculate the height required by the resource header’s contents, set the Height property to 0.

The default value of the Height property is 0.


TcxSchedulerResourceHeaders.ImagePosition

TcxSchedulerResourceHeaders          See Also

Specifies where the resource’s icon is positioned relative to the resource’s name in the resource header.

property ImagePosition: TcxSchedulerHeaderImagePosition;

Description

Four positions can be specified for the icon (relative to the resource’s name) – top, bottom, left and right. If the resource’s caption is rotated (see the RotateCaptions property), then the above positions will be shifted counterclockwise by an angle of 90 degrees.

Note: the resource’s caption can be only rotated when scheduling under the week, weeks or timegrid view and if schedules are grouped by dates.


TcxSchedulerResourceHeaders.MultilineCaptions

TcxSchedulerResourceHeaders

Specifies whether the text in the resource header’s caption can be wrapped to the caption’s rectangle.

property MultilineCaptions: Boolean;

Description

The text which appears in the header’s caption is the resource’s name (see the TcxSchedulerStorageResourceItem.Name property).

Set the MultilineCaptions property to True to wrap the text. Otherwise the text will reside in a single line. If the text doesn’t fit the rectangle’s width, it will be clipped.

The default value of the MultilineCaptions property is False.


TcxSchedulerResourceHeaders.RotateCaptions

TcxSchedulerResourceHeaders          See Also

Specifies whether the captions of resource headers are displayed horizontally or vertically under the week, weeks or timegrid view, when schedules are grouped by dates.

property RotateCaptions: Boolean;

Description

If the value of the RotateCaptions property is True resource header captions are displayed vertically. Otherwise they are displayed horizontally.

Note: beginning with ExpressScheduler 2 the TcxSchedulerOptionsView.RotateResourceCaptions property is a legacy property and it is not available at design time. Use the RotateCaptions property instead.

The default value of the RotateCaptions property is True.


TcxSchedulerResourceNavigator
TcxSchedulerResourceNavigator Object

Hierarchy          Properties          Methods          Events          See Also

The TcxSchedulerResourceNavigator class implements the resource navigator.

Unit

cxSchedulerCustomControls

TcxSchedulerResourceNavigator = class(TcxSchedulerSubControl)

Description

Resources are used to group schedules (the gkByResource or gkByDate flag on the TcxSchedulerCustomResourceView.GroupingKind property is active and more than one resource is defined) to facilitate managing user time.

The scheduler allows an end-user to navigate through the resources in the scheduling area. To change the resources in the time view, an end-user can use the resource navigation buttons and scrollbar located in the scheduling area:

An end-user can scroll resources forwards or backwards one at a time, browse resources by pages forwards or backwards, jump to the first or last resource and increment or decrement the number of resources that will be displayed in the scheduling area.

The TcxSchedulerResourceNavigator class provides a flexible mechanism for organizing resources into multiple pages to allow end-users to view resources which have been split across pages or to show all the resources in the scheduling area at the same time (see the TcxSchedulerOptionsView.ResourcesPerPage property).

It allows custom buttons to be specified to define other ways of changing the resources displayed in the scheduling area (see the CustomButtons property and the OnButtonClick event).

The TcxSchedulerResourceNavigator class provides access to the built-in buttons (see the Buttons property) allowing them to be modified as follows:

•	the visibility of each button (see the TcxSchedulerNavigatorButton.Visible property);

•	the button’s glyph (see the TcxSchedulerNavigatorButton.ImageIndex property);

•	the hint text (see the TcxSchedulerNavigatorButton.Hint property).

The visibility of the entire resource navigator can be specified (see the Visibility property) or just a set of the resource navigation buttons (see the ShowButtons property).

If required, a different collection of images with which the buttons are drawn can be specified (see the ButtonImages property). And the buttons can also be custom painted (see the TcxSchedulerResourceNavigator.OnCustomDrawButton event).

The TcxSchedulerResourceNavigator object is referenced by the TcxScheduler.ResourceNavigator property.


TcxSchedulerResourceNavigator Hierarchy
Hierarchy

TPersistent

     |

TcxSchedulerSubControl

     |

TcxSchedulerResourceNavigator


Properties for TcxSchedulerResourceNavigator
TcxSchedulerResourceNavigator Properties

TcxSchedulerResourceNavigator          Legend

In TcxSchedulerResourceNavigator

ButtonImages

Buttons

CustomButtons

ItemCount

Items

ResourceCount

ScrollBarKind

ShowButtons

Visibility

VisibleButtonCount

Derived from TcxSchedulerSubControl

Bounds

Height

Scheduler

Visible

Width


Methods for TcxSchedulerResourceNavigator
TcxSchedulerResourceNavigator Methods

TcxSchedulerResourceNavigator          Legend

In TcxSchedulerResourceNavigator

NeedScrollBar

Derived from TcxSchedulerSubControl

Invalidate

InvalidateRect

LayoutChanged

Refresh

SetBounds


Events for TcxSchedulerResourceNavigator
TcxSchedulerResourceNavigator Events

TcxSchedulerResourceNavigator          Legend

In TcxSchedulerResourceNavigator

OnButtonClick

OnCustomDrawButton


TcxSchedulerResourceNavigator.ButtonImages

TcxSchedulerResourceNavigator          See Also

Represents the user-defined collection of resource navigation button glyphs.

property ButtonImages: TCustomImageList;

Description

Use the ButtonImages property to access the user-defined collection of bitmaps used to draw the resource navigation buttons.

Note: the button’s height depends upon the scrollbar’s size.


TcxSchedulerResourceNavigator.Buttons

TcxSchedulerResourceNavigator          See Also

Represents the collection of built-in resource navigation buttons.

property Buttons: TcxSchedulerNavigatorButtons;

Description

The built-in resource navigation buttons scroll resources in built-in ways, such as scrolling to the first resource or last resource, scrolling forwards or backwards, browsing resources by pages forwards or backwards by resources, incrementing or decrementing the number of resources displayed in the scheduling area.

Use the Buttons property to access the built-in buttons collection.


TcxSchedulerResourceNavigator.CustomButtons

TcxSchedulerResourceNavigator          See Also

Represents the collection of custom resource navigation buttons.

property CustomButtons: TcxSchedulerNavigatorCustomButtons;

Description

The custom buttons can be used to perform custom operations (such as search, filtering and so on).

Use the CustomButtons property to access the custom buttons collection.


TcxSchedulerResourceNavigator.ItemCount

TcxSchedulerResourceNavigator          See Also

Gets a count of the resource navigation buttons.

property ItemCount: Integer;

Description

The ItemCount property gets a count of the buttons as a quantity of the built-in and custom resource navigation buttons.

ReadOnly Property


TcxSchedulerResourceNavigator.Items

TcxSchedulerResourceNavigator          See Also

Provides indexed access to the resource navigation buttons.

property Items[Index:Integer]: TcxSchedulerNavigatorButton;

Description

Use the Items property to get access to either the built-in or custom resource navigation buttons.

ReadOnly Property


TcxSchedulerResourceNavigator.ResourceCount

TcxSchedulerResourceNavigator          See Also

Gets a count of the resources.

property ResourceCount: Integer;

Description

Use the ResourceCount property to get a count of the resources in the storage the TcxSchedulerStorageResourceItem.Visible property of which is set to True.

ReadOnly Property


TcxSchedulerResourceNavigator.ScrollBarKind

TcxSchedulerResourceNavigator          See Also

Gets the scrollbar's orientation.

property ScrollBarKind: TScrollBarKind;

Description

The resource navigation scrollbar is used to scroll the resources in the scheduling area.

Along with the resource navigation buttons it resides vertically to the right of the scheduling area, if the TcxSchedulerOptionsView.GroupingKind property is set to gkByDate and the time view is in the week, weeks or timegrid view. In all other cases the resource navigation scrollbar is located horizontally at the bottom of the scheduling area (as well as the resource navigation buttons).

Note: the resource navigator is not shown in the year view.

Use the ScrollBarKind property to determine the scrollbar's orientation.

ReadOnly Property


TcxSchedulerResourceNavigator.ShowButtons

TcxSchedulerResourceNavigator          See Also

Specifies whether the resource navigation buttons are shown in the scheduling area.

property ShowButtons: Boolean;

Description

The resource navigation buttons (along with the resource navigation scrollbar) are used to scroll the resources in the scheduling area. Set the ShowButtons property to False to hide the resource navigation buttons, if required.

Note: the resource navigation buttons will be displayed in the scheduling area if the snvAlways or snvAuto flag is active on the Visibility property while the ShowButtons property’s value is True. As for the snvAuto flag, at least one resource should be specified in the scheduler and the TcxSchedulerOptionsView.ResourcesPerPage property should be set to 1 or greater (one or more resources will be shown in the scheduling area at a time) to display the buttons.

The default value of the ShowButtons property is True.


TcxSchedulerResourceNavigator.Visibility

TcxSchedulerResourceNavigator

Specifies the visibility of the resource navigation buttons and scrollbar in the scheduling area.

property Visibility: TcxSchedulerNavigatorVisibilityMode;

Description

This property has three possible settings – snvNever, snvAlways and snvAuto, as enumerated by the TcxSchedulerNavigatorVisibilityMode type.

If the Visibility property is set to the snvNever flag, the resource navigation buttons and scrollbar are not shown in the scheduling area.

The snvAlways flag means that the resource navigation buttons and scrollbar are always displayed in the scheduling area.

The snvAuto flag denotes that the visibility depends upon the TcxSchedulerOptionsView.ResourcesPerPage property’s value. If the TcxSchedulerOptionsView.ResourcesPerPage property is set to 0 (all the resources will appear in the scheduling area) then the buttons and scrollbar are not shown. In all other cases the resource navigation buttons and scrollbar will be displayed.

Note: for the two latter visibility states (if the snvAlways or snvAuto flag is active) the resource navigation buttons are only shown if the ShowButtons property is set to True.

The default value of the Visibility property is snvAuto.


TcxSchedulerResourceNavigator.VisibleButtonCount

TcxSchedulerResourceNavigator          See Also

Gets a count of the resource navigation buttons that are currently visible in the scheduling area.

property VisibleButtonCount: Integer;

Description

The VisibleButtonCount property’s value is dependent upon the button’s visible states specified by the ShowButtons, Visibility and TcxSchedulerNavigatorButton.Visible properties. For example, the VisibleButtonCount property returns a value of 0 if there aren't any resource navigation buttons shown in the scheduling area. The resource navigation buttons will be completely hidden under the following conditions:

1.	The ShowButtons property is set to False;

2.	The Visibility property is set to snvNever;

3.	The Visibility property is set to snvAuto, and at least one resource is specified in the scheduler (see the ResourceCount property) and the TcxSchedulerOptionsView.ResourcesPerPage property is set to 0 (all the resources will appear in the scheduling area);

4.	The TcxSchedulerNavigatorButton.Visible property of every resource navigation button is set to False.

ReadOnly Property


TcxSchedulerResourceNavigator.NeedScrollBar

TcxSchedulerResourceNavigator          See Also

Determines whether the resource navigation scrollbar will appear in the scheduling area.

function NeedScrollBar: Boolean; virtual;

Description

The NeedScrollBar method returns True if the Visibility property is set to snvAlways (the scrollbar will be always displayed in the scheduling area). And it also returns True if the Visibility property is set to snvAuto and at least one resource is specified in the scheduler (see the ResourceCount property) and the TcxSchedulerOptionsView.ResourcesPerPage property is set to a value of 1 or greater (one or more resources will appear in the scheduling area at a time). In all other cases – False.


TcxSchedulerResourceNavigator.OnButtonClick

TcxSchedulerResourceNavigator          See Also

Fires when either the built-in or custom resource navigation button has been clicked.

type

  TcxSchedulerNavigatorButtonClickEvent = procedure(Sender: TcxSchedulerResourceNavigator; AButton: TcxSchedulerNavigatorButton; var AHandled: Boolean) of object;

property OnButtonClick: TcxSchedulerNavigatorButtonClickEvent;

Description

Implement the OnButtonClick event handler to provide custom behavior when the built-in or custom resource navigation button has been clicked.

The Sender parameter specifies the resource navigator;

The AButton parameter specifies the instance of the button clicked;

The AHandled parameter specifies whether the default behavior is required when the event handler has finished its executing. Assign the AHandled parameter a value of True to prevent the default behavior from being executed when the OnButtonClick event handler exits. The AHandled parameter’s value is in effect if the built-in resource navigation button has been clicked.


TcxSchedulerResourceNavigator.OnCustomDrawButton

TcxSchedulerResourceNavigator          See Also

Fires when either the built-in or a custom resource navigation button is about to be drawn.

type

  TcxSchedulerNavigatorCustomDrawButtonEvent = procedure(Sender: TcxSchedulerResourceNavigator; ACanvas: TcxCanvas; AButton: TcxSchedulerNavigatorButton; var ADone: Boolean) of object;

property OnCustomDrawButton: TcxSchedulerNavigatorCustomDrawButtonEvent;

Description

Implement the OnCustomDrawButton event handler to provide custom drawing of the built-in or custom resource navigation button.

The Sender parameter specifies the resource navigator;

The ACanvas parameter specifies the drawing surface;

The AButton parameter specifies the instance, which represents the button to be drawn;

The ADone parameter specifies whether the default behavior is required when the event handler has finished executing. Assign the ADone parameter a value of True to prevent the default behavior from being executed when the OnCustomDrawButton event handler exits.

The following code shows how to implement custom drawing of the built-in buttons using the Office11 style:

// Delphi

uses dxOffice11;

// ...

begin

  with AButton do

  begin

    FillTubeGradientRect(ACanvas.Handle, Bounds,

      dxOffice11ToolbarsColor1, dxOffice11ToolbarsColor2, Rotated);

    if State in [cxbsHot, cxbsPressed] then

      TcxOffice11LookAndFeelPainter.DrawButton(ACanvas, Bounds, '', State);

    if ActualImageList <> nil then

      ActualImageList.Draw(ACanvas.Canvas, Bounds.Left + 4 - 2 * Byte(Rotated),

        Bounds.Top + 3 + Byte(Rotated), ActualImageIndex, Enabled);

    ADone := True;

  end;

end;

This is the result when the above code has been executed:


TcxSchedulerStyles
TcxSchedulerStyles Object

Hierarchy          Properties          Methods          Events

Represents style settings for the scheduler control’s elements.

Unit

cxSchedulerCustomControls

TcxSchedulerStyles = class(TcxStyles)

Description

While its ancestor the TcxStyles provides access to the style attributes the TcxSchedulerStyles introduces styles for the appropriate scheduler control’s elements. The TcxSchedulerStyles object is referenced by the TcxScheduler.Styles property.


TcxSchedulerStyles Hierarchy
Hierarchy

TcxStyles

     |

TcxSchedulerStyles


Properties for TcxSchedulerStyles
TcxSchedulerStyles Properties

TcxSchedulerStyles          Legend

In TcxSchedulerStyles

Background

Content

DayHeader

Event

HorzSplitter

ResourceHeader

Scheduler

Selection

VertSplitter


Methods for TcxSchedulerStyles
TcxSchedulerStyles Methods

TcxSchedulerStyles          Legend

In TcxSchedulerStyles

GetBackgroundParams

GetContentParams

GetDayHeaderParams

GetEventContentParams

GetGroupSeparatorParams

GetSelectionParams

GetSplitterParams


Events for TcxSchedulerStyles
TcxSchedulerStyles Events

TcxSchedulerStyles          Legend

In TcxSchedulerStyles

OnGetContentStyle

OnGetDayHeaderStyle

OnGetEventStyle

OnGetResourceHeaderStyle


TcxSchedulerStyles.Background

TcxSchedulerStyles

Specifies style settings for the scheduler control’s background.

property Background: TcxStyle;

Description

Use the Background property to specify styles for the scheduler control’s background.

See the examples in the Styles topic.

Note: the scheduling area’s background is only visible under the day view when the view occupies a part of the scheduling area along the y-axis (the vertical scrollbar in the scheduling area disappears).


TcxSchedulerStyles.Content

TcxSchedulerStyles          See Also

Specifies the style settings for the time blocks in the scheduling area and the Date Navigator’s calendar.

property Content: TcxStyle;

Description

Use the Content property to specify styles for the time blocks in the scheduling area.

See the examples in the Styles topic.


TcxSchedulerStyles.DayHeader

TcxSchedulerStyles          See Also

Specifies the style settings for the headers of days (except for the current day).

property DayHeader: TcxStyle;

Description

Use the Header property to specify styles for the headers of days (except for the current day).

Note: if the LookAndFeel.NativeStyle property is set to True, the scheduler control is painted with the native windows style and the Header property’s value is ignored. The same is true for when the lfOffice11 flag on the LookAndFeel.Kind property is active.

See the examples in the Styles topic.


TcxSchedulerStyles.Event

TcxSchedulerStyles          See Also

Specifies style settings for the scheduled user event in the scheduling area.

property Event: TcxStyle;

Description

Use the Event property to specify styles for the scheduled user event.

See the examples in the Styles topic.


TcxSchedulerStyles.HorzSplitter

TcxSchedulerStyles

Specifies style settings for the horizontal splitter.

property HorzSplitter: TcxStyle;

Description

The horizontal splitter is the horizontal bar between the Date Navigator and the Control Box.

Use the HorzSplitter property to specify styles for the horizontal splitter.

See the examples in the Styles topic.


TcxSchedulerStyles.ResourceHeader

TcxSchedulerStyles          See Also

Specifies style settings for the resource’s header.

property ResourceHeader: TcxStyle;

Description

Use the ResourceHeader property to specify styles for the resource’s header.

Note: if the LookAndFeel.NativeStyle property is set to True, the scheduler control is painted with the native windows style and the ResourceHeader property’s value is ignored. The same is true for when the lfOffice11 flag on the LookAndFeel.Kind property is active.

See the examples in the Styles topic.


TcxSchedulerStyles.Scheduler

TcxSchedulerStyles

Represents the scheduler control, which the current styles apply to.

property Scheduler: TcxCustomScheduler;

Description

The scheduler control provides a graphical interface to end-users for scheduling user events. Use the Scheduler property to access the scheduler control’s instance.

ReadOnly Property


TcxSchedulerStyles.Selection

TcxSchedulerStyles

Specifies style settings for currently selected time blocks.

property Selection: TcxStyle;

Description

Use the Selection property to specify styles for the time blocks when they are currently selected.

See the examples in the Styles topic.


TcxSchedulerStyles.VertSplitter

TcxSchedulerStyles

Specifies style settings for the vertical splitter.

property VertSplitter: TcxStyle;

Description

The vertical splitter is a vertical bar between the scheduling area on one side and the Date Navigator and Control Box on the other. Use the VertSplitter property to specify styles for the vertical splitter.

See the examples in the Styles topic.


TcxSchedulerStyles.GetBackgroundParams

TcxSchedulerStyles          See Also

Returns the TcxViewParams record containing information about the scheduler control’s background style attributes.

function GetBackgroundParams: TcxViewParams;

Description

Use the GetBackgroundParams method to get information about the style attributes of the scheduler control’s background.


TcxSchedulerStyles.GetContentParams

TcxSchedulerStyles          See Also

Returns the TcxViewParams record containing information about the time blocks’ style attributes.

function GetContentParams(const ADateTime: TDateTime; AResource: TcxSchedulerStorageResourceItem = nil): TcxViewParams;

function GetContentParams(const ADateTime: TDateTime; ALightColor: Boolean; AResource: TcxSchedulerStorageResourceItem = nil): TcxViewParams;

Description

Use the GetContentParams method to get information about the style attributes of the time blocks located in the scheduling area.

The ADateTime parameter specifies the time block;

The AResource parameter specifies the resource if the gkByResource flag on the TcxSchedulerCustomResourceView.GroupingKind property is active;

The ALightColor parameter specifies whether the current time block corresponds to work time or not. If the current time block is working time the ALightColor parameter should be set to True. The range of working hours is specified by the TcxSchedulerOptionsView.WorkStart and TcxSchedulerOptionsView.WorkFinish properties.


TcxSchedulerStyles.GetDayHeaderParams

TcxSchedulerStyles          See Also

Returns the TcxViewParams record containing information about the day header’s style attributes.

function GetDayHeaderParams(const ADate: TDateTime): TcxViewParams;

Description

Use the GetHeaderParams method to get information about the style attributes of the day’s header.

The ADate parameter specifies the day, which the header belongs to;

The AResource parameter specifies the resource if the gkByResource or gkByDate flag on the TcxSchedulerCustomResourceView.GroupingKind property is active.


TcxSchedulerStyles.GetEventContentParams

TcxSchedulerStyles          See Also

Returns the TcxViewParams record containing information about the style attributes of the AEvent user event.

function GetEventContentParams(AEvent: TcxSchedulerEvent): TcxViewParams;

Description

Use the GetEventContentParams method to get information about the style attributes of the AEvent user event.


TcxSchedulerStyles.GetGroupSeparatorParams

TcxSchedulerStyles

Returns the TcxViewParams record containing information about the style attributes of the group separator.

function GetGroupSeparatorParams: TcxViewParams;

Description

The group separator is a bar that visually divides groups of schedules.

Note: the group separator bar is only applicable if the TcxSchedulerOptionsView.GroupSeparatorWidth property has a value greater than 0.

Use the GetGroupSeparatorParams method to get information about the style attributes of the group separator.


TcxSchedulerStyles.GetSelectionParams

TcxSchedulerStyles          See Also

Returns the TcxViewParams record containing information about the style attributes of highlighted time blocks.

function GetSelectionParams: TcxViewParams;

Description

Use the GetSelectionParams method to get information about the style attributes of highlighted time blocks.


TcxSchedulerStyles.GetSplitterParams

TcxSchedulerStyles          See Also

Returns the TcxViewParams record containing information about the AKind splitter’s style attributes.

function GetSplitterParams(AKind: TcxSchedulerSplitterKind): TcxViewParams;

Description

Use the GetSplitterParams method to get information about the style attributes of the AKind splitter.

If the value of the AKind parameter is skHorizontal the TcxViewParams provides information about the horizontal splitter’s style attributes. If the value of the AKind parameter is skVertical the TcxViewParams provides information about the vertical splitter’s style attributes.


TcxSchedulerStyles.OnGetContentStyle

TcxSchedulerStyles          See Also

Fires before the ADateTime time block is drawn when the styles information about the ADateTime time block is being updated.

type

  TcxSchedulerOnGetContentStyleEvent = procedure(Sender: TObject; AResource: TcxSchedulerStorageResourceItem; const ADateTime: TDateTime; var AStyle: TcxStyle) of object;

property OnGetContentStyle: TcxSchedulerOnGetContentStyleEvent;

Description

A number of time blocks compose the scheduling area’s content. Implement the OnGetContentStyle event handler to provide custom style settings for the ADateTime time block.

The Sender parameter specifies the scheduler control;

The AResource parameter specifies the resource the ADateTime time block is defined for;

The AStyle parameter represents the styles that will be applied to the ADateTime time block.

See the example in the Styles topic.


TcxSchedulerStyles.OnGetDayHeaderStyle

TcxSchedulerStyles          See Also

Fires before the ADate day’s header is drawn when the styles information about the ADate day’s header is being updated.

type

  TcxSchedulerOnGetHeaderStyleEvent = procedure(Sender: TObject; const ADate: TDateTime; var AStyle: TcxStyle) of object;

property OnGetDayHeaderStyle: TcxSchedulerOnGetHeaderStyleEvent;

Description

Implement the OnGetDayHeaderStyle event handler to provide custom style settings for the ADate day’s header.

The Sender parameter specifies the scheduler control;

The AStyle parameter represents the styles that will be applied to the ADate day’s header.

See the example in the Styles topic.


TcxSchedulerStyles.OnGetEventStyle

TcxSchedulerStyles          See Also

Fires before the AEvent user event in the scheduling area is drawn when the styles information about the AEvent user event is being updated.

type

  TcxSchedulerOnGetEventStyleEvent = procedure(Sender: TObject; AEvent: TcxSchedulerEvent; var AStyle: TcxStyle) of object;

property OnGetEventStyle: TcxSchedulerOnGetEventStyleEvent;

Description

Implement the OnGetEventStyle event handler to provide custom style settings for the AEvent user event.

The Sender parameter specifies the scheduler control;

The AStyle parameter represents the styles that will be applied to the AEvent user event.

See the example in the Styles topic.


TcxSchedulerStyles.OnGetResourceHeaderStyle

TcxSchedulerStyles          See Also

Fires before the AResource resource’s header in the scheduling area is drawn when the styles information about the AResource resource is being updated.

type

  TcxSchedulerOnGetHeaderStyleEvent = procedure(Sender: TObject; AResource: TcxSchedulerStorageResourceItem; var AStyle: TcxStyle) of object;

property OnGetResourceHeaderStyle: TcxSchedulerOnGetHeaderStyleEvent;

Description

Implement the OnGetResourceHeaderStyle event handler to provide custom style settings for the AResource resource’s header.

The Sender parameter specifies the scheduler control;

The AStyle parameter represents the styles that will be applied to the AResource resource’s header.

See the example in the Styles topic.


TcxEventDragKind
TcxEventDragKind type

See Also

Enumerates the available types of dragging for the user event.

Unit

cxSchedulerCustomControls

TcxEventDragKind = (edkNone, edkEventDragRect, edkMoveEvent, edkResizeStart, edkResizeEnd);

Description

Values include:

Value	Meaning
edkNone	Can't be dragged
edkEventDragRect	The user event is moved using the user event’s timeline bar (under day view), the user event’s times region (under week, weeks or timegrid view), the user event’s icons, subject or description region (under timegrid view) while the left mouse button is pressed
edkMoveEvent	The user event starts moving if the mouse pointer intersects the user event’s start time boundary (if the mouse pointer is moving up) or the time block’s border next to the user event’s start time boundary (if the mouse pointer is moving down) when the mouse pointer is moving outside the user event’s area (while the left mouse button is pressed)
edkResizeStart	The user event’s start time changes when dragging the user event’s top or left boundary (while the left mouse button is pressed)
edkResizeEnd	The user event’s end time changes when dragging the user event’s bottom or right boundary (while the left mouse button is pressed)


TcxOnDeleteEventFunc
TcxOnDeleteEventFunc type

See Also

Provides a callback reference for the TcxCustomScheduler.OnBeforeDeleting event handler.

Unit

cxSchedulerCustomControls

TcxOnDeleteEventFunc = function (AEvent: TcxSchedulerControlEvent): Boolean of object;

Description

The TcxOnDeleteEventFunc returns a Boolean value specifying whether the user event can be deleted or not.


TcxSchedulerContentPopupMenuItems
TcxSchedulerContentPopupMenuItems type

See Also

Enumerates the available items of the pop-up menu invoked for time blocks in the scheduling area.

Unit

cxSchedulerCustomControls

TcxSchedulerContentPopupMenuItem = (cpmiNewEvent, cpmiNewAllDayEvent,

    cpmiNewReccuringEvent, cpmiToday, cpmiGoToDate, cpmiGoToThisDay, cpmiResourcesLayout);

TcxSchedulerContentPopupMenuItems = set of TcxSchedulerContentPopupMenuItem;

Description

Values include:

Value	Meaning
cpmiNewEvent	Specifies the Event modal dialog which details the user event
cpmiNewAllDayEvent	Specifies the Event modal dialog with the checked All day event check box in it (see also the TcxSchedulerEvent.AllDayEvent property)
cpmiNewReccuringEvent	Specifies the Event modal dialog and also above it the Event recurrence modal dialog box (see also the TcxSchedulerEvent.RecurrenceInfo property)
cpmiToday	Specifies the item that provides navigation to the current date (provided by the host) for displaying in the scheduling area
cpmiGoToDate	Specifies invoking the Go To modal dialog that provides a means for selecting another date to be displayed in the scheduling area
cpmiGoToThisDay	Specifies the item that provides navigation to the date the pop-up menu is invoked for. This item can only be invoked under the week, weeks, year and timegrid views to show the desired day under the day view.
cpmiResourcesLayout	Specifies invoking the Resources layout editor modal dialog for editing of the layout of resource groups specified


TcxSchedulerEventPopupMenuItems
TcxSchedulerEventPopupMenuItems type

See Also

Enumerates the available items of the pop-up menu invoked for the user event in the scheduling area.

Unit

cxSchedulerCustomControls

TcxSchedulerEventPopupMenuItem = (epmiOpen, epmiEditSeries, epmiShowTimeAs, epmiLabel, epmiDelete);

TcxSchedulerEventPopupMenuItems = set of TcxSchedulerEventPopupMenuItem;

Description

Values include:

Value	Meaning
epmiOpen	Specifies the Event modal dialog for describing the user event in detail the pop-up menu was invoked for
epmiShowTimeAs	Specifies the Show time as image combo box for editing the availability status (see also the TcxSchedulerEvent.State property)
epmiEditSeries	Specifies the Event modal dialog for editing the recurring user event that is the parent of the user event the pop-up menu was invoked for
epmiLabel	Specifies the item used to select a color label (see also the TcxSchedulerEvent.LabelColor property)
epmiDelete	Specifies the item used to delete the user event the pop-up menu was invoked for


TcxSchedulerGroupingKind
TcxSchedulerGroupingKind type

See Also

Enumerates the available kinds of the schedules grouping in the scheduling area.

Unit

cxSchedulerCustomControls

TcxSchedulerGroupingKind = (gkDefault, gkNone, gkByDate, gkByResource);

Description

Values include:

Value	Meaning
gkDefault	If more than one resource is set then the grouping behavior is the same as that specified by the gkByResource flag. If one or no resource is set then grouping behavior is the same as that specified by the gkNone flag.
gkNone	Schedules aren't grouped. User events are displayed altogether in every day in chronological order
gkByDate	Schedules are grouped by dates and resources
gkByResource	Schedules are grouped by resources


TcxSchedulerHeaderImagePosition
TcxSchedulerHeaderImagePosition type

See Also

Enumerates the available positions of the resource icon relative to the resource name in the resource header.

Unit

cxSchedulerCustomControls

TcxSchedulerHeaderImagePosition = (ipLeft, ipTop, ipRight, ipBottom);

Description

Values include:

Value	Meaning
ipLeft	The icon resides to the left of the resource name
ipTop	The icon resides to the top of the resource name
ipRight	The icon resides to the right of the resource name
ipBottom	The icon resides to the bottom of the resource name

Note: if the resource headers reside on the left side of the scheduling area (when scheduling under the week, weeks or timegrid view and if the schedules are grouped by dates), then the meaning of the enumeration's values changes, so that each enumeration value is treated as though it's shifted back by one position (the position of an image is shifted counterclockwise around its caption by an angle of 90 degrees).


TcxSchedulerNavigatorVisibilityMode
TcxSchedulerNavigatorVisibilityMode type

See Also

Enumerates the available visible states of the resource navigation buttons and scrollbar.

Unit

cxSchedulerCustomControls

TcxSchedulerNavigatorVisibilityMode = (snvNever, snvAlways, snvAuto);

Description

Values include:

Value	Meaning
snvNever	Specifies that the resource navigation buttons and scrollbar are never displayed in the scheduling area
snvAlways	Specifies that the resource navigation buttons and scrollbar are always displayed in the scheduling area
snvAuto	Specifies that whether the resource navigation buttons and scrollbar are displayed is dependent upon the TcxSchedulerOptionsView.ResourcesPerPage property’s value. If the TcxSchedulerOptionsView.ResourcesPerPage property is set to 0 (all resources are visible), they are not displayed in the scheduling area.


TcxSchedulerSplitterKind
TcxSchedulerSplitterKind type

See Also

Enumerates the available types of splitter in the scheduler control.

Unit

cxSchedulerCustomControls

TcxSchedulerSplitterKind = (skHorizontal, skVertical);

Description

There are two splitters used in the scheduler control – horizontal and vertical. The horizontal splitter is the horizontal bar between the Date Navigator and the Control Box. The vertical splitter is the vertical bar between the scheduling area on one side and the Date Navigator and Control Box on the other.

Values include:

Value	Meaning
skHorizontal	The splitter is horizontal
skVertical	The splitter is vertical


TcxSchedulerViewMode
TcxSchedulerViewMode type

See Also

Enumerates the available time view modes that the desired date can be displayed within.

Unit

cxSchedulerCustomControls

TcxSchedulerViewMode = (vmDay, vmWeek, vmMonth, vmWorkWeek);

Description

The values specified in this enumeration are used as the second argument in the overload of the TcxScheduler.GoToDate method.

Note: if the desired date falls on the weekend and the TcxScheduler.GoToDate method is called with the vmWorkWeek argument, the next nearest working date is displayed.

Values include:

Value	Meaning
vmDay	Display the date in a day view
vmWeek	Display the date within a week
vmMonth	Display the date within a month
vmWorkWeek	Display the date within a work week (weekend days are not shown)


TcxSchedulerViewPosition
TcxSchedulerViewPosition type

See Also

Enumerates the available positions of the scheduling area with respect to the Date Navigator and Control Box panes in the scheduler.

Unit

cxSchedulerCustomControls

TcxSchedulerViewPosition = (vpRight, vpLeft, vpTop, vpBottom);;

Description

Values include:

Value	Meaning
vpRight	The scheduling area is displayed to the right of the Date Navigator and Control Box
vpLeft	The scheduling area is displayed to the left of the Date Navigator and Control Box
vpTop	The scheduling area is displayed to the top of the Date Navigator and Control Box
vpBottom	The scheduling area is displayed to the bottom of the Date Navigator and Control Box


cxDefaultGroupSeparatorWidth constant
cxDefaultGroupSeparatorWidth global constant

See Also

Denotes the group separator’s default width in pixels.

Unit

cxSchedulerCustomControls

cxDefaultGroupSeparatorWidth = 11;

Description

The group separator is a bar that visually divides groups of schedules.

Note: the group separator bar is only applicable if the TcxSchedulerOptionsView.GroupSeparatorWidth property's value is greater than 0.


cxDefaultResourcesPerPage constant
cxDefaultResourcesPerPage global constant

See Also

Specifies how many resources per resource page.

Unit

cxSchedulerCustomControls

cxDefaultResourcesPerPage = 0;

Description

To facilitate the task of scrolling through the resources in the scheduling area resources can be grouped into resource pages. The TcxSchedulerOptionsView.ResourcesPerPage property specifies how many resources there are per page. The number of resources specified is the number of resources that will be shown at a time in the scheduling area. If the TcxSchedulerOptionsView.ResourcesPerPage property is set to cxDefaultResourcesPerPage, it means all the visible resources that are specified in the scheduler will be shown in the scheduling area.


cxDefaultSplitterWidth constant
cxDefaultSplitterWidth global constant

See Also

Denotes the splitter’s default width in pixels.

Unit

cxSchedulerCustomControls

cxDefaultSplitterWidth = 5;

Description

The horizontal splitter of the scheduler control’s sections is a horizontal bar between the Date Navigator and the Control Box.

The vertical splitter of the scheduler control’s sections is a vertical bar between the scheduling area on one side and the Date Navigator and Control Box on the other.

The major scale’s splitter is a bar that visually divides units of the major scale when scheduling under the timegrid view.


cxMinSplitterWidth constant
cxMinSplitterWidth global constant

See Also

Denotes the splitter’s minimum width in pixels.

Unit

cxSchedulerCustomControls

cxMinSplitterWidth = 3;

Description

The horizontal splitter of the scheduler control’s sections is a horizontal bar between the Date Navigator and the Control Box.

The vertical splitter of the scheduler control’s sections is a vertical bar between the scheduling area on one side and the Date Navigator and Control Box on the other.

The major scale’s splitter is a bar that visually divides units of the major scale when scheduling under the timegrid view.


cxSchedulerStorage Unit Overview
cxSchedulerStorage Unit

Classes

TcxCustomSchedulerStorage

TcxCustomSchedulerStorageField

TcxCustomSchedulerStorageFields

TcxSchedulerControlEvent

TcxSchedulerControlEventID

TcxSchedulerEvent

TcxSchedulerEventConflictsInfo

TcxSchedulerEventItemLink

TcxSchedulerEventLinks

TcxSchedulerEventList

TcxSchedulerEventRecurrenceInfo

TcxSchedulerFilteredEventList

TcxSchedulerOccurrenceCalculator

TcxSchedulerReminder

TcxSchedulerReminderEventID

TcxSchedulerReminders

TcxSchedulerStorage

TcxSchedulerStorageDataController

TcxSchedulerStorageField

TcxSchedulerStorageFields

TcxSchedulerStorageResourceItem

TcxSchedulerStorageResourceItems

TcxSchedulerStorageResources

Interfaces

IcxSchedulerStorageListener

Other Types

TcxCompareEventsProc

TcxDayType

TcxEventType

TcxRecurrence

TcxRecurrenceValidStatus

TcxSchedulerEventRecurrenceInfoData

TcxSchedulerEventRelation

TcxSchedulerEventTaskStatus

TcxSchedulerReminderDueTimeElement

TcxSchedulerReminderDueTimeInfo

TcxSchedulerReminderDueTimeKind

TcxSchedulerReminderResource

TcxSchedulerReminderResources

TcxSchedulerReminderResourcesData

Routines

cxDueTimeInfoToText

cxFieldValueToReminderResourcesData

cxGetRecurrenceDescriptionString

cxRecurrenceInfoDataToString

cxReminderResourcesDataToFieldValue

cxStringToRecurrenceInfoData

Global Constants

cxDueTimeInfoToTextProc

cxGetRecurrenceDescriptionStringProc

cxMaxCheckedDuration

cxSchedulerEventConflictsInfoClass

omAllDayEvent

omCollapsed

omEnabled

omReminder

tlsBusy

tlsFree

tlsOutOfOffice

tlsTentative


TcxCustomSchedulerStorage
TcxCustomSchedulerStorage Object

Hierarchy          Properties          Methods          Events

The TcxCustomSchedulerStorage is the base class for classes implementing the persistence manager component.

Unit

cxSchedulerStorage

TcxCustomSchedulerStorage = class(TComponent)

Description

This component provides persistence for TcxSchedulerEvent and TcxSchedulerStorageResourceItem objects in a data store and manages the data flow between in-memory TcxSchedulerControlEvent objects and TcxSchedulerEvent objects persisted in a data store. To store the objects mentioned in a data store an instance of a descendant of the TcxCustomSchedulerStorage (the TcxSchedulerStorage or TcxSchedulerDBStorage) should be plugged into the scheduler control via the TcxScheduler.Storage property.

Do not use this class directly. Use its descendants instead.


TcxCustomSchedulerStorage Hierarchy
Hierarchy

TComponent

     |

TcxCustomSchedulerStorage


Properties for TcxCustomSchedulerStorage
TcxCustomSchedulerStorage Properties

TcxCustomSchedulerStorage          Legend

In TcxCustomSchedulerStorage

EventCount

Events

FieldCount

Fields

Holidays

InternalUpdate

Reminders

ResourceCount

ResourceIDs

ResourceNames

Resources

StoreUsingGlobalTime

StoringName

Values

UseActualTimeRange


Methods for TcxCustomSchedulerStorage
TcxCustomSchedulerStorage Methods

TcxCustomSchedulerStorage          Legend

In TcxCustomSchedulerStorage

AddListener

BeginUpdate

CalculateEventActualTimeRanges

Clear

CreateEvent

CreateOccurrence

EndUpdate

FindAvailableAllDay

FindAvailableTime

FullRefresh

GenerateHolidayEvents

GetEventByID

GetEvents

GetHolidayNamesByDate

GetReminderEvents

PopulateHolidayDates

PostEvents

RemoveListener


Events for TcxCustomSchedulerStorage
TcxCustomSchedulerStorage Events

TcxCustomSchedulerStorage          Legend

In TcxCustomSchedulerStorage

OnEventDeleted

OnEventInserted

OnEventIntersect

OnEventModified

OnFilterEvent


TcxCustomSchedulerStorage.EventCount

TcxCustomSchedulerStorage          See Also

Gets the number of TcxSchedulerEvent objects in storage.

property EventCount: Integer;

Description

Use the EventCount property to get the number of TcxSchedulerEvent objects in storage.

ReadOnly Property


TcxCustomSchedulerStorage.Events

TcxCustomSchedulerStorage          See Also

Provides indexed access to the TcxSchedulerEvent objects in storage.

property Events[Index:Integer]: TcxSchedulerEvent;

Description

Use the Events property to get or assign the TcxSchedulerEvent object at the position specified by the zero-based Index parameter.


TcxCustomSchedulerStorage.FieldCount

TcxCustomSchedulerStorage          See Also

Gets the total number of both built-in and custom fields.

property FieldCount: Integer;

Description

Use the FieldCount property to get the total number of storage fields.

ReadOnly Property


TcxCustomSchedulerStorage.Fields

TcxCustomSchedulerStorage          See Also

Provides indexed access to storage fields.

property Fields[Index:Integer]: TcxCustomSchedulerStorageField;

Description

The collection contains references to both built-in and custom fields.

Use the Fields property to obtain the field at the position specified by the zero-based Index parameter.

ReadOnly Property


TcxCustomSchedulerStorage.Holidays

TcxCustomSchedulerStorage

References the TcxSchedulerHolidays component instance.

property Holidays: TcxSchedulerHolidays;

Description

The TcxSchedulerHolidays component provides the following capabilities:

•	Storage management. Using the component, you can do the following:

•	Dynamically change holidays that are to be persisted in the component storage.

•	Perform read operations on holidays. Any individual holiday can be obtained from the component, or a set of holidays can be retrieved from it into the specified cache.

•	Export and import operations – holidays can be transferred to or from external sources. The component also provides events that allow you to manually control the bi-directional data flow between the component and an external source when these operations are being performed.


TcxCustomSchedulerStorage.InternalUpdate

TcxCustomSchedulerStorage

Determines whether the scheduler and its underlying data store are currently being synchronized.

property InternalUpdate: Boolean;

Description

The InternalUpdate property returns a value of True if the scheduler is currently synchronizing with its data store (the EndUpdate method is being executed).

If the scheduler is working in smart refresh mode (see the TcxSchedulerDBStorage.SmartRefresh property) and the underlying data store is shared between the scheduler and another control, the scheduler does not synchronize the view with the store for the data modification made by the concurrent control.

If handling the dataset events which fire when the data updates occur, use the InternalUpdate property to determine whether it is necessary to reload the data (see the TcxSchedulerDBStorage.UpdateItems method) into the scheduler’s view:

// Delphi

//...

procedure TForm1.ClientDataSet1AfterDelete(DataSet: TDataSet);

begin

  if not SchedulerDBStorage.InternalUpdate then

    SchedulerDBStorage.UpdateItems;

end;

ReadOnly Property


TcxCustomSchedulerStorage.Reminders

TcxCustomSchedulerStorage          See Also

Represents a collection, which stores timed out reminders, if any.

property Reminders: TcxSchedulerReminders;

Description

Use the Reminders property to access the TcxSchedulerReminders instance.


TcxCustomSchedulerStorage.ResourceCount

TcxCustomSchedulerStorage          See Also

Gets the number of TcxSchedulerStorageResourceItem objects in the TcxSchedulerStorageResourceItems collection currently available in the scheduler control.

property ResourceCount: Integer;

Description

Use the ResourceCount property to get the number of TcxSchedulerStorageResourceItem objects currently available in the scheduler control.

ReadOnly Property


TcxCustomSchedulerStorage.ResourceIDs

TcxCustomSchedulerStorage          See Also

Provides indexed access to the unique identifier of the TcxSchedulerStorageResourceItem object.

property ResourceIDs[Index:Integer]: Variant;

Description

The zero-based Index parameter specifies the position of the TcxSchedulerStorageResourceItem object in the TcxSchedulerStorageResourceItems collection.

ReadOnly Property


TcxCustomSchedulerStorage.ResourceNames

TcxCustomSchedulerStorage          See Also

Provides indexed access to the name of the TcxSchedulerStorageResourceItem object.

property ResourceNames[Index:Integer]: string;

Description

The zero-based Index parameter specifies the position of the TcxSchedulerStorageResourceItem object in the TcxSchedulerStorageResourceItems collection.

ReadOnly Property


TcxCustomSchedulerStorage.Resources

TcxCustomSchedulerStorage

Represents persistent resources used as common attributes for schedules that group by resources.

property Resources: TcxSchedulerStorageResources;

Description

The Resources property provides access to resources in various data modes (see the TcxSchedulerStorageResources.ResourceItems property and the TcxSchedulerStorageResources.Items property).

Resources are used for grouping schedules (the gkByResource or gkByDate flag on the TcxSchedulerCustomResourceView.GroupingKind property is active and more than one resource is defined) to facilitate the management of user time.


TcxCustomSchedulerStorage.StoreUsingGlobalTime

TcxCustomSchedulerStorage

Specifies whether time values in the scheduler should be stored as UTC time or local time in the data store.

property StoreUsingGlobalTime: Boolean;

Description

Set the StoreUsingGlobalTime property to True to store the time values in the scheduler as coordinated universal time (UTC). Otherwise they will be stored using the host time setting (local time zone). When it is displayed in the time view in the scheduling area, it is converted to the local time associated with the current time ruler (see the TcxSchedulerOptionsView.CurrentTimeZone property).

The default value of the StoreUsingGlobalTime property is False.


TcxCustomSchedulerStorage.StoringName

TcxCustomSchedulerStorage

Specifies the stored name of the persistent scheduler control’s layout.

property StoringName: string;

Description

The StoringName property specifies the name under which the scheduler control’s layout is stored. If this property is not set, the TcxScheduler.Name property’s value is used as the persistence name.


TcxCustomSchedulerStorage.Values

TcxCustomSchedulerStorage          See Also

Provides indexed access to the values of the TcxSchedulerEvent's properties in storage.

property Values[ARecordIndex,AFieldIndex:Integer]: Variant;

Description

Use the Values property to get the TcxSchedulerEvent properties’ values in storage.

The zero-based ARecordIndex parameter specifies the record’s index in storage. The zero-based AFieldIndex parameter specifies the field’s index in the record.


TcxCustomSchedulerStorage.UseActualTimeRange

TcxCustomSchedulerStorage

Specifies whether user events are retrieved based upon their time period bounds from the underlying data store.

property UseActualTimeRange: Boolean;

Description

Along with other information on the scheduled user event, time period bounds are persisted in a data store (see the TcxSchedulerEvent.ActualStart, TcxSchedulerEvent.ActualFinish, TcxSchedulerDBStorageFieldNames.ActualStart and TcxSchedulerDBStorageFieldNames.ActualFinish properties) since ExpressScheduler 2 was released.

Depending upon whether the user event is regular or recurring the time period has two meanings.

First, it is the period of time that the user event lasts for if the user event is regular. Time period bounds are the same as values of the TcxSchedulerEvent.Start and TcxSchedulerEvent.Finish properties (see the TcxSchedulerDBStorageFieldNames.Start and TcxSchedulerDBStorageFieldNames.Finish properties).

And, secondly it is the time range of the reoccurrences chain if the user event is recurring. This time range is defined as the first occurrence’s start date and the last occurrence’s end date.

Set the UseActualTimeRange property to True to use time period bounds when querying the data store. It can improve performance.

Note: if the UseActualTimeRange property’s value is True then user events, which have no time period bounds (legacy user events that were scheduled prior to the ExpressScheduler 2 release), won’t appear in the scheduling area. To avoid this use the CalculateEventActualTimeRanges method to populate the ActualStart and ActualFinish fields (see the TcxSchedulerDBStorageFieldNames.ActualStart and TcxSchedulerDBStorageFieldNames.ActualFinish properties) in the underlying data store with appropriate values.

The default value of the UseActualTimeRange property is False.


TcxCustomSchedulerStorage.AddListener

TcxCustomSchedulerStorage          See Also

Registers the IcxSchedulerStorageListener listener specified by the AListener parameter so that it's notified when the storage changes its state.

procedure AddListener(AListener: IcxSchedulerStorageListener);

Description

Use the AddListener method to add the AListener to the collection of IcxSchedulerStorageListener listeners that are notified when the storage changes its state.


TcxCustomSchedulerStorage.BeginUpdate

TcxCustomSchedulerStorage          See Also

Acquires a lock on the data controller to prevent view update callbacks being made to the registered IcxSchedulerStorageListener listener by the data controller, until a block of data update statements has finished executing.

procedure BeginUpdate;

Description

This method is combined with the EndUpdate method (that releases the lock) to contain a block of update statements. Since the execution of the block of statements can exit with either a normal or exception state, these statements and the EndUpdate method should be contained within try…  finally… blocks following the BeginUpdate method to ensure that the lock will be released in all cases.

For clarity a code sample is given below:

// Delphi

//...

var

  I: Integer;

  AEvent: TcxSchedulerEvent;

begin

  cxSchedulerStorage.BeginUpdate;

  try

    for I := 0 to 1 do

    begin

      AEvent := cxScheduler.Storage.CreateEvent;

      AEvent.Start := EncodeDateTime(2004, 7, 7, 10, 0, 0, 0);

      AEvent.Duration := Random(100) / 500;

AEvent.Message := 'Created on start up';

AEvent.Caption := 'Event # ' + IntToStr(I);

    end;

  finally

    cxSchedulerStorage.EndUpdate;

  end;

end;


TcxCustomSchedulerStorage.CalculateEventActualTimeRanges

TcxCustomSchedulerStorage

Populates the ActualStart and ActualFinish fields with the values of the user event’s time period bounds.

procedure CalculateEventActualTimeRanges;

Description

There may be user events persisted in a data store, which were scheduled prior to the TcxSchedulerEvent.ActualStart and TcxSchedulerEvent.ActualFinish properties were introduced in ExpressScheduler 2.

The purpose of using the above properties is to improve performance when querying the data in the data store. This is achieved by using a time range condition (specified by these properties) to select user events.

Along with other information on the scheduled user event, time period bounds are persisted in a data store (see the TcxSchedulerDBStorageFieldNames.ActualStart and TcxSchedulerDBStorageFieldNames.ActualFinish properties) since ExpressScheduler 2 was released.

After the table containing legacy user events was restructured, the ActualStart and ActualFinish fields store null values for those user events. As a result, if the time range is applied (if the UseActualTimeRange property is set to True to indicate the scheduler to use the time range), these user events won’t appear in the scheduling area.

To avoid this use the CalculateEventActualTimeRanges method to populate the ActualStart and ActualFinish fields with appropriate values.


TcxCustomSchedulerStorage.Clear

TcxCustomSchedulerStorage          See Also

Deletes all the TcxSchedulerEvent instances from storage and forces the scheduler control to update itself to mirror any changes made.

procedure Clear; virtual;

Description

Can be used in all data modes (with the TcxSchedulerStorage component or TcxSchedulerDBStorage component).


TcxCustomSchedulerStorage.createEvent

TcxCustomSchedulerStorage          See Also

Creates a new TcxSchedulerEvent instance.

function CreateEvent: TcxSchedulerEvent; virtual;

Description

The CreateEvent method returns the new TcxSchedulerEvent instance.


TcxCustomSchedulerStorage.CreateOccurrence

TcxCustomSchedulerStorage

Creates occurrence of the APattern parent at the ADate date.

function CreateOccurrence(APattern: TcxSchedulerEvent; const ADate: TDateTime; AType: TcxEventType): TcxSchedulerEvent;

Description

Use the CreateOccurrence method to create occurrence of the etException or etCustom type.

The APattern parameter specifies the parent user event of the current occurrence, that is the user event with the TcxSchedulerEvent.EventType property’s value etPattern;

The ADate parameter specifies the occurrence’s date;

The AType parameter specifies the status of the occurrence. It should be etException or etCustom.

Note: before invoking the CreateOccurrence method make sure that there isn't any APattern occurrences of the etException or etCustom type on the ADate date.


TcxCustomSchedulerStorage.EndUpdate

TcxCustomSchedulerStorage          See Also

Updates storage and releases a lock on the data controller.

procedure EndUpdate;

Description

This method is combined with the BeginUpdate method (that acquires the lock) to contain a block of update statements. Since the execution of the block of statements can exit with either a normal or exception state, these statements and the EndUpdate method should be contained within try… finally… blocks following the BeginUpdate method to ensure the lock will be released in all cases.

For clarity a code sample is given below:

// Delphi

//...

var

  I: Integer;

  AEvent: TcxSchedulerEvent;

begin

  cxSchedulerStorage.BeginUpdate;

  try

    for I := 0 to 1 do

    begin

      AEvent := cxScheduler.Storage.CreateEvent;

      AEvent.Start := EncodeDateTime(2004, 7, 7, 10, 0, 0, 0);

      AEvent.Duration := Random(100) / 500;

AEvent.Message := 'Created on start up';

AEvent.Caption := 'Event # ' + IntToStr(I);

    end;

  finally

    cxSchedulerStorage.EndUpdate;

  end;

end;


TcxCustomSchedulerStorage.FindAvailableAllDay

TcxCustomSchedulerStorage          See Also

Searches for free time blocks which can be used to schedule an all-day user event.

function FindAvailableAllDay(var AStart, AFinish: TDateTime; AResourceID: Variant; AExceptEventsWithoutResources: Boolean; ADuration: TDateTime = 0): Boolean;

Description

An all-day user event is a user event which lasts at least 24 hours or longer. A free time block means the period of time which no user event is scheduled for.

Use the FindAvailableAllDay method when overlapping user events are not allowed (the TcxSchedulerEventOperations.Intersection property is set to False).

The AStart and AFinish parameters specify the time range that the search will be carried out for. By default, the specified time range is extended for 30 days (the end time of it). You can change the additional time period by specifying another value for the cxMaxCheckedDuration constant;

The AResourceID parameter specifies the unique identifier of the resource which the AEvent user event belongs to;

The AExceptEventsWithoutResources parameter specifies whether the scheduled time of the intersected user event, which is not assigned to any resource, will be treated as free time or occupied. Set the AExceptEventsWithoutResources parameter to False to skip the times scheduled by this type of user events. Note: a user event, which doesn’t belong to any resource, will be shown in the scheduling area if the TcxSchedulerOptionsView.ShowEventsWithoutResource property is set to True. Otherwise it will be hidden;

The ADuration parameter specifies the desired time bounds of the user event;

The FindAvailableAllDay method returns a value of True if the search was successful.


TcxCustomSchedulerStorage.FindAvailableTime

TcxCustomSchedulerStorage          See Also

Searches for free time blocks which can be used to schedule the AEvent user event.

function FindAvailableTime(var AStart, AFinish: TDateTime; AllDay: Boolean; AResourceID: Variant; AExceptEventsWithoutResources: Boolean; ADuration: TDateTime = 0; AExcludedEvent: TcxSchedulerEvent = nil): Boolean;

function FindAvailableTime(AEvent: TcxSchedulerEvent; AExceptEventsWithoutResources: Boolean; var AStart, AFinish: TDateTime): Boolean;

Description

A free time block means a period of time that does not have any other user event scheduled for it.

Use the FindAvailableTime method if overlapping user events are not allowed (the TcxSchedulerEventOperations.Intersection property is set to False).

The AStart and AFinish parameters specify the time range that the search will be performed. By default, the specified time range is extended for 30 days (the end time of it). You can change the additional time period by specifying another value for the cxMaxCheckedDuration constant;

The AllDay parameter specifies whether the user event is an all-day event;

The AResourceID parameter specifies the unique identifier of the resource, which the AEvent user event belongs to;

The AExceptEventsWithoutResources parameter specifies whether the scheduled time of the intersected user event (which is not assigned to any resource) will be treated as free time or occupied. Set the AExceptEventsWithoutResources parameter to False to skip the times scheduled by this type of user events. Note: a user event, which doesn’t belong to any resource, will be shown in the scheduling area if the TcxSchedulerOptionsView.ShowEventsWithoutResource property is set to True. Otherwise it will be hidden;

The ADuration parameter specifies the desired time bounds of the user event;

The AExcludedEvent parameter specifies the user event whose scheduled time will be treated as free;

The AEvent parameter specifies the user event which will be scheduled at the available time.

The FindAvailableTime method returns a value of True if the search was successful.


TcxCustomSchedulerStorage.FullRefresh

TcxCustomSchedulerStorage          See Also

Forces the data controller to update itself and notify the registered IcxSchedulerStorageListener listeners.

procedure FullRefresh;

Description

Use the FullRefresh method to update the data controller and notify the registered IcxSchedulerStorageListener listeners.


TcxCustomSchedulerStorage.GenerateHolidayEvents

TcxCustomSchedulerStorage

Creates new user events that represent holidays, and adds them to the storage.

procedure GenerateHolidayEvents(const AResourceID: Variant);

Description

The GenerateHolidayEvents method only creates user events for holidays that are available to the scheduler (the TcxSchedulerHolidaysLocationHoliday.Visible property is True).

AResourceID specifies the resource to which these user events will be assigned.


TcxCustomSchedulerStorage.GetEventByID

TcxCustomSchedulerStorage          See Also

Returns the TcxSchedulerEvent object by its unique identifier.

function GetEventByID(const AID: Variant): TcxSchedulerEvent;

Description

Use the GetEventByID method to get the TcxSchedulerEvent object by its unique identifier.

The AID parameter specifies the unique identifier of the TcxSchedulerEvent object.


TcxCustomSchedulerStorage.GetEvents

TcxCustomSchedulerStorage          See Also

Loads TcxSchedulerControlEvent objects into the AList collection.

function GetEvents(AList: TcxSchedulerFilteredEventList; const AStart, AFinish: TDateTime): Boolean;

function GetEvents(AList: TcxSchedulerFilteredEventList; const AStart, AFinish: TDateTime; const AResourceID: Variant): Boolean;

Description

GetEvents loads into the AList collection only the TcxSchedulerControlEvent objects, which have dates between the AStart and AFinish parameter's values. This method returns True if at least one TcxSchedulerControlEvent object has been loaded into the AList cache.

The AResourceID parameter specifies the unique identifier of the TcxSchedulerStorageResourceItem object. If the AResourceID parameter is assigned a value of null then this is equivalent to invoking the first overloaded method.


TcxCustomSchedulerStorage.GetHolidayNamesByDate

TcxCustomSchedulerStorage          See Also

Populates a parameter with names of holidays taking place at a certain date.

function GetHolidayNamesByDate(ADate: TDate; var ANames: string; AOnlyVisible: Boolean = True): Boolean; virtual;

Description

A holiday name to be written to ANames combines two names – the holiday name itself (see the TcxSchedulerHolidaysLocationHoliday.Name property) and the concatenated holiday location name in parentheses (see the TcxSchedulerHolidaysLocation.Name property).

All the holiday duplicates are automatically deleted if linked storages are connected to the same TcxSchedulerHolidays component.

In ANames, resulting holiday names are delimited by #13#10 sequence.

ADate specifies the date when holidays take place.

AOnlyVisible specifies which holidays are taken into account. Set AOnlyVisible to True, if you are only interested in holidays which are available to the scheduler (the TcxSchedulerHolidaysLocation.Visible and TcxSchedulerHolidaysLocationHoliday.Visible properties are True). Otherwise, all holidays (stored in the TcxSchedulerHolidays component) will be written to ANames.

The GetHolidayNamesByDate method returns True if the match was successful.


TcxCustomSchedulerStorage.GetReminderEvents

TcxCustomSchedulerStorage          See Also

Populates the AList collection with in-memory user events containing reminders.

function GetReminderEvents(ADateTime: TDateTime; AList: TcxSchedulerFilteredEventList): Boolean;

Description

Use the GetReminderEvents method to load in-memory user events with reminders till the ADateTime bound time.


TcxCustomSchedulerStorage.PopulateHolidayDates

TcxCustomSchedulerStorage          See Also

Populates AList with holiday dates by the specified period.

procedure PopulateHolidayDates(AList: TcxSchedulerDateList; AStart, AFinish: TDate; AOnlyVisible: Boolean = True; AClearList: Boolean = True); virtual;

Description

AStart and AFinish specify the time range.

AOnlyVisible specifies which holidays are to be written to AList. Set AOnlyVisible to True, to populate AList with holidays that are available to the scheduler (the TcxSchedulerHolidaysLocation.Visible and TcxSchedulerHolidaysLocationHoliday.Visible properties are True). Otherwise, all the holidays (stored in the TcxSchedulerHolidays component) will be placed in AList.

AClearList specifies whether AList is to be cleared prior to writing new items.

All the holiday reference duplicates are automatically deleted if linked storages are connected to the same TcxSchedulerHolidays component.


TcxCustomSchedulerStorage.PostEvents

TcxCustomSchedulerStorage          See Also

Submits the TcxSchedulerEvent objects to storage and forces the scheduler control to update itself to mirror any changes made.

procedure PostEvents; virtual;

Description

Use the PostEvents method to submit new TcxSchedulerEvent objects cached in the TcxSchedulerEventList collection to storage. Only the newly created TcxSchedulerEvent objects are posted to storage.


TcxCustomSchedulerStorage.RemoveListener

TcxCustomSchedulerStorage          See Also

Deletes the IcxSchedulerStorageListener listener specified by the AListener parameter from the collection of listeners registered with the TcxCustomSchedulerStorage.

procedure RemoveListener(AListener: IcxSchedulerStorageListener);

Description

Use the RemoveListener method to delete the AListener from the collection of IcxSchedulerStorageListener listeners.


TcxCustomSchedulerStorage.OnEventDeleted

TcxCustomSchedulerStorage          See Also

Fires when the AEvent object is about to be deleted from storage and memory.

type

  TcxSchedulerNotificationEvent = procedure(Sender: TObject; AEvent: TcxSchedulerEvent; var AHandled: Boolean) of object;

property OnEventDeleted: TcxSchedulerNotificationEvent;

Description

Implement the OnEventDeleted event handler to provide custom behavior to remove the AEvent object from storage and memory.

The Sender parameter specifies the TcxCustomSchedulerStorage storage;

The AEvent parameter specifies the TcxSchedulerEvent object, which will be deleted;

The AHandled parameter specifies whether the default behavior is required when the event handler has finished its execution. Assign the AHandled parameter a value of True to prevent the default behavior from being executed when the OnEventDeleted event handler exits.


TcxCustomSchedulerStorage.OnEventInserted

TcxCustomSchedulerStorage          See Also

Fires before the AEvent object is added to storage.

type

  TcxSchedulerNotificationEvent = procedure(Sender: TObject; AEvent: TcxSchedulerEvent; var AHandled: Boolean) of object;

property OnEventInserted: TcxSchedulerNotificationEvent;

Description

Implement the OnEventInserted event handler to provide custom behavior for adding the AEvent object to storage.

The Sender parameter specifies the TcxCustomSchedulerStorage storage;

The AEvent parameter specifies the TcxSchedulerEvent object to be added to storage;

The AHandled parameter specifies whether the default behavior is required when the event handler has finished executing. Assign the AHandled parameter a value of True to prevent the default behavior from being executed when the OnEventInserted event handler exits.


TcxCustomSchedulerStorage.OnEventIntersect

TcxCustomSchedulerStorage

Fires when AEvent1 and AEvent2 are about to be overlapped.

type

  TcxSchedulerEventIntersectEvent = procedure(Sender: TcxCustomSchedulerStorage; AEvent1, AEvent2: TcxSchedulerEvent; var Allow: Boolean) of object;

property OnEventIntersect: TcxSchedulerEventIntersectEvent;

Description

The OnEventIntersect event only fires if the scheduler’s EventOperations.Intersection property is set to False (which means that user event intersection is not allowed).

Implement the OnEventIntersect event handler, to allow certain types of user events to be intersected.

Sender specifies the storage.

AEvent1 and AEvent2 specify user events to be overlapped.

Allow specifies whether intersection is allowed. Set Allow to True, to allow user event intersection.


TcxCustomSchedulerStorage.OnEventModified

TcxCustomSchedulerStorage          See Also

Fires before the AEvent object is updated in storage.

type

  TcxSchedulerNotificationEvent = procedure(Sender: TObject; AEvent: TcxSchedulerEvent; var AHandled: Boolean) of object;

property OnEventModified: TcxSchedulerNotificationEvent;

Description

Implement the OnEventModified event handler to provide custom behavior to update the AEvent object in storage.

The Sender parameter specifies the TcxCustomSchedulerStorage storage;

The AEvent parameter specifies the TcxSchedulerEvent object for updating in storage;

The AHandled parameter specifies whether the default behavior is required when the event handler has finished executing. Assign the AHandled parameter a value of True to prevent the default behavior from being executed when the OnEventModified event handler exits.


TcxCustomSchedulerStorage.OnFilterEvent

TcxCustomSchedulerStorage

Fires every time the AEvent instance is about to be loaded into the scheduler cache for displaying by the scheduler.

type

  TcxSchedulerFilterEventEvent = procedure(Sender: TcxCustomSchedulerStorage; AEvent: TcxSchedulerEvent; var Accept: Boolean) of object;

property OnFilterEvent: TcxSchedulerFilterEventEvent;

Description

Implement the OnFilterEvent event handler to load only the user events that meet certain criteria.

The Sender parameter specifies the scheduler control;

The AEvent parameter specifies the user event to be loaded into the cache;

The Accept parameter controls whether or not the AEvent instance will be loaded into the cache. If the AEvent doesn’t match the required condition, set the Accept parameter to False to prevent that instance from loading. The default value of the Accept parameter is True.


TcxCustomSchedulerStorageField
TcxCustomSchedulerStorageField Object

Hierarchy          Properties

The TcxCustomSchedulerStorageField is the base class for classes that implement the persistent field in a data store for storing the TcxSchedulerEvent property.

Unit

cxSchedulerStorage

TcxCustomSchedulerStorageField = class(TCollectionItem)

Description

Each field in storage maps to an appropriate TcxSchedulerEvent property. The scheduler storage component manages the data flow between persistent TcxSchedulerEvent objects and the data store.

Do not use this class directly. Use its descendants instead.


TcxCustomSchedulerStorageField Hierarchy
Hierarchy

TCollectionItem

     |

TcxCustomSchedulerStorageField


Properties for TcxCustomSchedulerStorageField
TcxCustomSchedulerStorageField Properties

TcxCustomSchedulerStorageField          Legend

In TcxCustomSchedulerStorageField

Index

Name

ValueCount

Values

ValueType

ValueTypeClass


TcxCustomSchedulerStorageField.Index

TcxCustomSchedulerStorageField          See Also

Gets the current field's index.

property Index: Integer;

Description

Use the Index property to determine the current field's index.

ReadOnly Property


TcxCustomSchedulerStorageField.Name

TcxCustomSchedulerStorageField

Specifies the current field's name.

property Name: string;

Description

Use the Name property to specify the current field's name.


TcxCustomSchedulerStorageField.ValueCount

TcxCustomSchedulerStorageField          See Also

Gets the number of values (or records in the relational data store) for the current field.

property ValueCount: Integer;

Description

Use the ValueCount property to get the number of values (or records in the relational data store) for the current field.

ReadOnly Property


TcxCustomSchedulerStorageField.Values

TcxCustomSchedulerStorageField          See Also

Provides indexed access to the values in the current field.

property Values[ARecordIndex:Integer]: Variant;

Description

The zero-based ARecordIndex parameter specifies the record’s index in the field.


TcxCustomSchedulerStorageField.ValueType

TcxCustomSchedulerStorageField

Specifies the string representation for the current field’s data type.

property ValueType: string;

Description

At design time this property is used in the Object Inspector to define the data type (represented by the ValueTypeClass property) of the current field.


TcxCustomSchedulerStorageField.ValueTypeClass

TcxCustomSchedulerStorageField          See Also

Specifies the data type for the current user-defined field.

property ValueTypeClass: TcxValueTypeClass;

Description

Use the ValueTypeClass property to specify the data type of the current user-defined field.


TcxCustomSchedulerStorageFields
TcxCustomSchedulerStorageFields Object

Hierarchy          Properties

The TcxCustomSchedulerStorageFields is the base class for classes implementing a collection containing TcxSchedulerStorageField objects.

Unit

cxSchedulerStorage

TcxCustomSchedulerStorageFields = class(TCollection)

Description

The TcxCustomSchedulerStorageFields provides a common interface and behavior for handling TcxSchedulerStorageField objects in various data modes (see the TcxSchedulerStorageFields and TcxSchedulerDBStorageFields). The TcxCustomSchedulerStorageFields provides a flexible mechanism to deal with a variable number of fields if there is a need to add user-defined fields to storage.


TcxCustomSchedulerStorageFields Hierarchy
Hierarchy

TCollection

     |

TcxCustomSchedulerStorageFields


Properties for TcxCustomSchedulerStorageFields
TcxCustomSchedulerStorageFields Properties

TcxCustomSchedulerStorageFields          Legend

In TcxCustomSchedulerStorageFields

Storage


TcxCustomSchedulerStorageFields.Storage

TcxCustomSchedulerStorageFields

Represents the persistence manager component.

property Storage: TcxCustomSchedulerStorage;

Description

The persistence manager component is used to persist the scheduler’s data in a data store.

Use the Storage property to access the storage instance.

ReadOnly Property


TcxSchedulerStorage
 TcxSchedulerStorage Object

Hierarchy          Properties          Methods          Events

The TcxSchedulerStorage implements the persistence manager component that stores attributes of the TcxSchedulerEvent and TcxSchedulerStorageResourceItem objects in the file system store.

Unit

cxSchedulerStorage

TcxSchedulerStorage = class(TcxCustomSchedulerStorage)

Description

This component manages the data flow between in-memory TcxSchedulerControlEvent objects and persistent TcxSchedulerEvent objects stored in a file system.

The TcxSchedulerStorage object is referenced by the TcxScheduler.Storage property, if the TcxSchedulerStorage component is linked to the scheduler (see also TcxSchedulerDBStorage).


TcxSchedulerStorage Hierarchy
Hierarchy

TComponent

     |

TcxCustomSchedulerStorage

     |

TcxSchedulerStorage


Properties for TcxSchedulerStorage
TcxSchedulerStorage Properties

TcxSchedulerStorage          Legend

In TcxSchedulerStorage

CustomFields

Derived from TcxCustomSchedulerStorage

EventCount

Events

FieldCount

Holidays

InternalUpdate

Reminders

ResourceCount

ResourceIDs

ResourceNames

Resources

StoreUsingGlobalTime

StoringName

Values

UseActualTimeRange


Methods for TcxSchedulerStorage
TcxSchedulerStorage Methods

TcxSchedulerStorage          Legend

In TcxSchedulerStorage

LoadFromFile

LoadFromStream

SaveToFile

SaveToStream

Derived from TcxCustomSchedulerStorage

AddListener

BeginUpdate

CalculateEventActualTimeRanges

Clear

CreateEvent

CreateOccurrence

EndUpdate

FindAvailableAllDay

FindAvailableTime

FullRefresh

GenerateHolidayEvents

GetEventByID

GetEvents

GetHolidayNamesByDate

GetReminderEvents

PopulateHolidayDates

PostEvents

RemoveListener


Events for TcxSchedulerStorage
TcxSchedulerStorage Events

TcxSchedulerStorage          Legend

Derived from TcxCustomSchedulerStorage

OnEventDeleted

OnEventInserted

OnEventIntersect

OnEventModified

OnFilterEvent


TcxSchedulerStorage.CustomFields

TcxSchedulerStorage          See Also

Represents user-defined fields in storage.

property CustomFields: TcxSchedulerStorageFields;

Description

Use the CustomFields property to specify custom fields.


TcxSchedulerStorage.LoadFromFile

TcxSchedulerStorage          See Also

Reads user events from the file specified by the AFileName into the data controller.

procedure LoadFromFile(const AFileName: string);


TcxSchedulerStorage.LoadFromStream

TcxSchedulerStorage          See Also

Reads user events from the stream specified by the AStream into the data controller.

procedure LoadFromStream(AStream: TStream); virtual;

Description

This method is declared as virtual to allow the TcxSchedulerStorage’s descendants to provide their own appropriate implementation for reading data from the stream.


TcxSchedulerStorage.SaveToFile

TcxSchedulerStorage          See Also

Writes user events to the file specified by the AFileName in the data controller.

procedure SaveToFile(const AFileName: string);

Description

Writes the user’s events to the file specified by the AFileName in the data controller.


TcxSchedulerStorage.SaveToStream

TcxSchedulerStorage          See Also

Writes user events to the stream specified by the AStream parameter in the data controller.

procedure SaveToStream(AStream: TStream); virtual;

Description

This method is declared as virtual to allow the TcxSchedulerStorage’s descendants to provide their own appropriate implementation for writing data to the stream.


TcxSchedulerStorageDataController
TcxSchedulerStorageDataController Object

Hierarchy          Properties          Methods          Events

Represents a data controller that handles data from a custom data source.

Unit

cxSchedulerStorage

TcxSchedulerStorageDataController = class(TcxCustomDataController)

Description

Its ancestor - the TcxCustomDataController – "knows" how to work with a custom data source. It hides the low-level routines from the developer and provides comprehensive data processing (such as filtering, group operations, calculation of summaries, etc.). The TcxSchedulerDataController adds functionality that takes care of the scheduler items (i.e. the user event’s attributes and resources). The TcxSchedulerStorage class implicitly uses the TcxSchedulerDataController to communicate with a custom data source.


TcxSchedulerStorageDataController Hierarchy
Hierarchy

TPersistent

     |

TcxCustomDataController

     |

TcxSchedulerStorageDataController


Properties for TcxSchedulerStorageDataController
TcxSchedulerStorageDataController Properties

TcxSchedulerStorageDataController          Legend

Derived from TcxCustomDataController

CustomDataSource

DisplayTexts

EditOperations

EditState

Filter

FilteredIndexByRecordIndex

FilteredRecordCount

FilteredRecordIndex

FocusedRecordIndex

FocusedRowIndex

Groups

IsEditing

IsPattern

MultiSelect

Options

RecordCount

RowCount

Summary

Values


Methods for TcxSchedulerStorageDataController
TcxSchedulerStorageDataController Methods

TcxSchedulerStorageDataController          Legend

In TcxSchedulerStorageDataController

GetItem

GetItemID

UpdateData

UpdateItemIndexes

Derived from TcxCustomDataController

Append

AppendRecord

BeginUpdate

BeginUpdateFields

Cancel

ChangeDetailExpanding

ChangeRowSelection

CheckFocusedSelected

ClearBookmark

ClearDetailLinkObject

ClearDetails

ClearSelection

ClearSorting

CollapseDetails

DeleteFocused

DeleteRecord

DeleteSelection

Edit

EndUpdate

FindRecordIndexByText

ForEachRow

FocusDetails

GetDetailDataController

GetMasterDataController

GetMasterRecordIndex

GetPatternDataController

GetRowDisplayText

GetRowIndexByRecordIndex

GetRowInfo

GetRowValue

GetSelectedCount

GetSelectedRowIndex

GotoBookmark

GotoFirst

GotoLast

GotoNext

GotoPrev

Insert

InsertRecord

IsBOF

IsBookmarkAvailable

IsDetailMode

IsEOF

IsGridMode

IsRowSelected

LoadFromStream

MakeRecordVisible

Post

RefreshExternalData

RestoreKeys

SaveBookmark

SaveKeys

SaveToStream

SelectAll

SelectRows

SyncSelected


Events for TcxSchedulerStorageDataController
TcxSchedulerStorageDataController Events

TcxSchedulerStorageDataController          Legend

Derived from TcxCustomDataController

OnAfterCancel

OnAfterDelete

OnAfterInsert

OnAfterPost

OnBeforeCancel

OnBeforeDelete

OnBeforeInsert

OnBeforePost

OnCompare

OnDataChanged

OnDetailCollapsed

OnDetailCollapsing

OnDetailExpanded

OnDetailExpanding

OnFilterRecord

OnGroupingChanged

OnRecordChanged

OnNewRecord

OnSortingChanged


TcxSchedulerStorageDataController.GetItem

TcxSchedulerStorageDataController          See Also

Returns from storage the TcxSchedulerStorageField object that resides at the position specified by the zero-based Index parameter.

function GetItem(Index: Integer): TObject; override;

Description

Use the GetItem method to return the TcxSchedulerStorageField object residing at the position specified by the zero-based Index parameter.


TcxSchedulerStorageDataController.GetItemID

TcxSchedulerStorageDataController          See Also

Returns the position in storage of the TcxSchedulerStorageField object specified by the AItem parameter.

class function GetItemID(AItem: TObject): Integer; override;

Description

Use the GetItemID method to return the position in storage of the TcxSchedulerStorageField object specified by the AItem parameter.


TcxSchedulerStorageDataController.UpdateData

TcxSchedulerStorageDataController

Forces storage to update itself at design time.

procedure UpdateData; override;

Description

Use the UpdateData method to update storage at design time.


TcxSchedulerStorageDataController.UpdateItemIndexes

TcxSchedulerStorageDataController

Forces storage to update the TcxCustomSchedulerStorageField fields’ indexes at design time and its own.

procedure UpdateItemIndexes; override;

Description

Use the UpdateItemIndexes method to update the storage and the TcxCustomSchedulerStorageField fields’ indexes at design time.


TcxSchedulerStorageField
TcxSchedulerStorageField Object

Hierarchy          Properties

The TcxSchedulerStorageField implements a persistent field in a data store to store the TcxSchedulerEvent or TcxSchedulerStorageResourceItem property.

Unit

cxSchedulerStorage

TcxSchedulerStorageField = class(TcxCustomSchedulerStorageField)

Description

Each field in storage maps to the appropriate TcxSchedulerEvent or TcxSchedulerStorageResourceItem property. The TcxSchedulerStorage persistence manager component manages the data flow between in-memory TcxSchedulerControlEvent and persistent TcxSchedulerEvent objects. The TcxSchedulerStorageField object is referenced by the TcxSchedulerStorageFields.Items property.


TcxSchedulerStorageField Hierarchy
Hierarchy

TCollectionItem

     |

TcxCustomSchedulerStorageField

     |

TcxSchedulerStorageField


Properties for TcxSchedulerStorageField
TcxSchedulerStorageField Properties

TcxSchedulerStorageField          Legend

Derived from TcxCustomSchedulerStorageField

Index

Name

ValueCount

Values

ValueType

ValueTypeClass


TcxSchedulerStorageFields
TcxSchedulerStorageFields Object

Hierarchy          Properties          Methods

The TcxSchedulerStorageFields implements a collection containing TcxSchedulerStorageField objects for working with the file system store (see the TcxSchedulerStorage persistence manager).

Unit

cxSchedulerStorage

TcxSchedulerStorageFields = class(TcxCustomSchedulerStorageFields)

Description

The TcxSchedulerStorageFields provides flexibility for handling a variable number of TcxSchedulerStorageField objects. It can be useful if besides the predefined user event’s attributes (see the TcxSchedulerEvent) the developer needs to add custom attributes that should be persisted in storage (see the TcxSchedulerStorage.CustomFields property).


TcxSchedulerStorageFields Hierarchy
Hierarchy

TCollection

     |

TcxCustomSchedulerStorageFields

     |

TcxSchedulerStorageFields


Properties for TcxSchedulerStorageFields
TcxSchedulerStorageFields Properties

TcxSchedulerStorageFields          Legend

In TcxSchedulerStorageFields

Items

Derived from TcxCustomSchedulerStorageFields

Storage


Methods for TcxSchedulerStorageFields
TcxSchedulerStorageFields Methods

TcxSchedulerStorageFields          Legend

In TcxSchedulerStorageFields

Add

ItemByName


TcxSchedulerStorageFields.Items

TcxSchedulerStorageFields

Provides indexed access to the TcxSchedulerStorageField objects in storage.

property Items[Index:Integer]: TcxSchedulerStorageField;

Description

Use the Items property to get the TcxSchedulerStorageField object at the position specified by the zero-based Index parameter.


TcxSchedulerStorageFields.Add

TcxSchedulerStorageFields

Creates a new TcxSchedulerStorageField instance and adds it to the TcxSchedulerStorageFields collection.

function Add: TcxSchedulerStorageField;

Description

The Add method returns the new TcxSchedulerStorageField instance.


TcxSchedulerStorageFields.ItemByName

TcxSchedulerStorageFields          See Also

Returns the TcxSchedulerStorageField object from the TcxSchedulerStorageFields collection.

function ItemByName(const AName: string): TcxSchedulerStorageField;

Description

Use the ItemByName method to get the TcxSchedulerStorageField object. If the AName doesn’t match the field in the collection this method returns nil.

The AName parameter specifies the TcxSchedulerStorageField object in the TcxSchedulerStorageFields collection.


TcxSchedulerControlEvent
TcxSchedulerControlEvent Object

Hierarchy          Properties          Methods

Represents a temporary in-memory user event object in the scheduler control.

Unit

cxSchedulerStorage

TcxSchedulerControlEvent = class(TcxSchedulerEvent)

Description

Instances of the TcxSchedulerControlEvent are stored in a cache (see the TcxSchedulerEventList) for operating on user events under the current session of the scheduler control and are not tied to the persistence mechanism. While the TcxSchedulerEvent represents the user event persisted in a data store. The TcxSchedulerControlEvent instance is a lightweight duplicate of an instance of the TcxSchedulerEvent.


TcxSchedulerControlEvent Hierarchy
Hierarchy

TPersistent

     |

TcxSchedulerEvent

     |

TcxSchedulerControlEvent


Properties for TcxSchedulerControlEvent
TcxSchedulerControlEvent Properties

TcxSchedulerControlEvent          Legend

In TcxSchedulerControlEvent

IsClone

Selected

Source

Derived from TcxSchedulerEvent

ActualFinish

ActualStart

AllDayEvent

Caption

Duration

EditValues

Enabled

EventType

Finish

ID

IsEditing

LabelColor

Location

Message

ParentID

Pattern

ReadOnly

RecordIndex

RecurrenceIndex

RecurrenceInfo

Reminder

ReminderDate

ReminderMinutesBeforeStart

ResourceID

ResourceIDCount

ResourceIDs

Shared

Start

State

Storage

TaskComplete

TaskIndex

TaskLinkOwners

TaskLinks

TaskStatus

ValueCount

Values


Methods for TcxSchedulerControlEvent
TcxSchedulerControlEvent Methods

TcxSchedulerControlEvent          Legend

In TcxSchedulerControlEvent

Assign

BeginEditing

EndEditing

Derived from TcxSchedulerEvent

AssignAttributes

BeginEditing

Cancel

CanLink

Conflicts

CreateConflictsInfo

Delete

DeleteExceptions

EndEditing

GetCustomFieldValue

GetCustomFieldValueByIndex

GetCustomFieldValueByName

GetOccurrence

GetOriginalDate

GetRecurrenceChain

GetResourceItem

GetTaskLinkOwnerRelation

GetValidTaskTimeRange

GetValidTaskTimeRangeByRelation

HasExceptions

IsDayEvent

IsRecurring

IsResourceEvent

IsSharedWithResource

MoveTo

Post

RemoveRecurrence

ReplaceResourceID

SetCustomFieldValue

SetCustomFieldValueByIndex

SetCustomFieldValueByName

ShareWithResource

UnshareWithResource

UpdateTaskLinks

UpdateTaskTime


TcxSchedulerControlEvent.IsClone

TcxSchedulerControlEvent

Specifies whether the current object is a clone of another TcxSchedulerControlEvent object.

property IsClone: Boolean;

Description

If the value of the IsClone property is True the current object is a clone of another TcxSchedulerControlEvent object.

ReadOnly Property


TcxSchedulerControlEvent.Selected

TcxSchedulerControlEvent          See Also

Specifies whether the current user event is selected.

property Selected: Boolean;

Description

If the value of the Selected property is True then the current user event is selected.


TcxSchedulerControlEvent.Source

TcxSchedulerControlEvent          See Also

Represents the TcxSchedulerEvent or TcxSchedulerControlEvent object (if the current object is the TcxSchedulerControlEvent’s clone).

property Source: TcxSchedulerEvent;

Description

Use the Source property to access the parent user event (an instance of the TcxSchedulerEvent or TcxSchedulerAggregateStorageEvent).

ReadOnly Property


TcxSchedulerControlEvent.Assign

TcxSchedulerControlEvent          See Also

Copies the values of the properties of the TcxSchedulerEvent object (or its descendant) specified by the Source parameter to the current object’s properties.

procedure Assign(Source: TPersistent); override;

Description

Copies the values of the properties of the TcxSchedulerEvent object (or its descendant) specified by the Source parameter to the current object’s properties.


TcxSchedulerControlEvent.BeginEditing

TcxSchedulerControlEvent          See Also

Provides an empty implementation that does nothing when it's invoked on the TcxSchedulerControlEvent object.

procedure BeginEditing; override;

Description

Provides an empty implementation that does nothing when it's invoked on the TcxSchedulerControlEvent object.


TcxSchedulerControlEvent.EndEditing

TcxSchedulerControlEvent          See Also

Provides an empty implementation that does nothing when it's invoked on the TcxSchedulerControlEvent object.

procedure EndEditing; override;

Description

Provides an empty implementation that does nothing when it's invoked on the TcxSchedulerControlEvent object.


TcxSchedulerControlEventID
TcxSchedulerControlEventID Object

Hierarchy          Methods

The TcxSchedulerControlEventID class implements the TcxSchedulerControlEvent instance’s unique identifier.

Unit

cxSchedulerStorage

TcxSchedulerControlEventID = class(TObject)

Description

The TcxSchedulerControlEventID class contains information used to find the required in-memory user event entity (see the TcxSchedulerControlEvent class). Its fields correspond to the TcxSchedulerEvent.ID, TcxSchedulerEvent.ParentID and TcxSchedulerEvent.RecurrenceIndex properties.

TcxSchedulerControlEventID is the parent of the TcxSchedulerReminderEventID class.


TcxSchedulerControlEventID Hierarchy
Hierarchy

TObject

     |

TcxSchedulerControlEventID


Methods for TcxSchedulerControlEventID
TcxSchedulerControlEventID Methods

TcxSchedulerControlEventID          Legend

In TcxSchedulerControlEventID

Create

Equals

SameEvent


TcxSchedulerControlEventID.Create

TcxSchedulerControlEventID

Creates a unique identifier for the AEvent user event.

constructor Create(AEvent: TcxSchedulerEvent);

Description

Use the Create constructor to instantiate an TcxSchedulerControlEventID object, which contains information used to identify the AEvent user event.


TcxSchedulerControlEventID.Equals

TcxSchedulerControlEventID          See Also

Checks whether the AValue identifier represents the same user event as the current id.

function Equals(AValue: TcxSchedulerControlEventID): Boolean;

Description

The Equals method returns a value of True if the current identifier and the AValue represent the same user event.


TcxSchedulerControlEventID.SameEvent

TcxSchedulerControlEventID          See Also

Checks whether the current id object identifies the user event, which the AEvent references to.

function SameEvent(AEvent: TcxSchedulerEvent): Boolean;

Description

The SameEvent method returns a value of True if the current id instance identifies the same user event as is represented by the AEvent parameter.


TcxSchedulerEvent
TcxSchedulerEvent Object

Hierarchy          Properties          Methods          See Also

Represents a persistent user event object in the scheduler control.

Unit

cxSchedulerStorage

TcxSchedulerEvent = class(TPersistent)

Description

Each instance of the TcxSchedulerEvent corresponds to a record in the relational data store (see the TcxSchedulerDBStorage ) or a persistent value in a non-relational data store (see the TcxSchedulerStorage ). A temporary in-memory user event object is represented by the TcxSchedulerControlEvent and mirrors the persistent TcxSchedulerEvent user event object. The TcxSchedulerEvent object is referenced by the TcxCustomSchedulerStorage.Events property.

To specify the start and end times of the user event use the Start and Finish (or Duration) properties.

Values of the ActualStart and ActualFinish properties are used for specifying the date range in a query’s conditional clause. They define the user event’s lifetime if it is regular or the date range of the occurrences sequence if the user event is recurring.

If the user event lasts 24 hours then the AllDayEvent property should be used (the Finish or Duration property in this case will be ignored). If the user event is recurring use the RecurrenceInfo and RecurrenceIndex properties to specify recurrence’s details.

The following properties are essential to specify information on the user event:

•	Caption – the current user event’s subject text (caption).

•	LabelColor – the current user event’s color.

•	Location – the location at which the current user event is being held.

•	Message – the current user event’s description.

•	State – the current user event’s availability status.


TcxSchedulerEvent Hierarchy
Hierarchy

TPersistent

     |

TcxSchedulerEvent


Properties for TcxSchedulerEvent
TcxSchedulerEvent Properties

TcxSchedulerEvent          Legend

In TcxSchedulerEvent

ActualFinish

ActualStart

AllDayEvent

Caption

Duration

EditValues

Enabled

EventType

Finish

ID

IsEditing

LabelColor

Location

Message

ParentID

Pattern

ReadOnly

RecordIndex

RecurrenceIndex

RecurrenceInfo

Reminder

ReminderDate

ReminderMinutesBeforeStart

ResourceID

ResourceIDCount

ResourceIDs

Shared

Start

State

Storage

TaskComplete

TaskIndex

TaskLinkOwners

TaskLinks

TaskStatus

ValueCount

Values


Methods for TcxSchedulerEvent
TcxSchedulerEvent Methods

TcxSchedulerEvent          Legend

In TcxSchedulerEvent

AssignAttributes

BeginEditing

Cancel

CanLink

Conflicts

CreateConflictsInfo

Delete

DeleteExceptions

EndEditing

GetCustomFieldValue

GetCustomFieldValueByIndex

GetCustomFieldValueByName

GetOccurrence

GetOriginalDate

GetRecurrenceChain

GetResourceItem

GetTaskLinkOwnerRelation

GetValidTaskTimeRange

GetValidTaskTimeRangeByRelation

HasExceptions

IsDayEvent

IsRecurring

IsResourceEvent

IsSharedWithResource

MoveTo

Post

RemoveRecurrence

ReplaceResourceID

SetCustomFieldValue

SetCustomFieldValueByIndex

SetCustomFieldValueByName

ShareWithResource

UnshareWithResource

UpdateTaskLinks

UpdateTaskTime


TcxSchedulerEvent.ActualFinish

TcxSchedulerEvent          See Also

Gets the user event’s end date or the end date of its last occurrence if the user event is recurring.

property ActualFinish: Integer;

Description

If the current user event is recurring then the ActualFinish property will get the end date of its last occurrence.

The ActualFinish property gets the value of MaxInt, if the recurrence is unbound (the TcxSchedulerEventRecurrenceInfo.Count property’s value is –1).

The Start and Finish properties define the period of time that the user event lasts for.

The ActualStart and ActualFinish properties define the date range of a chain of reoccurrences if the user event is recurring. Thus it can significantly improve performance when reoccurrence data is retrieved from the underlying data store.

ReadOnly Property


TcxSchedulerEvent.ActualStart

TcxSchedulerEvent          See Also

Gets the user event’s start date or the start date of its first occurrence if the user event is recurring.

property ActualStart: Integer;

Description

If the current user event is recurring then the ActualStart property will get the start date of its first occurrence, otherwise it gets the start date of a regular user event.

The Start and Finish properties define the period of time that the user event lasts for.

The ActualStart and ActualFinish properties define the date range of a chain of reoccurrences if the user event is recurring. Thus it can significantly improve performance when reoccurrence data is retrieved from the underlying data store.

ReadOnly Property


TcxSchedulerEvent.AllDayEvent

TcxSchedulerEvent          See Also

Specifies whether the current user event is an all-day event (an event that lasts at least 24 hours or longer).

property AllDayEvent: Boolean;

Description

If the value of this property is True the current user event is an all-day event.

Note: if the value of the AllDayEvent property is True the fractional part (time value) of the Finish and Start properties’ values is ignored.


TcxSchedulerEvent.Caption

TcxSchedulerEvent          See Also

Specifies the caption of the current user event.

property Caption: string;

Description

Use the Caption property to specify the user event’s subject text (caption).


TcxSchedulerEvent.Duration

TcxSchedulerEvent          See Also

Specifies the duration of the current user event.

property Duration: TDateTime;

Description

The period of time in which a user event is active can be defined by the start time (see the Start property) and its duration (the Duration property). Instead of by the start and end times (the Start and Finish properties). The Duration and Finish properties are interchangeable and mutually influence each other.

Note: the value of the Duration property cannot exceed the frequency with which the user event occurs (see the TcxSchedulerEventRecurrenceInfo.Recurrence property) if the user event is recurring (see the IsRecurring method).


TcxSchedulerEvent.EditValues

TcxSchedulerEvent          See Also

Provides indexed access to the current TcxSchedulerEvent object’s properties in edit mode.

property EditValues[Index:Integer]: Variant;

Description

Used to specify the current TcxSchedulerEvent properties’ values in edit mode (see the BeginEditing method and the IsEditing property).

The zero-based Index parameter specifies the property index.


TcxSchedulerEvent.Enabled

TcxSchedulerEvent

Checks whether the start time for the current user event is later than the host environment time.

property Enabled: Boolean;

Description

If the start time of the current user event (represented by the Start property) is later than the host environment time this property’s value is True, otherwise - False.


TcxSchedulerEvent.EventType

TcxSchedulerEvent          See Also

Specifies the status of the current user event’s reoccurrences.

property EventType: TcxEventType;

Description

A full set of reoccurrence’s states is specified by the TcxEventType enumeration.


TcxSchedulerEvent.Finish

TcxSchedulerEvent          See Also

Specifies the end date and time for the current user event.

property Finish: TDateTime;

Description

With the Start property the Finish property defines the period of time that the user event lasts for. The period of time defined cannot exceed the frequency with which the user event occurs (see the TcxSchedulerEventRecurrenceInfo.Recurrence property) if the current user event is recurring (see the IsRecurring method). An alternative to the Finish property is the Duration property. The Finish property and the Duration property mutually influence each other.

Note: if the value of the AllDayEvent property is True the value of the Finish property is ignored.


TcxSchedulerEvent.ID

TcxSchedulerEvent

Gets the unique identifier of the current TcxSchedulerEvent object.

property ID: Variant;

Description

This property enables the current object to be identified.

ReadOnly Property


TcxSchedulerEvent.IsEditing

TcxSchedulerEvent          See Also

Determines whether the current user event is in edit mode.

property IsEditing: Boolean;

Description

The BeginEditing method activates edit mode while the EndEditing method deactivates it for the specified user event. When the current user event is in edit mode this property returns a value of True, otherwise – False.

ReadOnly Property


TcxSchedulerEvent.LabelColor

TcxSchedulerEvent          See Also

Specifies a user event’s current color.

property LabelColor: Integer;

Description

The LabelColor property can be used to color a user event that meets certain specific criteria, so it can be easily identified.


TcxSchedulerEvent.Location

TcxSchedulerEvent          See Also

Specifies the text that represents the location at which the current user event is being held.

property Location: string;

Description

The Location property associates with the location attribute of the user event.


TcxSchedulerEvent.Message

TcxSchedulerEvent          See Also

Specifies the text for the end-user’s description of the current user event.

property Message: string;

Description

Specifies the text for the end-user’s description of the current user event.


TcxSchedulerEvent.ParentID

TcxSchedulerEvent          See Also

Specifies the unique identifier of the TcxSchedulerEvent object.

property ParentID: Variant;

Description

If the EventType property of the current object has an etException or etCustom value the ParentID property identifies the TcxSchedulerEvent object that is the ancestor in a chain of reoccurrences (the EventType ’s value of this object is etPattern).


TcxSchedulerEvent.Pattern

TcxSchedulerEvent          See Also

Gets the parent TcxSchedulerEvent object of the current user event.

property Pattern: TcxSchedulerEvent;

Description

The parent TcxSchedulerEvent object starts the series of occurrences if the parent TcxSchedulerEvent object is recurring (see the TcxSchedulerEvent.IsRecurring property). In this case the current user event is an occurrence in the series that the parent TcxSchedulerEvent object started. Use the Pattern property to determine the parent of the current user event.

Note: if the current user event is standalone the Pattern property returns nil.

ReadOnly Property


TcxSchedulerEvent.ReadOnly

TcxSchedulerEvent          See Also

Gets the read-only status of the current user event.

property ReadOnly: Boolean;

Description

If the value of the ReadOnly property is True then the current user event is not modifiable.

Use the ReadOnly property to determine the read-only status of the current user event.

Note: the status of the user event depends on the resource’s status (see the TcxSchedulerStorageResourceItem.ReadOnly property). If the resource that the user event belongs to is read-only then the current user event is also read-only.

ReadOnly Property


TcxSchedulerEvent.RecordIndex

TcxSchedulerEvent          See Also

Gets the number of the record in storage that corresponds to the current TcxSchedulerEvent object.

property RecordIndex: Integer;

Description

This property is used to store, update or retrieve a record in storage.

ReadOnly Property


TcxSchedulerEvent.RecurrenceIndex

TcxSchedulerEvent          See Also

Specifies which one of the current user event’s reoccurrences this is.

property RecurrenceIndex: Integer;

Description

If the current user event is reoccurring (see the IsRecurring method) the RecurrenceIndex property specifies the current number of the current user event occurrence at the specified time.


TcxSchedulerEvent.RecurrenceInfo

TcxSchedulerEvent

References the TcxSchedulerEventRecurrenceInfo that contains information about the reoccurrences of the current user event.

property RecurrenceInfo: TcxSchedulerEventRecurrenceInfo;

Description

If the current user event is reoccurring the RecurrenceInfo property provides access to all of the reoccurrence's attributes.


TcxSchedulerEvent.Reminder

TcxSchedulerEvent          See Also

Specifies whether the reminder is on or off.

property Reminder: Boolean;

Description

Set the Reminder property to True to switch the reminder on for the current user event. Otherwise the reminder is off.

Note: the initial value of the Reminder property is specified by the TcxSchedulerReminders.DefaultReminder property’s value.


TcxSchedulerEvent.ReminderDate

TcxSchedulerEvent          See Also

Specifies the date and time of the user event‘s reminder.

property ReminderDate: TDateTime;

Description

The value of the ReminderDate property can be specified in two ways: either by assigning a value directly to the ReminderDate property or by using the ReminderMinutesBeforeStart property.

In the latter case its value is calculated automatically based upon values of the ReminderMinutesBeforeStart and Start properties.

Use the ReminderDate property to manually snooze a reminder.


TcxSchedulerEvent.ReminderMinutesBeforeStart

TcxSchedulerEvent          See Also

Specifies the time-out in minutes for the reminder of the current user event.

property ReminderMinutesBeforeStart: Integer;

Description

Use the ReminderMinutesBeforeStart property to specify how many minutes before the user event occurs that the reminder alerts.

Note: the initial value of the ReminderMinutesBeforeStart property is specified by the TcxSchedulerReminders.DefaultMinutes property’s value.


TcxSchedulerEvent.ResourceID

TcxSchedulerEvent          See Also

Specifies the resource's unique identifier for the current user event.

property ResourceID: Variant;

Description

Resources are used to group schedules (the gkByResource or gkByDate flag on the TcxSchedulerCustomResourceView.GroupingKind property is active and more than one resource is defined) to facilitate managing user time.

If the current user event is assigned to more than one resource then the ResourceID property contains a collection of the ids for the resources that the user event belongs to. To store information on ids of different resources associated with a particular user event, specifiy the type of the ResourceID dataset field as TBlobField. If the TBlobField type is applied, as a result the ResourceID property represents data in a binary format.

Assigning a user event to different resources can be done programmatically and via dialogs at runtime.

An end-user can associate resources with a user event using the Resource check combo box located in the Event dialog. The Resource check combo box is available in the dialog, if the TcxSchedulerEventOperations.SharingBetweenResources property is set to True.

It can be done programmatically using the ShareWithResource method.


TcxSchedulerEvent.ResourceIDCount

TcxSchedulerEvent          See Also

Returns the number of resources to which the current user event is assigned.

property ResourceIDCount: Integer;

ReadOnly Property


TcxSchedulerEvent.ResourceIDs

TcxSchedulerEvent          See Also

Provides indexed access to unique identifiers of resources to which the current user event is assigned.

property ResourceIDs[Index:Integer]: Variant;

Description

Use the ResourceIDs property to obtain a resource’s unique identifier, at the position specified by the zero-based Index parameter.

If the current user event belongs to only one resource, the Index argument is ignored, and the ResourceID property’s value is returned.

ReadOnly Property


TcxSchedulerEvent.Shared

TcxSchedulerEvent          See Also

Gets whether the current user event is shared between different resources.

property Shared: Boolean;

Description

The Shared property gets a value of True if the current user event belongs to at least two resources.

ReadOnly Property


TcxSchedulerEvent.Start

TcxSchedulerEvent          See Also

Specifies the start date and time of the current user event.

property Start: TDateTime;

Description

Can be used with the Finish property or Duration property to identify the period of time the user event lasts for. If the user event is recurring (see the IsRecurring method) the period of time defined cannot exceed the frequency of the specified user event (see the TcxSchedulerEventRecurrenceInfo.Recurrence property).

Note: if the value of the AllDayEvent property is True the value of the Start property is ignored.


TcxSchedulerEvent.State

TcxSchedulerEvent          See Also

Specifies the availability status of the current user event.

property State: Integer;

Description

The availability status is used for at-a-glance user event identification. There are four predefined states which can be assigned to the current user event – free, tentative, busy and out of office. These states are denoted by the appropriate global constants – tlsBusy, tlsFree, tlsOutOfOffice and tlsTentative.

To indicate the availability status of a user event in the scheduler a strip appears around it when it's selected or to its left when it's inactive. The strip is colored in the following manner:

Image	Description
	When the user event is marked as busy the strip is colored in blue
	When the user event is marked as free the strip is colored as clear
	When the user event is marked as out of office the strip is colored in violet
	When the user event is marked as tentative the strip is colored in blue with light diagonal stripes
Note: the availability status is only visible under the day view.


TcxSchedulerEvent.Storage

TcxSchedulerEvent

Represents the persistence manager component.

property Storage: TcxCustomSchedulerStorage;

Description

The persistence manager component is used to persist the scheduler’s data in a data store.

Use the Storage property to access the storage instance.

ReadOnly Property


TcxSchedulerEvent.TaskComplete

TcxSchedulerEvent          See Also

Specifies the task completion, as a percentage.

property TaskComplete: Integer;

Description

The TaskStatus property depends upon the value specified by the TaskComplete property.

The TaskComplete property’s value is displayed within task bars when scheduling in the Gantt View (if the scheduler’s ViewGantt.EventsStyle property is esProgress).


TcxSchedulerEvent.TaskIndex

TcxSchedulerEvent

Specifies the row in which the current task resides.

property TaskIndex: Integer;

Description

The TaskIndex property is a zero-based index that defines the vertical layout of tasks in the Gantt View, regardless of the task dependency relationship.


TcxSchedulerEvent.TaskLinkOwners

TcxSchedulerEvent          See Also

References a collection that stores predecessor tasks to which the current task is linked.

property TaskLinkOwners: TcxSchedulerEventList;

ReadOnly Property


TcxSchedulerEvent.TaskLinks

TcxSchedulerEvent

Represents task links that belong to the TcxSchedulerEvent instance.

property TaskLinks: TcxSchedulerEventLinks;

Description

In the Gantt View, the TcxSchedulerEvent instance represents a task.

Tasks can be linked to each other, to organize a task series.

All the links that start from the task belong to this task, and these links are stored in the collection represented by the TaskLinks property.

ReadOnly Property


TcxSchedulerEvent.TaskStatus

TcxSchedulerEvent          See Also

Specifies the task status.

property TaskStatus: TcxSchedulerEventTaskStatus;

Description

Refer to the TcxSchedulerEventTaskStatus enumeration, to see a description of available values.


TcxSchedulerEvent.ValueCount

TcxSchedulerEvent          See Also

Gets the number of the storage fields that store the TcxSchedulerEvent properties’ values.

property ValueCount: Integer;

Description

Use the ValueCount property to get the number of the storage fields.

ReadOnly Property


TcxSchedulerEvent.Values

TcxSchedulerEvent          See Also

Provides indexed access to the storage fields that store the current TcxSchedulerEvent object’s properties values.

property Values[Index:Integer]: Variant;

Description

The Values property provides a unified interface to work with the data in bound or unbound mode. The zero-based Index parameter specifies the field’s index.

Use the Values property to get the current TcxSchedulerEvent properties’ values from the storage fields:

Index	Property
0	TcxSchedulerEvent.Caption
1	TcxSchedulerEvent.EventType
2	TcxSchedulerEvent.Finish
3	TcxSchedulerEvent.LabelColor
4	TcxSchedulerEvent.Location
5	TcxSchedulerEvent.Message
6	TcxSchedulerEvent.AllDayEvent, TcxSchedulerEvent.Enabled, TcxSchedulerEvent.Reminder and TcxSchedulerEventLinks.Expanded are bound to the same field. This field stores a bitwise combination representing them.
7	TcxSchedulerEvent.ParentID
8	TcxSchedulerEvent.RecurrenceIndex
9	TcxSchedulerEvent.RecurrenceInfo
10	TcxSchedulerEvent.ReminderDate
11	TcxSchedulerEvent.ReminderMinutesBeforeStart
12	TcxSchedulerEvent.ResourceID
13	TcxSchedulerEvent.Start
14	TcxSchedulerEvent.State
15	TcxSchedulerEvent.ActualFinish
16	TcxSchedulerEvent.ActualStart
17	TcxSchedulerEvent.TaskComplete
18	TcxSchedulerEvent.TaskIndex
19	TcxSchedulerEvent.TaskLinks
20	TcxSchedulerEvent.TaskStatus
21	ReminderResourcesData

Note: if custom fields are defined in an application (see the TcxSchedulerStorage.CustomFields and TcxSchedulerDBStorage.CustomFields properties), they can be accessed starting from an index of 22, in the same order that they were defined at design-time in the collection editor. It is recommended to use the TcxSchedulerEvent.GetCustomFieldValue, TcxSchedulerEvent.GetCustomFieldValueByIndex, TcxSchedulerEvent.GetCustomFieldValueByName or TcxSchedulerEvent.SetCustomFieldValue, TcxSchedulerEvent.SetCustomFieldValueByIndex and TcxSchedulerEvent.SetCustomFieldValueByName methods, instead of the Values property when working with the custom fields.


TcxSchedulerEvent.AssignAttributes

TcxSchedulerEvent          See Also

Copies the contents of the ASource user event.

procedure AssignAttributes(ASource: TcxSchedulerEvent; AUseSourceTime: Boolean = True); virtual;

Description

The AUseSourceTime parameter specifies whether to copy the start and end times of the ASource user event. If the AUseSourceTime parameter’s value is True then the ASource’s start and end times will be assigned.


TcxSchedulerEvent.BeginEditing

TcxSchedulerEvent          See Also

Loads the current object properties’ values for editing and activates edit mode for the current user event.

procedure BeginEditing; virtual;

Description

Use the BeginEditing method to start editing the current user event.


TcxSchedulerEvent.Cancel

TcxSchedulerEvent          See Also

Deactivates edit mode and prevents the current user event from being updated in storage.

procedure Cancel;

Description

Use the Cancel method to exit from edit mode and prevent the current user event from being updated in storage.


TcxSchedulerEvent.CanLink

TcxSchedulerEvent          See Also

Checks whether an event can be linked to the current task when scheduling in Gantt View.

function CanLink(AEvent: TcxSchedulerEvent): Boolean; virtual;

Description

The CanLink method returns True if AEvent belongs to the same resource as the current task (see the ResourceID property and the ShareWithResource method) and is not currently linked to the current task.


TcxSchedulerEvent.Conflicts

TcxSchedulerEvent          See Also

Determines whether other user events overlap with the scheduled time of the current user event.

function Conflicts(AExceptEventsWithoutResources: Boolean): Boolean;

Description

The Conflicts method returns a value of True if at least one user event was scheduled at the same time as the current one.

The AExceptEventsWithoutResources parameter specifies whether user events, which are not associated with any resources, will be treated as intersected with the current user event, if they were scheduled at the same time. Set the AExceptEventsWithoutResources parameter to False to make them intersected.


TcxSchedulerEvent.CreateConflictsInfo

TcxSchedulerEvent          See Also

Instantiates a TcxSchedulerEventConflictsInfo object which contains information on any user events that overlap with the current user event.

function CreateConflictsInfo (AExceptEventsWithoutResources: Boolean): TcxSchedulerEventConflictsInfo;

Description

The TcxSchedulerEventConflictsInfo object allows to find out whether there are overlapped user events (see the TcxSchedulerEventConflictsInfo.HasConflicts property) and provides access to the collection which contains all the user events that share the scheduled time with the current user event (see the TcxSchedulerEventConflictsInfo.ConflictEvents property).

The time range in which the overlapping user events fall is specified by the start and end times of the current user event.

Information on which class is used (TcxSchedulerEventConflictsInfo or its descendant) to instantiate an object is provided by the cxSchedulerEventConflictsInfoClass constant.

The AExceptEventsWithoutResources parameter specifies whether the user events, which are not assigned to any resources, will be treated as overlapped and, as consequence, will be stored in the TcxSchedulerEventConflictsInfo.ConflictEvents collection. Set the AExceptEventsWithoutResources parameter to False to provide information on these user events.

Note: user events, which do not belong to any resources, will be shown in the scheduling area, if the TcxSchedulerOptionsView.ShowEventsWithoutResource property is set to True. Otherwise they will be hidden.


TcxSchedulerEvent.Delete

TcxSchedulerEvent          See Also

Removes the current TcxSchedulerEvent instance from storage and memory and forces the scheduler control to update itself to mirror any changes made.

procedure Delete;

Description

Removes the current TcxSchedulerEvent instance from storage and memory and forces the scheduler control to update itself to mirror any changes made.


TcxSchedulerEvent.DeleteExceptions

TcxSchedulerEvent

Deletes all the custom occurrences and exceptions if the current user event is the pattern.

procedure DeleteExceptions; virtual;

Description

Use the DeleteExceptions method to delete all the custom occurrences spawned from the current user event and exceptions if the current user event is the pattern.


TcxSchedulerEvent.EndEditing

TcxSchedulerEvent          See Also

Flushes the updated current user event to storage and deactivates edit mode for it.

procedure EndEditing; virtual;

Description

Use the EndEditing method to finish editing the current user event and update it in storage.

Note: this method is used with the BeginEditing method and can be invoked only after the BeginEditing method has been invoked. If the EndEditing method is invoked without or before the BeginEditing method is invoked a runtime exception is thrown.


TcxSchedulerEvent.GetCustomFieldValue

TcxSchedulerEvent          See Also

Returns the user-defined attribute’s value of the current user event from the ACustomField in the TcxSchedulerStorageFields collection.

function GetCustomFieldValue(ACustomField: TcxCustomSchedulerStorageField): Variant;

Description

Use the GetCustomFieldValue method to get the value of the user-defined attribute from the custom field specified by the ACustomField parameter. If an illegal argument is specified (a value of nil or an inappropriate object) the runtime exception will be thrown.


TcxSchedulerEvent.GetCustomFieldValueByIndex

TcxSchedulerEvent          See Also

Returns the user-defined attribute’s value of the user event from the TcxSchedulerStorageFields collection at the position specified by the AIndex parameter.

function GetCustomFieldValueByIndex(AIndex: Integer): Variant;

Description

Use the GetCustomFieldValueByIndex method to get the value of the user-defined attribute from the custom field specified by the AIndex parameter. If the AIndex doesn’t match an index in the TcxSchedulerStorageFields collection the runtime exception will be thrown.


TcxSchedulerEvent.GetCustomFieldValueByName

TcxSchedulerEvent          See Also

Returns the user-defined attribute’s value of the current user event from the AName custom field, located in the TcxSchedulerStorageFields collection.

function GetCustomFieldValueByName(const AName: string): Variant;

Description

Use the GetCustomFieldValueByName method to get the value of the user-defined attribute from the custom field specified by the AName parameter. If the AName doesn’t match the custom field’s name in the TcxSchedulerStorageFields collection, the runtime exception will be thrown.


TcxSchedulerEvent.GetOccurrence

TcxSchedulerEvent          See Also

Returns the recurring user event’s occurrence by the ADate.

function GetOccurrence(ADate: TDateTime): TcxSchedulerEvent;

Description

The GetOccurrence method returns the occurrence of any type whether it is a regular occurrence (the etOccurrence type), a custom (the etCustom type) or an exception in the series (the etException type).

The ADate parameter specifies the date which the occurrence was scheduled for.


TcxSchedulerEvent.GetOriginalDate

TcxSchedulerEvent          See Also

Returns the start date and time of the current user event.

function GetOriginalDate: TDateTime;

Description

The user event’s start time which is returned by the GetOriginalDate method, depends upon whether the current user event is regular (see the Start property) or it is the current occurrence (of the etCustom or etException type) of a recurring user event.


TcxSchedulerEvent.GetRecurrenceChain

TcxSchedulerEvent

Loads all the TcxSchedulerEvent objects that represent exceptions or custom occurrences of the current user event, from storage and puts them in the TcxSchedulerEventList collection, if the flag etPattern on the current user event’s EventType property is active.

function GetRecurrenceChain: TcxSchedulerEventList;

Description

Use the GetRecurrenceChain method to load all the TcxSchedulerEvent objects that represent exceptions or custom occurrences in a chain of reoccurrences of the current user event, from storage and put them into the TcxSchedulerEventList collection if the value of the current user event’s EventType property is etPattern.

Note: this method can be used for retrieving these occurrences to delete them (in the case when a parent of the chain is about to be deleted).


TcxSchedulerEvent.GetResourceItem

TcxSchedulerEvent          See Also

Returns the TcxSchedulerStorageResourceItem object, which represents the schedule resource.

function GetResourceItem: TcxSchedulerStorageResourceItem;

Description

The GetResourceItem method always returns the first resource instance from the resources collection, if the current user event is shared between resources.

Use the GetResourceItem method to get the TcxSchedulerStorageResourceItem object associated with the schedule resource that the current user event belongs to (if the current user event is associated with a single resource).

Note: the GetResourceItem method is deprecated.


TcxSchedulerEvent.GetTaskLinkOwnerRelation

TcxSchedulerEvent

Checks whether the current task (the successor) and a specified task (the predecessor) are linked, and obtains the link type.

function GetTaskLinkOwnerRelation(ATaskLinkOwner: TcxSchedulerEvent; var ARelation: TcxSchedulerEventRelation): Boolean; virtual;

Description

The GetTaskLinkOwnerRelation method returns True, if two tasks are linked.

ATaskLinkOwner references the predecessor task (which owns the link).

The method writes the resulting task link type to ARelation.


TcxSchedulerEvent.GetValidTaskTimeRange

TcxSchedulerEvent          See Also

Validates the current task’s time start and end time.

procedure GetValidTaskTimeRange(var AStart, AFinish: TDateTime); virtual;

Description

Use the GetValidTaskTimeRange method if the task is linked to the other task (or tasks) as a successor, and its time bounds have been changed in code.

The calculation of the allowable time period depends upon the link type (see the TcxSchedulerEventItemLink.Relation property) and the predecessor task’s start and end time.

AStart and AFinish represent the current task’s calculated start and end time.


TcxSchedulerEvent.GetValidTaskTimeRangeByRelation

TcxSchedulerEvent          See Also

Validates the current task’s time bounds.

procedure GetValidTaskTimeRangeByRelation(const ARelation: TcxSchedulerEventRelation; AEvent: TcxSchedulerEvent; var AStart, AFinish: TDateTime); virtual;

Description

Use the GetValidTaskTimeRangeByRelation method if the task is linked to the other task (or tasks) as a successor, and its time bounds have been changed in code.

The calculation of the allowable time period depends upon the link type and the predecessor task’s time bounds.

ARelation specifies the link type.

AEvent represents the predecessor task.

AStart and AFinish represent the current task’s calculated time bounds.


TcxSchedulerEvent.HasExceptions

TcxSchedulerEvent          See Also

Specifies whether the current user event has custom occurrences or exceptions in the chain of reoccurrences if this user event is the parent of this chain.

function HasExceptions: Boolean;

Description

The HasExceptions method returns True if any custom occurrence or exception exists in the chain of reoccurrences spawned from the given user event. A custom occurrence is an occurrence whose details have been changed. An exception means no reoccurrence at the specified time in the chain of reoccurrences.


TcxSchedulerEvent.IsDayEvent

TcxSchedulerEvent          See Also

Checks whether the ADate date contains the current user event.

function IsDayEvent(const ADate: TDateTime): Boolean;

Description

If the ADate date contains the current user event the IsDayEvent method returns True. Otherwise it returns False.


TcxSchedulerEvent.IsRecurring

TcxSchedulerEvent          See Also

Checks whether the current user event is recurring.

function IsRecurring: Boolean;

Description

If the current user event has a recurring state (the value of the EventType property is within the range of the etPattern..etCustom values of the TcxEventType enumeration) this method returns True. Otherwise it returns False.


TcxSchedulerEvent.IsResourceEvent

TcxSchedulerEvent          See Also

Checks whether the current user event belongs to the AResource resource.

function IsResourceEvent(AResource: TcxSchedulerStorageResourceItem; AllowUnassigned: Boolean): Boolean;

Description

Use the IsResourceEvent method to find out whether the current user event is in the AResource resource’s group.

The AllowUnassigned parameter specifies whether the current user event can be shared with resources if no resources are associated with the current user event. That is, if the TcxSchedulerEvent.ResourceID is set to null and the AllowUnassigned parameter is set to True, then this method returns True.


TcxSchedulerEvent.IsSharedWithResource

TcxSchedulerEvent          See Also

Checks whether the current user event belongs to the AResourceItem resource.

function IsSharedWithResource(AResourceItem: TcxSchedulerStorageResourceItem): Boolean;

function IsSharedWithResource(AResourceID: Variant): Boolean;

Description

The IsSharedWithResource method takes either the TcxSchedulerStorageResourceItem instance or its id as an argument.


TcxSchedulerEvent.MoveTo

TcxSchedulerEvent          See Also

Changes the current user event’s start time to the start time specified by the AStartTime parameter.

procedure MoveTo(const AStartTime: TDateTime);

Description

Use the MoveTo method to change the current user event’s start time to the AStartTime specified. This method doesn’t modify the Duration property’s value. As a result the Finish property’s value is also changed.


TcxSchedulerEvent.Post

TcxSchedulerEvent          See Also

Submits the current TcxSchedulerEvent object to storage and forces the scheduler control to update itself to mirror any changes made.

procedure Post;

Description

Use the Post method to submit the current TcxSchedulerEvent object to storage.


TcxSchedulerEvent.RemoveRecurrence

TcxSchedulerEvent

Changes the state of the current user event from recurring to regular.

procedure RemoveRecurrence; virtual;

Description

The RemoveRecurrence method deletes all the associated exceptions which are currently stored in the scheduler storage (see description on the etException value in the TcxEventType enumeration), and sets the EventType to etNone.


TcxSchedulerEvent.ReplaceResourceID

TcxSchedulerEvent          See Also

Replaces an associated resource with a new one or adds a new resource if the current user event is shared between resources.

procedure ReplaceResourceID(AResourceID: Variant);

Description

Use the ReplaceResourceID method to assign the current user event to the resource represented by its id.

The AResourceID parameter specifies the id of the resource, which the current user event will be assigned to.


TcxSchedulerEvent.SetCustomFieldValue

TcxSchedulerEvent          See Also

Writes the AValue user-defined attribute’s value of the current user event to the ACustomField in the TcxSchedulerStorageFields collection.

procedure SetCustomFieldValue(ACustomField: TcxCustomSchedulerStorageField; const AValue: Variant);

Description

Use the SetCustomFieldValue method to write the AValue to the ACustomField. If an illegal argument is specified the runtime exception will be thrown.


TcxSchedulerEvent.SetCustomFieldValueByIndex

TcxSchedulerEvent          See Also

Writes the AValue user-defined attribute’s value of the current user event to the custom field located at the AIndex position in the TcxSchedulerStorageFields collection.

procedure SetCustomFieldValueByIndex(AIndex: Integer; const AValue: Variant);

Description

Use the SetCustomFieldValueByIndex method to write the AValue to the custom field specified by the AIndex parameter. If an illegal argument is specified the runtime exception will be thrown.


TcxSchedulerEvent.SetCustomFieldValueByName

TcxSchedulerEvent          See Also

Writes the AValue user-defined attribute’s value of the current user event to the custom field identified by the AName in the TcxSchedulerStorageFields collection.

procedure SetCustomFieldValueByName(AName: string; const AValue: Variant);

Description

Use the SetCustomFieldValueByName method to write the AValue to the custom field specified by the AName parameter. If an illegal argument is specified the runtime exception will be thrown.


TcxSchedulerEvent.ShareWithResource

TcxSchedulerEvent          See Also

Assigns the current user event to the resource specified by the AResourceItem or AResourceID parameter.

procedure ShareWithResource(AResourceItem: TcxSchedulerStorageResourceItem);

procedure ShareWithResource(AResourceID: Variant);

Description

The new resource is added to the collection of resources that the current user event is shared between.

The ShareWithResource method takes either an TcxSchedulerStorageResourceItem instance or its id as an argument.


TcxSchedulerEvent.UnshareWithResource

TcxSchedulerEvent          See Also

Disassociates the current user event from the AResourceItem resource.

procedure UnshareWithResource(AResourceItem: TcxSchedulerStorageResourceItem);

procedure UnshareWithResource(AResourceID: Variant);

Description

The UnshareWithResource method removes the required resource from the collection of resources the current user event is shared between.

The UnshareWithResource method takes either an TcxSchedulerStorageResourceItem instance or its id as an argument.


TcxSchedulerEvent.UpdateTaskLinks

TcxSchedulerEvent          See Also

Rebuilds the current task’s link hierarchy.

procedure UpdateTaskLinks; virtual;

Description

Since time bounds of successors are constrained by the current task’s time bounds and by the type of the dependency relationship, use the UpdateTaskLinks method if the following operations have been performed in code:

•	The task’s link type has been changed (see the TcxSchedulerEventItemLink.Relation property).

•	The task’s status has been changed (see the TaskStatus property).

•	A new successor task has been linked to the current task (see the TcxSchedulerEventItemLink.Link property).

•	The current task’s or the successor task’s time bounds have been changed (see the Start and Finish properties).


TcxSchedulerEvent.UpdateTaskTime

TcxSchedulerEvent          See Also

Validates the current task’s start time, and moves the task to the new start time, if necessary.

procedure UpdateTaskTime; virtual;

Description

Since the current task’s start time is constrained by the predecessor’s time bounds, and by the type of the dependency relationship, use the UpdateTaskTime method if the following operations have been performed in code:

The task’s link type has been changed (see the TcxSchedulerEventItemLink.Relation property).

The current task has been linked to the predecessor task (see the TcxSchedulerEventItemLink.Link property).

The current task’s time bounds have been changed (see the Start and Finish properties).


TcxSchedulerEventConflictsInfo
TcxSchedulerEventConflictsInfo Object

Hierarchy          Properties          Methods

The TcxSchedulerEventConflictsInfo class contains information on overlapped user events.

Unit

cxSchedulerStorage

TcxSchedulerEventConflictsInfo = class(TObject)

Description

The TcxSchedulerEventConflictsInfo class provides information on overlapped user events either for the specified time period or for a particular user event. For the latter one the time period is identified as the start and end times of that user event.

To instantiate a TcxSchedulerEventConflictsInfo object to obtain information for the required time range use the Create constructor overload which takes time bounds as parameters.

To obtain information on overlapping for a particular user event use either the TcxSchedulerEvent.CreateConflictsInfo method or the Create constructor with the Event parameter.

The TcxSchedulerEvent.CreateConflictsInfo method instantiates either an object of the TcxSchedulerEventConflictsInfo class or its descendant depending upon the cxSchedulerEventConflictsInfoClass constant’s value. Using the cxSchedulerEventConflictsInfoClass constant developers can provide their own implementation via the TcxSchedulerEventConflictsInfo’s subclass.

The TcxSchedulerEventConflictsInfo class allows to determine whether there is overlapping within the specified time range (see the HasConflicts property) and whether there are available time blocks for scheduling non- overlapped user events within the specified time range (see the HasFreeTime property).

The TcxSchedulerEventConflictsInfo class provides access to the collection which contains all the overlapped user events (if any) that fall within the specified time range (see the ConflictEvents property).


TcxSchedulerEventConflictsInfo Hierarchy
Hierarchy

TObject

     |

TcxSchedulerEventConflictsInfo


Properties for TcxSchedulerEventConflictsInfo
TcxSchedulerEventConflictsInfo Properties

TcxSchedulerEventConflictsInfo          Legend

In TcxSchedulerEventConflictsInfo

ConflictEvents

Event

ExceptEventsWithoutResources

HasConflicts

HasFreeTime

Storage

TimeRanges


Methods for TcxSchedulerEventConflictsInfo
TcxSchedulerEventConflictsInfo Methods

TcxSchedulerEventConflictsInfo          Legend

In TcxSchedulerEventConflictsInfo

 Calculate

 Create


TcxSchedulerEventConflictsInfo.ConflictEvents

TcxSchedulerEventConflictsInfo          See Also

Represents a collection which contains user events that were scheduled at the same time.

property ConflictEvents: TcxSchedulerFilteredEventList;

Description

If the TcxSchedulerEventConflictsInfo object was instantiated using the overloaded version of the Create constructor (with parameters representing time bounds), then the TcxSchedulerFilteredEventList collection contains all the overlapped user events, which fall within the specified time range.

If the TcxSchedulerEventConflictsInfo object was instantiated using the TcxSchedulerEvent.CreateConflictsInfo method or the Create constructor with the Event instance passed in as an argument, then the TcxSchedulerFilteredEventList collection contains user events, which overlap with the given Event.

Note: user events, which overlap an Event, are not considered to be overlapped to that Event if its availability status is free (see the TcxSchedulerEvent.State property).

Use the ConflictEvents property to access the collection of the overlapped user events.

ReadOnly Property


TcxSchedulerEventConflictsInfo.Event

TcxSchedulerEventConflictsInfo

Represents the user event, which the current TcxSchedulerEventConflictsInfo instance relates to.

property Event: TcxSchedulerEvent;

Description

Use the Event property to access the TcxSchedulerEvent object which the current TcxSchedulerEventConflictsInfo instance is associated with.

Note: the Event property returns nil if the TcxSchedulerEventConflictsInfo object was instantiated with the overloaded version of the Create method. In this case the TcxSchedulerEventConflictsInfo instance contains information on the overlapped user events scheduled within the specified time range and is not associated with a particular user event (which the Event property references to).

ReadOnly Property


TcxSchedulerEventConflictsInfo.ExceptEventsWithoutResources

TcxSchedulerEventConflictsInfo

Gets whether the user events which do not belong to any resources are treated as overlapped with other user events scheduled at the same time.

property ExceptEventsWithoutResources: Boolean;

Description

If the ExceptEventsWithoutResources property returns a value of False it means that user events, which were scheduled with no relation to any resources are overlapped with the user events which are being inspected for intersection with other user events.

Note: user events, which do not belong to any resources, will be shown in the scheduling area, if the TcxSchedulerOptionsView.ShowEventsWithoutResource property is set to True. Otherwise they will be hidden.

ReadOnly Property


TcxSchedulerEventConflictsInfo.HasConflicts

TcxSchedulerEventConflictsInfo

Gets whether there are overlapped user events.

property HasConflicts: Boolean;

Description

The overlapped user events are determined within the appropriate time range.

The time range is specified explicitly by the time bounds passed in as arguments to the overloaded version of the Create method (if the TcxSchedulerEventConflictsInfo object was instantiated by using this type of the constructor).

The time range is taken implicitly as the start and end time of the Event, if the TcxSchedulerEventConflictsInfo object was instantiated by calling the TcxSchedulerEvent.CreateConflictsInfo method or the overloaded Create constructor with the Event instance passed in to the constructor as an argument.

Note: user events, which overlap an Event, are not considered to be overlapped with that Event if its availability status is not free (see the TcxSchedulerEvent.State property).

The HasConflicts property returns a value of True if at least two user events were scheduled at the same time.

ReadOnly Property


TcxSchedulerEventConflictsInfo.HasFreeTime

TcxSchedulerEventConflictsInfo          See Also

Determines whether there are time blocks available for scheduling non-overlapped user events within the specified time range.

property HasFreeTime: Boolean;

Description

The HasFreeTime property returns True if at least there is one free time block which allows the non- overlapped user event to be scheduled within the specified time range.

ReadOnly Property


TcxSchedulerEventConflictsInfo.Storage

TcxSchedulerEventConflictsInfo

Represents the persistence manager component.

property Storage: TcxCustomSchedulerStorage;

Description

The persistence manager component is used to persist the scheduler’s data in a data store.

Use the Storage property to access the storage instance.

ReadOnly Property


TcxSchedulerEventConflictsInfo.TimeRanges

TcxSchedulerEventConflictsInfo          See Also

Represents a collection which contains the available free time blocks for scheduling non-overlapped user events within the specified time period.

property TimeRanges: TcxSchedulerTimeRanges;

Description

Use the TimeRanges property to access the TcxSchedulerTimeRanges collection.

ReadOnly Property


TcxSchedulerEventConflictsInfo.Calculate

TcxSchedulerEventConflictsInfo

Populates the ConflictEvents collection with the overlapped user events which fall within the specified time range and locates any free time blocks.

procedure Calculate(ACalculateFreeTime: Boolean = True); virtual;

Description

The time range is specified in one of two ways:

It’s either the start and end times of the user event which is used as the basis to create the TcxSchedulerEventConflictsInfo instance (see the TcxSchedulerEvent.CreateConflictsInfo method or the first overloaded Create constructor with the Event parameter).

Note: user events, which overlap an Event, are not considered to be overlapped with that Event if its availability status is free (see the TcxSchedulerEvent.State property).

Or the time range is specified explicitly by passing time bounds into the other overloaded versions of the Create constructor.

The Calculate method locates user events within the specified time range and loads only those which overlap. This method searches for time blocks which are not occupied by user events within the specified time range and loads them (if any) into the TimeRanges collection.

The ACalculateFreeTime parameter specifies whether search for free time blocks will be performed by the method. Set the ACalculateFreeTime parameter to False to cancel search.


TcxSchedulerEventConflictsInfo.Create

TcxSchedulerEventConflictsInfo

Creates an instance of the TcxSchedulerEventConflictsInfo object and populates it with information on the overlapping user events.

constructor Create(AEvent: TcxSchedulerEvent; AExceptEventsWithoutResources: Boolean); overload; virtual;

constructor Create(AEvent: TcxSchedulerEvent; AExceptEventsWithoutResources: Boolean; const AStart, AFinish: TDateTime); overload; virtual;

constructor Create(AStorage: TcxCustomSchedulerStorage; AExceptEventsWithoutResources: Boolean; const AStart, AFinish: TDateTime; AResourceID: Variant; AExcludedEvent: TcxSchedulerEvent = nil); overload; virtual;

Description

The first overloaded version of the Create constructor takes the AEvent user event as an argument, against which the overlapped user events will be checked. Thus the time range within which the overlapped user events will be located is bounded by the start and end time of the AEvent user event.

Note: user events, which overlap an Event, are not considered to be overlapped with that Event if its availability status is free (see the TcxSchedulerEvent.State property).

The second and third overloaded versions of the Create constructor take time bounds as arguments (the AStart and AFinish parameters) to specify the time range which to locate all the overlapped user events within this range.

The AEvent parameter specifies the user event against which the overlapped user events will be identified, if any;

The AExceptEventsWithoutResources parameter specifies whether the user events, which are not assigned to any resources, will be treated as overlapped and, as consequence, will be stored in the TcxSchedulerEventConflictsInfo.ConflictEvents collection. Set the AExceptEventsWithoutResources parameter to False to provide information on these user events. Note: user events, which do not belong to any resources, will be shown in the scheduling area, if the TcxSchedulerOptionsView.ShowEventsWithoutResource property is set to True. Otherwise they will be hidden;

The AStart and AFinish parameters specify the time range in which to search for any overlapped user events. By default, the specified time range is extended for 30 days (the end time of it). You can change the additional time period by specifying another value for the cxMaxCheckedDuration constant;

The AResourceID parameter specifies the unique identifier of the resource which the assigned overlapped user events will be fetched for;

The AExcludedEvent parameter specifies the user event whose scheduled time will be treated as free.


TcxSchedulerEventItemLink
TcxSchedulerEventItemLink Object

Hierarchy          Properties          Methods

The TcxSchedulerEventItemLink represents a task connector that visually links a predecessor task (the link owner) and a successor task in Gantt View.

Unit

cxSchedulerStorage

TcxSchedulerEventItemLink = class(TCollectionItem)

Description

The TcxSchedulerEventItemLink object is referenced by a task’s TaskLinks.ItemLinks property.


TcxSchedulerEventItemLink Hierarchy
Hierarchy

TCollectionItem

     |

TcxSchedulerEventItemLink


Properties for TcxSchedulerEventItemLink
TcxSchedulerEventItemLink Properties

TcxSchedulerEventItemLink          Legend

In TcxSchedulerEventItemLink

Event

Link

LinkRecurrenceIndex

Relation


Methods for TcxSchedulerEventItemLink
TcxSchedulerEventItemLink Methods

TcxSchedulerEventItemLink          Legend

In TcxSchedulerEventItemLink

 GetRelationAsText


TcxSchedulerEventItemLink.Event

TcxSchedulerEventItemLink          See Also

References the predecessor task.

property Event: TcxSchedulerEvent;

ReadOnly Property


TcxSchedulerEventItemLink.Link

TcxSchedulerEventItemLink          See Also

References the successor task.

property Link: TcxSchedulerEvent;

Description

Use the Link property to obtain a reference to the successor task or to link the successor task to the task that owns this link (see the Event property).


TcxSchedulerEventItemLink.LinkRecurrenceIndex

TcxSchedulerEventItemLink

Returns the current occurrence’s index.

property LinkRecurrenceIndex: Integer;

Description

The LinkRecurrenceIndex property returns a zero-based index, if the current task is an occurrence spawned from the parent user event. If the current task is an ordinary user event, this property returns – 1.

ReadOnly Property


TcxSchedulerEventItemLink.Relation

TcxSchedulerEventItemLink

Specifies the link type.

property Relation: TcxSchedulerEventRelation;

Description

Refer to the TcxSchedulerEventRelation enumeration that provides a description of available values.


TcxSchedulerEventItemLink.GetRelationAsText

TcxSchedulerEventItemLink

Returns the link type (see the Relation property) as the display text taken in parentheses.

function GetRelationAsText: string;

Description

The following table provides mappings between the Relation property values and the GetRelationAsText method's return values.

Relation	GetRelationAsText
trFinishToStart	(Finish-To-Start)
trStartToStart	(Start-To-Start)
trFinishToFinish	(Finish-To-Finish)
trStartToFinish	(Start-To-Finish)


TcxSchedulerEventLinks
TcxSchedulerEventLinks Object

Hierarchy          Properties          Methods

The TcxSchedulerEventLinks represents a collection of task connectors that visually link a predecessor task to successor tasks in Gantt View.

Unit

cxSchedulerStorage

TcxSchedulerEventLinks = class(TCollection)

Description

The TcxSchedulerEventLinks object is referenced by a task’s TaskLinks property.


TcxSchedulerEventLinks Hierarchy
Hierarchy

TCollection

     |

TcxSchedulerEventLinks


Properties for TcxSchedulerEventLinks
TcxSchedulerEventLinks Properties

TcxSchedulerEventLinks          Legend

In TcxSchedulerEventLinks

DisplayText

Event

Expanded

ItemLinks


Methods for TcxSchedulerEventLinks
TcxSchedulerEventLinks Methods

TcxSchedulerEventLinks          Legend

In TcxSchedulerEventLinks

 Add

 IsEventLinked


TcxSchedulerEventLinks.DisplayText

TcxSchedulerEventLinks

Returns a string containing ID property values of links in this collection.

property DisplayText: string;

Description

The values in the resulting string are separated with commas.

ReadOnly Property


TcxSchedulerEventLinks.Event

TcxSchedulerEventLinks

Returns the event that owns this link collection.

property Event: TcxSchedulerEvent;

ReadOnly Property


TcxSchedulerEventLinks.Expanded

TcxSchedulerEventLinks

Specifies whether the predecessor task is expanded.

property Expanded: Boolean;

Description

The Expanded property is in effect if the scheduler’s ViewGantt.ShowExpandButtons property is True.

Set the Expanded property to True, to expand a predecessor task. Once it has been expanded, all the linked successors are displayed in the View.


TcxSchedulerEventLinks.ItemLinks

TcxSchedulerEventLinks

Provides indexed access to task links in the collection.

property ItemLinks[Index:Integer]: TcxSchedulerEventItemLink;

Description

Use the ItemLinks property to specify or obtain a task link, at the position specified by the zero-based Index parameter.


TcxSchedulerEventLinks.Add

TcxSchedulerEventLinks

Adds a new connector.

function Add(AEvent: TcxSchedulerEvent; ARelation: TcxSchedulerEventRelation = trStartToFinish): TcxSchedulerEventItemLink;

Description

AEvent references the task (the successor) to be linked to the task that owns this collection (the predecessor).

ARelation specifies the link type.

The Add method returns a reference to the newly created link.


TcxSchedulerEventLinks.IsEventLinked

TcxSchedulerEventLinks

Checks whether there's a connector between the current task and a specified task.

function IsEventLinked(AEvent: TcxSchedulerEvent): Boolean;

Description

The IsEventLinked method returns True if there's a connector between the task that owns this link collection and a task specified via AEvent. The latter should be a successor task.


TcxSchedulerEventList
TcxSchedulerEventList Object

Hierarchy          Properties          Methods

The TcxSchedulerEventList implements a collection containing TcxSchedulerControlEvent objects.

Unit

cxSchedulerStorage

TcxSchedulerEventList = class(TObject)

Description

The TcxSchedulerEventList collection is used for storing in-memory TcxSchedulerControlEvent objects under the current session of the scheduler control.


TcxSchedulerEventList Hierarchy
Hierarchy

TObject

     |

TcxSchedulerEventList


Properties for TcxSchedulerEventList
TcxSchedulerEventList Properties

TcxSchedulerEventList          Legend

In TcxSchedulerEventList

Count

First

Items

Last


Methods for TcxSchedulerEventList
TcxSchedulerEventList Methods

TcxSchedulerEventList          Legend

In TcxSchedulerEventList

 Add

 Clear

 Delete

 DestroyItems

 IndexOf

 Remove

 Sort


TcxSchedulerEventList.Count

TcxSchedulerEventList          See Also

Gets the number of TcxSchedulerEvent objects in the TcxSchedulerEventList collection.

property Count: Integer;

Description

Use the Count property to get the number of TcxSchedulerEvent objects.

ReadOnly Property


TcxSchedulerEventList.First

TcxSchedulerEventList          See Also

Provides access to the first TcxSchedulerEvent object in the TcxSchedulerEventList collection.

property First: TcxSchedulerEvent;

Description

Use the First property to get the TcxSchedulerEvent object located at the start of the TcxSchedulerEventList collection.

ReadOnly Property


TcxSchedulerEventList.Items

TcxSchedulerEventList          See Also

Provides indexed access to the TcxSchedulerEvent objects in the TcxSchedulerEventList collection.

property Items[Index:Integer]: TcxSchedulerEvent;

Description

Use the Items property to get the TcxSchedulerEvent object at the position specified by the zero-based Index parameter.

ReadOnly Property


TcxSchedulerEventList.Last

TcxSchedulerEventList          See Also

Provides access to the last TcxSchedulerEvent object in the TcxSchedulerEventList collection.

property Last: TcxSchedulerEvent;

Description

Use the Last property to get the TcxSchedulerEvent object located at the end of the TcxSchedulerEventList collection.

ReadOnly Property


TcxSchedulerEventList.Add

TcxSchedulerEventList          See Also

Adds the AEvent instance to the TcxSchedulerEventList collection.

function Add(AEvent: TcxSchedulerEvent): Integer; virtual;

Description

The Add method returns the zero-based index of the TcxSchedulerEvent instance’s position in the TcxSchedulerEventList collection.


TcxSchedulerEventList.Clear

TcxSchedulerEventList          See Also

Deletes all the TcxSchedulerEvent objects from the TcxSchedulerEventList collection.

procedure Clear;

Description

Use the Clear method to delete all the TcxSchedulerEvent objects from the TcxSchedulerEventList collection.


TcxSchedulerEventList.Delete

TcxSchedulerEventList          See Also

Removes the TcxSchedulerEvent object specified by the AIndex parameter from the TcxSchedulerEventList collection.

procedure Delete(AIndex: Integer);

Description

The zero-based AIndex parameter specifies the position of the TcxSchedulerEvent object in the TcxSchedulerEventList collection that it will be removed from.


TcxSchedulerEventList.DestroyItems

TcxSchedulerEventList          See Also

Removes all the TcxSchedulerEvent objects from the TcxSchedulerEventList collection and destroys them.

procedure DestroyItems;

Description

Use the DestroyItems method to remove all the TcxSchedulerEvent objects from the TcxSchedulerEventList collection and deallocate them in memory.


TcxSchedulerEventList.IndexOf

TcxSchedulerEventList          See Also

Returns the zero-based index of the first occurrence of the AEvent instance in the TcxSchedulerEventList collection.

function IndexOf(AEvent: TcxSchedulerEvent): Integer;

Description

This method returns -1 if there is no AEvent instance in the TcxSchedulerEventList collection.


TcxSchedulerEventList.Remove

TcxSchedulerEventList          See Also

Removes the TcxSchedulerEvent object specified by the AEvent parameter from the TcxSchedulerEventList collection.

function Remove(AEvent: TcxSchedulerEvent): Integer;

Description

Use the Remove method to remove the AEvent object from the TcxSchedulerEventList collection. This method returns the index of the AEvent object in the collection before it is removed.


TcxSchedulerEventList.Sort

TcxSchedulerEventList

Sorts the TcxSchedulerEvent objects in the TcxSchedulerEventList collection in accordance with the ACompare comparator.

procedure Sort(ACompare: TcxCompareEventsProc);

Description

Use the Sort method to sort the TcxSchedulerEvent objects in the TcxSchedulerEventList collection. Sorting in the collection is executed in compliance with the ACompare ordering algorithm.


TcxSchedulerEventRecurrenceInfo
TcxSchedulerEventRecurrenceInfo Object

Hierarchy          Properties          Methods

The TcxSchedulerEventRecurrenceInfo encapsulates information about the user event’s reoccurrences.

Unit

cxSchedulerStorage

TcxSchedulerEventRecurrenceInfo = class(TPersistent)

Description

The TcxSchedulerEventRecurrenceInfo provides data for calculating the user event’s recurring (for details on recurring please refer to the Applying The Recurrence Pattern topic). The TcxSchedulerEventRecurrenceInfo object is referenced by the TcxSchedulerEvent.RecurrenceInfo property.


TcxSchedulerEventRecurrenceInfo Hierarchy
Hierarchy

TPersistent

     |

TcxSchedulerEventRecurrenceInfo


Properties for TcxSchedulerEventRecurrenceInfo
TcxSchedulerEventRecurrenceInfo Properties

TcxSchedulerEventRecurrenceInfo          Legend

In TcxSchedulerEventRecurrenceInfo

Count

DayNumber

DayType

DismissDate

Event

Finish

OccurDays

Periodicity

Recurrence

Start

YearPeriodicity


Methods for TcxSchedulerEventRecurrenceInfo
TcxSchedulerEventRecurrenceInfo Methods

TcxSchedulerEventRecurrenceInfo          Legend

In TcxSchedulerEventRecurrenceInfo

 GetEndDate

 GetValidStatus

 Validate


TcxSchedulerEventRecurrenceInfo.Count

TcxSchedulerEventRecurrenceInfo          See Also

Specifies the number of occurrences of the recurring user event.

property Count: Integer;

Description

This property has two meanings: first, it defines the number of occurrences if its value is greater than 0 (End after) and secondly, the other values, if it’s set to, define a state for the state-oriented behavior that is responsible for calculating the range of the Recurrence pattern, namely:

•	when the value of this property is -1 it means the user event will repeat forever (No end date);

•	when the value of this property is 0 the reoccurrences of the user event are bound by the Finish property (End by).


TcxSchedulerEventRecurrenceInfo.DayNumber

TcxSchedulerEventRecurrenceInfo          See Also

Specifies the ordinal number of a day within a defined month (see the Periodicity property) and is used to calculate the recurrence date for the current user event with the Recurrence pattern.

property DayNumber: Integer;

Description

This property specifies which day number in a month, working week, Saturdays/Sundays in a month, or weekend that the current user event will reoccur on. The current meaning of the DayNumber property depends on the state provided by the DayType property.

Note: If the value of the DayType property is cxdtEveryDay and the value of the DayNumber property assigned is more than the number of days in the specified month (see the Periodicity property and Applying The Recurrence Pattern topic) the last day in the specified month will be assigned.


TcxSchedulerEventRecurrenceInfo.DayType

TcxSchedulerEventRecurrenceInfo          See Also

Specifies the day type used to calculate the current user event’s reoccurrence in the Recurrence pattern.

property DayType: TcxDayType;

Description

A complete set of the day types is specified by the TcxDayType enumeration.


TcxSchedulerEventRecurrenceInfo.DismissDate

TcxSchedulerEventRecurrenceInfo          See Also

Specifies the date when the recurring user event’s reminder was switched off for the last time.

property DismissDate: TDateTime;

Description

Use the DismissDate property to specify the date when a reminder was switched off for the last time in a chain of occurrences.


TcxSchedulerEventRecurrenceInfo.Event

TcxSchedulerEventRecurrenceInfo

Represents the TcxSchedulerEvent object the recurrence data is applied to.

property Event: TcxSchedulerEvent;

Description

Use the Event property to access the TcxSchedulerEvent object the recurrence data is applied to.

ReadOnly Property


TcxSchedulerEventRecurrenceInfo.Finish

TcxSchedulerEventRecurrenceInfo          See Also

Specifies the end date of the recurring user event’s reoccurrences.

property Finish: TDateTime;

Description

While the Recurrence property specifies the frequency of the user event’s reoccurrences, this property specifies when the last occurrence will be repeated. This property's value is in effect when the value of the Count property is 0.


TcxSchedulerEventRecurrenceInfo.OccurDays

TcxSchedulerEventRecurrenceInfo

Specifies the days in a week that the current user event reoccurs on.

type

  TDay = (dSunday, dMonday, dTuesday, dWednesday, dThursday,

dFriday, dSaturday);

  TDays = set of TDay;

property OccurDays: TDays;

Description

For details on the user event reoccurring please refer to the Applying The Recurrence Pattern topic.


TcxSchedulerEventRecurrenceInfo.Periodicity

TcxSchedulerEventRecurrenceInfo          See Also

Specifies the frequency with which the current user event reoccurs with respect to the Recurrence property.

property Periodicity: Integer;

Description

The Periodicity property is used, if the Recurrence property is set to one of the following flags: cxreDaily, cxreWeekly or cxreMonthly.

For details on the user event reoccurring please refer to the Applying The Recurrence Pattern topic.


TcxSchedulerEventRecurrenceInfo.Recurrence

TcxSchedulerEventRecurrenceInfo          See Also

Specifies the time base for the frequency of the current user event's reoccurrences.

property Recurrence: TcxRecurrence;

Description

The Recurrence property specifies the basis for the user event’s Recurrence pattern used to calculate the user event’s reoccurrence. There are four types of recurrence: cxreDaily, cxreWeekly, cxreMonthly and cxreYearly. For detailed description on them, see the TcxRecurrence enumeration. The Periodicity property specifies the frequency applied to the time base, except for the latter value. If the Recurrence property is set to cxreYearly, then the YearPeriodicity should be used.

Note: the basis cannot exceed the period of time between the start and end times of a chain of reoccurrences.


TcxSchedulerEventRecurrenceInfo.Start

TcxSchedulerEventRecurrenceInfo

Specifies the start date and time for the user event’s reoccurrences.

property Start: TDateTime;

Description

Can be used with the Finish property to define the period of time in which the user event reoccurs if the value of the Count property is 0. In this case the value of the Recurrence property cannot exceed the period of time defined by the Start and Finish properties.


TcxSchedulerEventRecurrenceInfo.YearPeriodicity

TcxSchedulerEventRecurrenceInfo

Specifies the frequency with which the user event reoccurrences occur on a yearly basis.

property YearPeriodicity: Integer;

Description

If the value of the Recurrence property is cxreYearly this property's value is in effect. This property is used in the context of the Recurrence pattern.


TcxSchedulerEventRecurrenceInfo.GetEndDate

TcxSchedulerEventRecurrenceInfo          See Also

Returns the end date of the chain of reoccurrences.

function GetEndDate: TDateTime;

Description

The value returned by the method depends upon the Count property’s value:

•	the value is greater than 0 (End after) – the GetEndDate method returns the end date of the last occurrence the Count property specifies (see the TcxSchedulerOccurrenceCalculator.OccurrenceFinish property);

•	the value is 0 (End by) – the GetEndDate method returns the date bound specified by the Finish property when the last occurrence will reoccur;

•	the value is – 1 (No end date) – the GetEndDate method returns the value of the cxDateUtils.NullDate constant.


TcxSchedulerEventRecurrenceInfo.GetValidStatus

TcxSchedulerEventRecurrenceInfo

Returns the state of the recurrence’s details.

function GetValidStatus: TcxRecurrenceValidStatus;

Description

A complete set of the available states for recurrence data is specified by the TcxRecurrenceValidStatus enumeration.


TcxSchedulerEventRecurrenceInfo.Validate

TcxSchedulerEventRecurrenceInfo

Checks whether the end-user entered the valid recurrence data in the modal dialog.

procedure Validate;

Description

Use the Validate method to verify that the end-user has entered the valid data in the modal dialog. This method is invoked if the OK button, located in the modal dialog, was pressed.


TcxSchedulerFilteredEventList
TcxSchedulerFilteredEventList Object

Hierarchy          Properties          Methods

The TcxSchedulerFilteredEventList implements a collection containing TcxSchedulerControlEvent objects.

Unit

cxSchedulerStorage

TcxSchedulerFilteredEventList = class(TcxSchedulerEventList)

Description

The TcxSchedulerFilteredEventList collection is used for storing in-memory TcxSchedulerControlEvent objects that meet the criteria specified by the Start and Finish properties.


TcxSchedulerFilteredEventList Hierarchy
Hierarchy

TObject

     |

TcxSchedulerEventList

     |

TcxSchedulerFilteredEventList


Properties for TcxSchedulerFilteredEventList
TcxSchedulerFilteredEventList Properties

TcxSchedulerFilteredEventList          Legend

In TcxSchedulerFilteredEventList

Finish

Items

Start

Storage

Derived from TcxSchedulerEventList

Count

First

Items

Last


Methods for TcxSchedulerFilteredEventList
TcxSchedulerFilteredEventList Methods

TcxSchedulerFilteredEventList          Legend

Derived from TcxSchedulerEventList

 Add

 Clear

 Delete

 DestroyItems

 IndexOf

 Remove

 Sort


TcxSchedulerFilteredEventList.Finish

TcxSchedulerFilteredEventList          See Also

Gets the end time in the time range used to select TcxSchedulerControlEvent objects that are to be loaded into the TcxSchedulerFilteredEventList collection.

property Finish: TDateTime;

Description

Combined with the Start property the Finish property defines the time range for the filter criteria used to select TcxSchedulerControlEvent objects for loading into the TcxSchedulerFilteredEventList collection.

ReadOnly Property


TcxSchedulerFilteredEventList.Items

TcxSchedulerFilteredEventList          See Also

Provides indexed access to the user events in the TcxSchedulerFilteredEventList collection.

property Items[AIndex:Integer]: TcxSchedulerControlEvent;

Description

Use the Items property to get the TcxSchedulerControlEvent instance at the position specified by the zero-based Index parameter.

ReadOnly Property


TcxSchedulerFilteredEventList.Start

TcxSchedulerFilteredEventList          See Also

Gets the start time in the time range used to select TcxSchedulerControlEvent objects that are to be loaded into the TcxSchedulerFilteredEventList collection.

property Start: TDateTime;

Description

Combined with the Finish property the Start property defines the time range for the filter criteria used to select TcxSchedulerControlEvent objects for loading into the TcxSchedulerFilteredEventList collection.

ReadOnly Property


TcxSchedulerFilteredEventList.Storage

TcxSchedulerFilteredEventList

Represents the persistence manager component.

property Storage: TcxCustomSchedulerStorage;

Description

The persistence manager component is used to persist the scheduler’s data in a data store.

Use the Storage property to access the storage instance.

ReadOnly Property


TcxSchedulerOccurrenceCalculator
TcxSchedulerOccurrenceCalculator Object

Hierarchy          Properties          Methods

The TcxSchedulerOccurrenceCalculator class provides functionality for examining occurrences.

Unit

cxSchedulerStorage

TcxSchedulerOccurrenceCalculator = class(TObject)

Description

To specify the time boundaries for the range of reoccurrences to be examined and which recurring user event will be examined use the overloaded Create method. For the purposes of examining and calculating the parameters of the occurrences in the time chain the TcxSchedulerOccurrenceCalculator class provides the following methods:

•	CalcOccurrence – calculates the start and end time of the occurrence identified by the Aindex parameter;

•	GetNextOccurrence – calculates the start and end time of the first occurrence found in the chain of occurrences;

•	GetOccurrenceCount – counts the number of occurrences up to the date specified by the AEndDate parameter.


TcxSchedulerOccurrenceCalculator Hierarchy
Hierarchy

TObject

     |

TcxSchedulerOccurrenceCalculator


Properties for TcxSchedulerOccurrenceCalculator
TcxSchedulerOccurrenceCalculator Properties

TcxSchedulerOccurrenceCalculator          Legend

In TcxSchedulerOccurrenceCalculator

Event

Index

OccurrenceFinish

OccurrenceStart

StartOfWeek

VisibleFinish

VisibleStart

WorkDays


Methods for TcxSchedulerOccurrenceCalculator
TcxSchedulerOccurrenceCalculator Methods

TcxSchedulerOccurrenceCalculator          Legend

In TcxSchedulerOccurrenceCalculator

 CalcOccurrence

 Create

 GetNextOccurrence

 GetOccurrenceCount


TcxSchedulerOccurrenceCalculator.Event

TcxSchedulerOccurrenceCalculator          See Also

Represents the recurring user event.

property Event: TcxSchedulerEvent;

Description

Use the Event property to access the TcxSchedulerEvent object, which is the parent for the chain of occurrences.

ReadOnly Property


TcxSchedulerOccurrenceCalculator.Index

TcxSchedulerOccurrenceCalculator          See Also

Gets the current occurrence’s zero-based index.

property Index: Integer;

Description

Each occurrence in a chain of occurrences is identified by its index. Every type of occurrence has an index, irrespective of whether the occurrence is regular, custom or an exception.

Note: the parent user event’s index is –1 (see the Event property).

ReadOnly Property


TcxSchedulerOccurrenceCalculator.OccurrenceFinish

TcxSchedulerOccurrenceCalculator          See Also

Gets the occurrence’s end time.

property OccurrenceFinish: TDateTime;

Description

Use the OccurrenceFinish property to determine the end time of the occurrence currently being examined.

ReadOnly Property


TcxSchedulerOccurrenceCalculator.OccurrenceStart

TcxSchedulerOccurrenceCalculator          See Also

Gets the occurrence’s start time.

property OccurrenceStart: TDateTime;

Description

Use the OccurrenceStart property to determine the start time of the occurrence currently being examined.

ReadOnly Property


TcxSchedulerOccurrenceCalculator.StartOfWeek

TcxSchedulerOccurrenceCalculator          See Also

Gets the zero-based index of the first day in a week.

property StartOfWeek: Integer;

Description

Use the StartOfWeek property to get the index of the first day in a week. The StartOfWeek property’s value is used by the GetNextOccurrence method to find the first occurrence that matches the Recurrence pattern when the weekly basis is applied.

ReadOnly Property


TcxSchedulerOccurrenceCalculator.VisibleFinish

TcxSchedulerOccurrenceCalculator          See Also

Gets the end time, which specifies the last occurrence that will be examined in the chain of occurrences.

property VisibleFinish: TDateTime;

Description

The VisibleStart and VisibleFinish properties specify the time boundaries within the chain of occurrences to be examined. Only the occurrences within the specified time boundaries will be examined, any occurrences that are in the chain but outside the specified time range will be ignored The VisibleStart and VisibleFinish properties are set by the Create constructor when the TcxSchedulerOccurrenceCalculator object is instantiated. The time boundaries are used by the GetNextOccurrence method to identify the starting and finishing points of the range in which occurrences can be retrieved. If the VisibleStart property is set to 0 and the VisibleFinish property is set to MaxInt then all the occurrences in the chain will be evaluated.

ReadOnly Property


TcxSchedulerOccurrenceCalculator.VisibleStart

TcxSchedulerOccurrenceCalculator          See Also

Gets the start time, which specifies the first occurrence that will be examined in the chain of occurrences.

property VisibleStart: TDateTime;

Description

The VisibleStart and VisibleFinish properties specify the time boundaries within the chain of occurrences to be examined. Only the occurrences within the specified time boundaries will be examined, any occurences that are in the chain but outside the specified time range will be ignored. The VisibleStart and VisibleFinish properties are set by the Create constructor when the TcxSchedulerOccurrenceCalculator object is instantiated. The time boundaries are used by the GetNextOccurrence method to identify the starting and finishing points of the range in which occurences can be retrieved. If the VisibleStart property is set to 0 and the VisibleFinish property is set to MaxInt then all the occurrences in the chain will be evaluated.

ReadOnly Property


TcxSchedulerOccurrenceCalculator.WorkDays

TcxSchedulerOccurrenceCalculator          See Also

Specifies the days that contain working hours.

type

  TDay = (dSunday, dMonday, dTuesday, dWednesday, dThursday, dFriday, dSaturday);

  TDays = set of TDay;

property WorkDays: TDays;

Description

Use the WorkDays property to specify the days that are used by the GetNextOccurrence method to find the first occurrence that matches the Recurrence pattern.


TcxSchedulerOccurrenceCalculator.CalcOccurrence

TcxSchedulerOccurrenceCalculator          See Also

Calculates the start and end time of the occurrence identified by the AIndex parameter.

procedure CalcOccurrence(AIndex: Integer);

Description

The CalcOccurrence method sets the OccurrenceStart and OccurrenceFinish properties to the start and end time of the AIndex occurrence. The given occurrence can be of any type – a regular occurrence, custom occurrence or an exception.

The AIndex parameter provides an index that identifies the occurrence in the chain of occurrences spawned from the recurring user event (see the Event property).

Note: if the AIndex parameter is set to a value that exceeds the last occurrence’s index then the last occurrence will be examined and the Index property will be set to the last occurrence’s index.


TcxSchedulerOccurrenceCalculator.Create

TcxSchedulerOccurrenceCalculator          See Also

Instantiates the TcxSchedulerOccurrenceCalculator object.

constructor Create(AEvent: TcxSchedulerEvent; const AStart, AFinish: TDateTime; ACalcForReminders: Boolean = False);

Description

AEvent specifies the parent user event (see the Event property);

AStart and AFinish specify the beginning and ending times of the time range to examine in the chain of occurrences (see the VisibleStart and VisibleFinish properties).

ACalcForReminders specifies which occurrences are to be examined.  If ACalcForReminders is True, only occurrences with reminders are included in the examination.


TcxSchedulerOccurrenceCalculator.GetNextOccurrence

TcxSchedulerOccurrenceCalculator          See Also

Calculates the start and end time of the first occurrence found in the chain of occurrences.

function GetNextOccurrence: Boolean; virtual;

Description

The occurrences, spawned from the given recurring user event (see the Event property), make up a virtual chain of occurrences which are organized in chronological order. This chain of occurrences is composed of occurrences of any type – regular occurrences, custom occurrences or exceptions. This method sets the Index property to the occurrence’s index and the OccurrenceStart and OccurrenceFinish properties to the start and end time of the first occurrence found. The GetNextOccurrence method can for example be used in a loop to traverse through the occurrences in the chain and get the start and end time of each occurrence. The GetNextOccurrence method returns a value of True if the next occurrence was found. False is returned if there isn't any subsequent occurrence.

Note: if no subsequent occurrence was found the OccurrenceStart, OccurrenceFinish and Index properties retain the information on the last occurrence found.


TcxSchedulerOccurrenceCalculator.GetOccurrenceCount

TcxSchedulerOccurrenceCalculator          See Also

Returns a count of the total number of occurrences up to the AEndDate date.

function GetOccurrenceCount(AEndDate: TDateTime): Integer;

Description

The GetOccurrenceCount method counts the number of occurrences from the first occurrence up to the specified end date that have been spawned from the given recurring user event (see the Event property). The occurrences that are represented in the chain of occurrences can be of any type – regular occurrences, custom occurrences or exceptions.

The AEndDate parameter specifies the date up to which the occurrences will be counted.

Note: this method gets a count of the occurrences depending upon the Recurrence pattern specified for the given recurring user event, and the AEndDate date.


TcxSchedulerReminder
TcxSchedulerReminder Object

Hierarchy          Properties          Methods

The TcxSchedulerReminder class implements the user event’s reminder.

Unit

cxSchedulerStorage

TcxSchedulerReminder = class(TObject)

Description

A reminder is used to provide a notification of a future user event (see the TcxSchedulerEvent.Reminder property).

The TcxSchedulerReminder class implements operations, which can be performed on a reminder:

•	The Dismiss method – switches the applied reminder off for the associated user event;

•	The Snooze method – defers triggering of the reminder for the specified interval.

The TcxSchedulerReminder class declares properties for accessing the TcxSchedulerReminder instance’s collaborators:

•	The Event property – specifies the associated user event;

•	The EventID property – specifies the associated reminder’s unique identifier;

•	The Owner property – specifies the TcxSchedulerReminders collection in which the timed out reminder is stored.

A reference to the TcxSchedulerReminder object can be obtained via the TcxSchedulerReminders.Items property.


TcxSchedulerReminder Hierarchy
Hierarchy

TObject

     |

TcxSchedulerReminder


Properties for TcxSchedulerReminder
TcxSchedulerReminder Properties

TcxSchedulerReminder          Legend

In TcxSchedulerReminder

Event

EventID

Owner


Methods for TcxSchedulerReminder
TcxSchedulerReminder Methods

TcxSchedulerReminder          Legend

In TcxSchedulerReminder

 Dismiss

 Snooze


TcxSchedulerReminder.Event

TcxSchedulerReminder

Represents the user event, which the reminder is applied to.

property Event: TcxSchedulerControlEvent;

Description

Use the Event property to access the user event instance, which the reminder is associated with.

ReadOnly Property


TcxSchedulerReminder.EventID

TcxSchedulerReminder          See Also

Identifies the user event, which the reminder is applied to.

property EventID: TcxSchedulerReminderEventID;

Description

The EventID is a compound identifier. It contains the TcxSchedulerControlEvent‘s unique identifier (see the TcxSchedulerControlEvent.ID property) and the time of the current reminder (see the TcxSchedulerEvent.ReminderDate property).

And if the current user event is an occurrence of a recurring user event, it also contains the unique identifier of the user event‘s parent (see the TcxSchedulerControlEvent.ParentID property) and the user event‘s current number in the sequence of occurrences (see the TcxSchedulerControlEvent.RecurrenceIndex property).

Use the EventID property to access the TcxSchedulerControlEventID instance, which identifies the user event the reminder is scheduled for.

ReadOnly Property


TcxSchedulerReminder.Owner

TcxSchedulerReminder

Represents the TcxSchedulerReminders collection, which stores any timed out reminders.

property Owner: TcxSchedulerReminders;

Description

Use the Owner property to access the TcxSchedulerReminders instance.

ReadOnly Property


TcxSchedulerReminder.Dismiss

TcxSchedulerReminder          See Also

Switches the reminder off for the associated user event.

procedure Dismiss;

Description

Use the Dismiss method to turn off the reminder for the associated user event.


TcxSchedulerReminder.Snooze

TcxSchedulerReminder          See Also

Notifies the scheduler to defer triggering a reminder at the interval specified by the ASnoozeTime parameter.

procedure Snooze(ASnoozeTime: TDateTime);

Description

Use the Snooze method to defer triggering a reminder at the ASnoozeTime interval (regarding to the current time).

If ASnoozeTime is greater than 0, then the reminder alerts at the calculated lead-time. Otherwise, the reminder alerts at a user event’s start time (see the TcxSchedulerEvent.Start property).


TcxSchedulerReminderEventID
TcxSchedulerReminderEventID Object

Hierarchy          Methods

The TcxSchedulerReminderEventID class implements the unique identifier of the user event that contains the scheduled reminder.

Unit

cxSchedulerStorage

TcxSchedulerReminderEventID = class(TcxSchedulerControlEventID)

Description

The TcxSchedulerReminderEventID class contains information for finding the required in-memory user event entity (see the TcxSchedulerControlEvent class) with a reminder. The fields inherited correspond to the TcxSchedulerEvent.ID, TcxSchedulerEvent.ParentID and TcxSchedulerEvent.RecurrenceIndex properties. Additionally it introduces a field, which corresponds to the TcxSchedulerEvent.ReminderDate property.

The TcxSchedulerReminderEventID instance is referenced by the TcxSchedulerReminder.EventID property.


TcxSchedulerReminderEventID Hierarchy
Hierarchy

TObject

     |

TcxSchedulerControlEventID

     |

TcxSchedulerReminderEventID


Methods for TcxSchedulerReminderEventID
TcxSchedulerReminderEventID Methods

TcxSchedulerReminderEventID          Legend

In TcxSchedulerReminderEventID

 Create

 SameEvent

Derived from TcxSchedulerControlEventID

 Create

 Equals

 SameEvent


TcxSchedulerReminderEventID.Create

TcxSchedulerReminderEventID

Creates a unique identifier for the AEvent user event with the scheduled reminder.

constructor Create(AEvent: TcxSchedulerEvent);

Description

Use the Create constructor to instantiate an TcxSchedulerReminderEventID object, which contains information for identifying the AEvent user event with the active reminder.


TcxSchedulerReminderEventID.SameEvent

TcxSchedulerReminderEventID

Checks whether the current id object identifies the user event, which the AEvent refers to.

function SameEvent(AEvent: TcxSchedulerEvent): Boolean;

Description

The SameEvent method returns a value of True if the current id instance identifies the same user event as is represented by the AEvent parameter.


TcxSchedulerReminders
TcxSchedulerReminders Object

Hierarchy          Properties          Methods          Events

The TcxSchedulerReminders class enables the Reminders window and timed out reminders to be managed and implements a collection of timed out reminders.

Unit

cxSchedulerStorage

TcxSchedulerReminders = class(TcxInterfacedPersistent)

Description

Any reminder that triggers is automatically added to the TcxSchedulerReminders collection.

The TcxSchedulerReminders class manages the Reminders window using the following interface:

•	The ShowReminderWindow method – opens the Reminders window.

•	The IsReminderWindowShown method – checks whether the Reminders window is open.

•	The HideReminderWindow method – closes the Reminders window.

•	The UseReminderWindow property– specifies whether the Reminders window alerts when a reminder triggers.

•	The ReminderWindow property – references the Reminders window instance when it’s initialized.

•	The ReminderWindowLookAndFeel property – specifies the Reminders window’s look and feel settings.

•	The OnGetReminderWindowCaption event – allows the Reminders window’s title to be customized.

•	The OnHideReminderWindow event – allows the behavior that occurs when the Reminders window is about to be closed to be customized.

•	The OnOpenEvent event – adds the Open Item button (if implemented) and for example allows the user event selected by an end-user in the Reminders window to be edited. This can be done by invoking the TcxCustomScheduler.EditEventUsingDialog method within the OnOpenEvent event handler when an end-user clicks the Open Item button.

•	The OnShowReminderWindow event – allows the behavior that occurs when the Reminders window is being opened to be customized.

Developers can build their own Reminders window by deriving from the TcxSchedulerCustomReminderForm class.

The TcxSchedulerReminders class also enables the default settings of the Reminder check and combo boxes in the Event modal dialog to be managed:

•	The DefaultMinutesBeforeStart property – specifies the reminder time as the default value of the Reminder combo box, which is located in the Event modal dialog. The Reminder combo box’s value is in effect if the Reminder check box is enabled;

•	The DefaultReminder property – specifies whether the Reminder check box (located in the Event modal dialog) is selected by default.

The TcxSchedulerReminders class implements common reminder operations:

•	The Active property – specifies whether a reminder triggers when its time is up.

•	The DismissAll method – cancels all the reminders which are currently stored in the collection of the associated user events and removes these reminders from the collection.

•	The SnoozeAll method – notifies the scheduler to defer triggering of all the reminders which are currently stored in the collection for the specified interval.

•	The OnAlertReminder event – allows the behavior that occurs when a reminder is about to trigger to be customized.

•	The OnDismissReminder event – allows the behavior that occurs when a reminder is about to be dismissed to be customized.

•	The OnSnoozeReminder event – allows the behavior that occurs when a reminder is about to be snoozed to be customized.

And the following part of the TcxSchedulerReminders’s interface allows basic operations to be performed on the reminders collection:

•	The Count property – gets a count of the reminders, which are currently stored in the collection.

•	The Items property – provides indexed access to the reminders, which are currently stored in the collection.

•	The HasReminders method – checks if there are reminders in the collection.

•	The Refresh method – updates the TcxSchedulerReminders collection.

•	The IsLocked method – checks whether the TcxSchedulerReminders collection can be updated.

The TcxSchedulerReminders object is referenced by the TcxCustomSchedulerStorage.Reminders property.


TcxSchedulerReminders Hierarchy
Hierarchy

TInterfacedPersistent

     |

TcxInterfacedPersistent

     |

TcxSchedulerReminders


Properties for TcxSchedulerReminders
TcxSchedulerReminders Properties

TcxSchedulerReminders          Legend

In TcxSchedulerReminders

Active

Count

DefaultMinutesBeforeStart

DefaultReminder

Items

ReminderByResource

ReminderWindow

ReminderWindowLookAndFeel

ShowResourcesInReminderWindow

Storage

UseReminderWindow


Methods for TcxSchedulerReminders
TcxSchedulerReminders Methods

TcxSchedulerReminders          Legend

In TcxSchedulerReminders

 DismissAll

 GetEventDueTimeText

 HasReminders

 HideReminderWindow

 IsLocked

 IsReminderWindowShown

 Refresh

 ShowReminderWindow

 SnoozeAll


Events for TcxSchedulerReminders
TcxSchedulerReminders Events

TcxSchedulerReminders          Legend

In TcxSchedulerReminders

 OnAlertReminder

 OnDismissReminder

 OnGetEventDueTimeText

 OnGetReminderWindowCaption

 OnHideReminderWindow

 OnOpenEvent

 OnShowReminderWindow

 OnSnoozeReminder


TcxSchedulerReminders.Active

TcxSchedulerReminders          See Also

Activates or deactivates reminders.

property Active: Boolean;

Description

If a reminder was set for a user event and the Active property’s value is True, then the reminder will trigger and the Reminders window will alert (if the UseReminderWindow property’s value is True). Otherwise no reminders will notify.

Note: if the Active property is False then the Reminder check and combo boxes won’t be shown in the Event modal dialog and a bell icon won’t be displayed in the previously scheduled user events with reminders switched on.

If you use an aggregate storage, in order to eliminate reminder alert duplicates, set the Reminders.Active property of bound storages to False, and the aggregate storage’s Reminders.Active property to True.

The default value of the Active property is True.


TcxSchedulerReminders.Count

TcxSchedulerReminders          See Also

Gets the number of TcxSchedulerReminder objects in the TcxSchedulerReminders collection.

property Count: Integer;

Description

Use the Count property to get the number of TcxSchedulerReminder instances.

ReadOnly Property


TcxSchedulerReminders.DefaultMinutesBeforeStart

TcxSchedulerReminders          See Also

Specifies the default value of the reminder time in minutes of the TcxSchedulerEvent.ReminderMinutesBeforeStart property.

property DefaultMinutesBeforeStart: Integer;

Description

The time specified by this property is set as the default value of the TcxSchedulerEvent.ReminderMinutesBeforeStart property and, as consequence, the Reminder combo box, which is located in the Event modal dialog.

Note: if the Active property is False then the Reminder check and combo boxes won’t be shown in the Event modal dialog.

Use the DefaultMinutesBeforeStart property to specify the reminder’s default time-out.

The default value of the DefaultMinutesBeforeStart property is 15.


TcxSchedulerReminders.DefaultReminder

TcxSchedulerReminders          See Also

Specifies the default value of the TcxSchedulerEvent.Reminder property.

property DefaultReminder: Boolean;

Description

Set the DefaultReminder property to True to switch the reminder on by default (and to make the Reminder check box initially selected when the Event modal dialog is opened).

Note: if the Active property is False then the Reminder check and combo boxes won’t be shown in the Event modal dialog.

The default value of the DefaultReminder property is False.


TcxSchedulerReminders.Items

TcxSchedulerReminders          See Also

Provides indexed access to the TcxSchedulerReminder objects in the TcxSchedulerReminders collection.

property Items[Index:Integer]: TcxSchedulerReminder;

Description

Use the Items property to get the TcxSchedulerReminder instance at the position specified by the zero-based Index parameter.

ReadOnly Property


TcxSchedulerReminders.ReminderWindowLookAndFeel

TcxSchedulerReminders          See Also

Represents look and feel settings for the Reminders window.

property ReminderWindowLookAndFeel: TcxLookAndFeel;

Description

Use the ReminderWindowLookAndFeel property to assign the required look and feel settings to the Reminders window.


TcxSchedulerReminders.ReminderByResource

TcxSchedulerReminders          See Also

Specifies whether user events are grouped by resources when displayed in the Reminders window.

property ReminderByResource: Boolean;

Description

Set the ReminderByResource property to True, to display a list of user events grouped by resources in the Reminders window (the same user event can be shown in the list two or more times, if the user event is shared between two or more resources).

To allow user events to be associated with multiple resources, set the scheduler’s EventOperations.SharingBetweenResources property to True.

Note that resource names are displayed in the Reminders window, if the ShowResourcesInReminderWindow property is True.

Important Note: in bound mode, grouping user events by resources in the Reminders window is only enabled, if the user event’s ReminderResourcesData field is bound via the TcxSchedulerDBStorageFieldNames.ReminderResourcesData to the dataset field. To learn how to configure the scheduler for use in bound mode, see the Bound Mode help topic.

The default value of the ReminderByResource property is False.


TcxSchedulerReminders.ReminderWindow

TcxSchedulerReminders          See Also

References the Reminders window instance when the Reminders window is initialized.

property ReminderWindow: TcxSchedulerCustomReminderForm;

Description

Use the ReminderWindow property to access the Reminders window instance when the Reminders window is displayed.

Note: if the Reminders window is closed then the ReminderWindow property returns nil. Prior to the ReminderWindow property is used, invoke the IsReminderWindowShown method to check that the Reminders window instance exists to prevent access violation.

ReadOnly Property


TcxSchedulerReminders.ShowResourcesInReminderWindow

TcxSchedulerReminders          See Also

Specifies whether resource names are displayed in the Reminders window’s alert list.

property ShowResourcesInReminderWindow: Boolean;

Description

Set the ShowResourcesInReminderWindow property to True, to display resources in the Reminders window’s alert list.

Important Note: in bound mode, grouping user events by resources in the Reminders window is only enabled, if the user event’s ReminderResourcesData field is bound via the TcxSchedulerDBStorageFieldNames.ReminderResourcesData to the dataset field. To learn how to configure the scheduler for use in bound mode, see the Bound Mode help topic.

The default value of the ShowResourcesInReminderWindow property is True.


TcxSchedulerReminders.Storage

TcxSchedulerReminders

Represents the persistence manager component.

property Storage: TcxCustomSchedulerStorage;

Description

The persistence manager component is used to persist the scheduler’s data in a data store.

Use the Storage property to access the storage instance.

ReadOnly Property


TcxSchedulerReminders.UseReminderWindow

TcxSchedulerReminders          See Also

Specifies whether the Reminders window is displayed when a reminder alerts.

property UseReminderWindow: Boolean;

Description

Set the UseReminderWindow property to False to prevent the Reminders window from being displayed when a reminder alerts.

Note: blocking the Reminders window pop-up can be useful, for example, when developing schedule-driven applications based on handling the OnAlertReminder event.

The default value of the UseReminderWindow property is True.


TcxSchedulerReminders.DismissAll

TcxSchedulerReminders          See Also

Removes TcxSchedulerReminder instances from the TcxSchedulerReminders collection, and deletes the reminder flags from the associated user events.

procedure DismissAll;

Description

The DismissAll method also updates the TcxSchedulerReminders collection after it has been cleared. Timed out reminders added to the collection as a result of an update, will then be shown in the Reminders window (if the UseReminderWindow property is set to True).

Use the DismissAll method to delete any TcxSchedulerReminder instances, which are currently stored in the TcxSchedulerReminders collection (the timed out reminders), and reminder flags from the associated user events (see the TcxSchedulerEvent.Reminder property).


TcxSchedulerReminders.GetEventDueTimeText

TcxSchedulerReminders          See Also

Returns a formatted time string as the time interval between the start time of the user event that the AReminder reminder relates to and the ATime bound.

function GetEventDueTimeText(AReminder: TcxSchedulerReminder; ATime: TDateTime): string;

Description

Use the GetEventDueTimeText method to get the formatted time string. The time string is specified as the time interval between the user event’s start time (see the TcxSchedulerEvent.Start property) and the ATime bound.

The AReminder parameter specifies the TcxSchedulerReminder instance, which is associated with the identified user event (see the TcxSchedulerReminder.Event property);

The ATime parameter specifies the time bound.


TcxSchedulerReminders.HasReminders

TcxSchedulerReminders          See Also

Checks if there are reminders in the TcxSchedulerReminders collection.

function HasReminders: Boolean;

Description

The HasReminders method returns a value of True if at least one TcxSchedulerReminder instance is stored in the TcxSchedulerReminders collection (the value of the Count property is greater than 0). Otherwise – False.


TcxSchedulerReminders.HideReminderWindow

TcxSchedulerReminders          See Also

Closes the Reminders window.

procedure HideReminderWindow;

Description

Use the HideReminderWindow method to close the Reminders window.

Note: if the Reminders window is closed then the ReminderWindow property returns a value of nil. Prior to using the ReminderWindow property invoke the IsReminderWindowShown method to make sure that the Reminders window instance exists to prevent an access violation.


TcxSchedulerReminders.IsLocked

TcxSchedulerReminders          See Also

Determines whether the TcxSchedulerReminders collection can be updated.

function IsLocked: Boolean; virtual;

Description

If the IsLocked method returns a value of True the TcxSchedulerReminders collection is not available for updates.

For example, the TcxSchedulerReminders collection can't be updated if the data controller is locked to update its data (see the TcxCustomSchedulerStorage.BeginUpdate method).


TcxSchedulerReminders.IsReminderWindowShown

TcxSchedulerReminders          See Also

Determines whether the Reminders window is currently displayed.

function IsReminderWindowShown: Boolean;

Description

Use the IsReminderWindowShown method to determine if the Reminders window is displayed.

Note: if the Reminders window is closed then the ReminderWindow property will return a value of nil. Prior to using the ReminderWindow property invoke the IsReminderWindowShown method to make sure that the Reminders window instance exists to prevent an access violation.


TcxSchedulerReminders.Refresh

TcxSchedulerReminders          See Also

Updates the TcxSchedulerReminders collection.

procedure Refresh;

Description

The TcxSchedulerReminders collection contains timed out reminders, if there are any. The stored reminders will be then shown in the Reminders window (if the UseReminderWindow property is set to True).

Use the Refresh method every time the TcxSchedulerReminders collection needs to be synchronized with the timed out reminders.

Note: use the IsLocked method to check whether the collection can be updated.


TcxSchedulerReminders.ShowReminderWindow

TcxSchedulerReminders          See Also

Invokes the Reminders window.

procedure ShowReminderWindow;

Description

Use the ShowReminderWindow method to open the Reminders window.

Note: the Reminders window won’t display timed out reminders if the Active property is set to False.


TcxSchedulerReminders.SnoozeAll

TcxSchedulerReminders          See Also

Notifies the scheduler to defer triggering of all the TcxSchedulerReminder reminders, which are currently stored in the TcxSchedulerReminders collection for the specified ASnoozeTime interval (regarding to the current time).

procedure SnoozeAll(ASnoozeTime: TDateTime);

Description

Reminders, which are added to the TcxSchedulerReminders collection, will be then shown in the Reminders window (if the UseReminderWindow property is set to True).

Use the SnoozeAll method to defer triggering of TcxSchedulerReminder reminders, which are currently stored in the TcxSchedulerReminders collection, for the specified interval (with regards to the current time).

ASnoozeTime specifies the time interval reminders will be deferred for triggering. If ASnoozeTime is greater than 0, then the reminder alerts at the calculated lead-time. Otherwise, the reminder alerts at a user event’s start time (see the TcxSchedulerEvent.Start property).


TcxSchedulerReminders.OnAlertReminder

TcxSchedulerReminders          See Also

Fires when the AReminder reminder is about to trigger.

type

  TcxSchedulerReminderEvent = procedure(Sender: TcxSchedulerReminders; AReminder: TcxSchedulerReminder; var AHandled: Boolean) of object;

property OnAlertReminder: TcxSchedulerReminderEvent;

Description

Implement the OnAlertReminder event handler to customize the AReminder’s alert behavior.

The Sender parameter specifies the TcxSchedulerReminders collection which contains the AReminder instance;

The AReminder parameter specifies the reminder instance, which will alert;

The AHandled parameter specifies whether the default behavior is required when the event handler has finished executing. Assign the AHandled parameter a value of True to prevent the default behavior from being executed when the OnAlertReminder event handler exits.

This event can be used, for example, for developing schedule-driven applications.

Note: the OnAlertReminder event should be used to keep tracking on triggered reminders, if the UseReminderWindow property is set to False.


TcxSchedulerReminders.OnDismissReminder

TcxSchedulerReminders          See Also

Fires when the AReminder reminder is about to be dismissed.

type

  TcxSchedulerReminderEvent = procedure(Sender: TcxSchedulerReminders; AReminder: TcxSchedulerReminder; var AHandled: Boolean) of object;

property OnDismissReminder: TcxSchedulerReminderEvent;

Description

Implement the OnDismissReminder event handler to provide custom behavior before the AReminder is deleted from the associated user event instance (see the TcxSchedulerReminder.Event property) and as a consequence from the TcxSchedulerReminders collection.

The Sender parameter specifies the TcxSchedulerReminders collection which contains the AReminder instance;

The AReminder parameter specifies the reminder instance, which will be dismissed;

The AHandled parameter specifies whether the default behavior is required when the event handler has finished executing. Assign the AHandled parameter a value of True to prevent the default behavior from being executed when the OnDismissReminder event handler exits.


TcxSchedulerReminders.OnGetEventDueTimeText

TcxSchedulerReminders          See Also

Fires when a formatted time string is about to be returned by the GetEventDueTimeText method.

type

  TcxSchedulerGetEventDueTimeTextEvent = procedure(Sender: TcxSchedulerReminders; AReminder: TcxSchedulerReminder; const ADueTimeInfo: TcxSchedulerReminderDueTimeInfo; var AText: string) of object;

property OnGetEventDueTimeText: TcxSchedulerGetEventDueTimeTextEvent;

Description

Implement the OnGetEventDueTimeText event handler to customize the time string before it is returned to the caller by the GetEventDueTimeText method.

The Sender parameter specifies the TcxSchedulerReminders collection, which contains the AReminder instance;

The AReminder parameter specifies the reminder instance, which the time string belongs to;

The ADueTimeInfo parameter provides information on the reminder, such as the reminder's state, unit of time measure, time-out value, etc.;

The AText parameter specifies the formatted time string to be returned by the GetEventDueTimeText method.


TcxSchedulerReminders.OnGetReminderWindowCaption

TcxSchedulerReminders          See Also

Fires when the Reminders window is about to be opened.

type

  TcxSchedulerGetReminderWindowCaption = procedure(Sender: TcxSchedulerReminders; var ACaption: string) of object;

property OnGetReminderWindowCaption: TcxSchedulerGetReminderWindowCaption;

Description

Implement the OnGetReminderWindowCaption event handler to provide a custom caption for the title of the Reminders window.

The Sender parameter specifies the TcxSchedulerReminders collection, which contains timed out reminders, if any;

The ACaption parameter specifies the text, which will be shown in the Reminders window’s title.

To provide an end-user with information on reminders quantity, use the Sender’s Count property, which specifies the number of reminders in the TcxSchedulerReminders collection. It can be shown in the Reminders window’s title, if concatenated with the string.


TcxSchedulerReminders.OnHideReminderWindow

TcxSchedulerReminders          See Also

Fires when the Reminders window is about to be closed by an end-user or by the HideReminderWindow method if invoked.

type

  TcxSchedulerRemindersEvent = procedure(Sender: TcxSchedulerReminders) of object;

property OnHideReminderWindow: TcxSchedulerRemindersEvent;

Description

Implement the OnHideReminderWindow event handler to provide custom behavior before the Reminders window is closed.

The Sender parameter specifies the TcxSchedulerReminders collection, which contains timed out reminders, if any.


TcxSchedulerReminders.OnOpenEvent

TcxSchedulerReminders          See Also

Fires when the Open Item button (located in the Reminders window) has been clicked.

type

  TcxSchedulerReminderOpenEvent = procedure(Sender: TcxSchedulerReminders; AEvent: TcxSchedulerControlEvent) of object;

property OnOpenEvent: TcxSchedulerReminderOpenEvent;

Description

Implement the OnOpenEvent event handler to display the Open Item button in the Reminders window and provide custom behavior when this button has been clicked by an end-user.

The Sender parameter specifies the TcxSchedulerReminders collection, which contains timed out reminders, if any;

The AEvent parameter specifies the in-memory user event instance, which an end-user selects from the alert list (if it exists) in the Reminders window.

The Open Item button only appears if the OnOpenEvent event handler is assigned:

This is the sample code for the OnOpenEvent event handler which initializes the Event modal dialog after the Open Item button has been clicked:

// Delphi

// ...

procedure TForm1.StorageRemindersOpenEvent(

  Sender: TcxSchedulerReminders; AEvent: TcxSchedulerControlEvent);

begin

  Scheduler.EditEventUsingDialog(AEvent);

end;


TcxSchedulerReminders.OnShowReminderWindow

TcxSchedulerReminders          See Also

Fires when the Reminders window is being opened.

type

  TcxSchedulerRemindersEvent = procedure(Sender: TcxSchedulerReminders) of object;

property OnShowReminderWindow: TcxSchedulerRemindersEvent;

Description

Implement the OnShowReminderWindow event handler to provide custom behavior for the Reminders window before it’s opened.

The Sender parameter specifies the TcxSchedulerReminders collection, which contains timed out reminders (if there are any).


TcxSchedulerReminders.OnSnoozeReminder

TcxSchedulerReminders          See Also

Fires when the AReminder reminder is about to be snoozed.

type

  TcxSchedulerSnoozeReminderEvent = procedure(Sender: TcxSchedulerReminders; AReminder: TcxSchedulerReminder; var ASnoozeTime: TDateTime; var AHandled: Boolean) of object;

property OnSnoozeReminder: TcxSchedulerSnoozeReminderEvent;

Description

Implement the OnSnoozeReminder event handler to provide custom behavior before the AReminder reminder is snoozed.

The Sender parameter specifies the TcxSchedulerReminders collection, which contains the AReminder instance;

The AReminder parameter specifies the reminder instance, which will be snoozed;

The ASnoozeTime parameter specifies the time interval for which the AReminder’s alert will be snoozed;

The AHandled parameter specifies whether the default behavior is required when the event handler has finished executing. Assign the AHandled parameter a value of True to prevent the default behavior from being executed when the OnSnoozeReminder event handler exits.


TcxSchedulerStorageResourceItem
TcxSchedulerStorageResourceItem Object

Hierarchy          Properties

Represents a resource persisted in a data store.

Unit

cxSchedulerStorage

TcxSchedulerStorageResourceItem = class(TCollectionItem)

Description

This resource can be used as a common attribute for grouping schedules by resources (see the TcxSchedulerOptionsView.GroupingKind property). It facilitates the task of managing the time of resources and people groups under a single view.

Use the TcxSchedulerStorageResourceItem class to create and manage a persistent resource. The TcxSchedulerStorageResourceItem provides an interface enabling a name, a unique identifier for the resource instance and its visibility to be specified. You can also specify a color for the resource group and an icon for the resource header (see the ImageIndex property).

The TcxSchedulerStorageResourceItem object is referenced by the TcxSchedulerStorageResourceItems.Items property.


TcxSchedulerStorageResourceItem Hierarchy
Hierarchy

TCollectionItem

     |

TcxSchedulerStorageResourceItem


Properties for TcxSchedulerStorageResourceItem
TcxSchedulerStorageResourceItem Properties

TcxSchedulerStorageResourceItem          Legend

In TcxSchedulerStorageResourceItem

ActualImageIndex

Color

ImageIndex

Name

ReadOnly

ResourceID

Resources

Visible

WorkDays

WorkFinish

WorkStart


TcxSchedulerStorageResourceItem.ActualImageIndex

TcxSchedulerStorageResourceItem

Gets the zero-based index of the bitmap used to draw the resource icon.

property ActualImageIndex: TImageIndex;

Description

The ActualImageIndex property returns the index of either the ImageIndex property’s value or the value specified within the TcxSchedulerStorageResources.OnGetResourceImageIndex event handler if it's implemented. It returns the value of –1, if the ImageIndex property’s value is invalid.

ReadOnly Property


TcxSchedulerStorageResourceItem.Color

TcxSchedulerStorageResourceItem

Specifies the current resource's color.

property Color: TColor;

Description

Use the Color property to specify the color of the content grouped under the current resource.

The default value of the Color property is clDefault.


TcxSchedulerStorageResourceItem.ImageIndex

TcxSchedulerStorageResourceItem          See Also

Specifies an index of the bitmap used to draw the resource icon.

property ImageIndex: TImageIndex;

Description

Along with the resource name the resource header can also display the resource icon.

To set an appropriate icon for the resource header use the ImageIndex property.

The default value of the ImageIndex property is -1.


TcxSchedulerStorageResourceItem.Name

TcxSchedulerStorageResourceItem          See Also

Specifies the current scheduler resource’s name.

property Name: string;

Description

Use the Name property to specify a caption for the current schedules resource.


TcxSchedulerStorageResourceItem.ReadOnly

TcxSchedulerStorageResourceItem          See Also

Specifies the read-only status of the current resource.

property ReadOnly: Boolean;

Description

If the value of the ReadOnly property is True then the current resource is not modifiable. Use the ReadOnly property to specify the read-only status of the current resource.

Note: if the current resource is read-only all the user events that belong to this resource also have a status of read-only.

The default value of the ReadOnly property is False.


TcxSchedulerStorageResourceItem.ResourceID

TcxSchedulerStorageResourceItem          See Also

Specifies the current resource’s unique identifier.

property ResourceID: Variant;

Description

Resources are used for grouping schedules (the gkByResource or gkByDate flag on the TcxSchedulerCustomResourceView.GroupingKind property is active and more than one resource is defined) to facilitate managing user time.

Use the ResourceID property to specify the unique identifier of the resource.


TcxSchedulerStorageResourceItem.Resources

TcxSchedulerStorageResourceItem

Represents a collection of resources persisted in a non-relational data store.

property Resources: TcxSchedulerStorageResources;

Description

Resources are used for grouping schedules (the gkByResource or gkByDate flag on the TcxSchedulerCustomResourceView.GroupingKind property is active and more than one resource is defined) to facilitate managing user time.

The TcxSchedulerStorageResources provides an interface for managing the resources persisted in a non-relational data store.

Use the Resources property to access the TcxSchedulerStorageResources object.

ReadOnly Property


TcxSchedulerStorageResourceItem.Visible

TcxSchedulerStorageResourceItem

Specifies whether the current resource is visible in the scheduling area.

property Visible: Boolean;

Description

Set the Visible property to True to make the current resource visible in the scheduling area.

The default value of the Visible property is True.


TcxSchedulerStorageResourceItem.WorkDays

TcxSchedulerStorageResourceItem          See Also

Specifies the days that contain work hours.

type

  TDay = (dSunday, dMonday, dTuesday, dWednesday, dThursday, dFriday, dSaturday);

  TDays = set of TDay;

property WorkDays: TDays;

Description

Use the WorkDays property to specify the days that display work hours in the current resource.

Note the following:

•	The WorkDays property has the higher priority than the scheduler’s OptionsView.WorkDays property.

•	The View’s CompressWeekEnd and HideWeekEnd properties don’t depend upon the WorkDays property, so this property doesn’t affect the View layout. It only informs the scheduler in which days time blocks are to be painted as work hours (see the WorkStart and WorkFinish properties).


TcxSchedulerStorageResourceItem.WorkFinish

TcxSchedulerStorageResourceItem          See Also

Specifies the end of work hours, displayed in the current resource.

property WorkFinish: TTime;

Description

The WorkFinish property has the higher priority than the scheduler’s OptionsView.WorkFinish property.


TcxSchedulerStorageResourceItem.WorkStart

TcxSchedulerStorageResourceItem          See Also

Specifies the beginning of work hours, displayed in the current resource.

property WorkStart: TTime;

Description

The WorkStart property has the higher priority than the scheduler’s OptionsView.WorkStart property.


TcxSchedulerStorageResourceItems
TcxSchedulerStorageResourceItems Object

Hierarchy          Properties          Methods

Represents a collection of TcxSchedulerStorageResourceItem objects.

Unit

cxSchedulerStorage

TcxSchedulerStorageResourceItems = class(TCollection)

Description

The TcxSchedulerStorageResourceItem object represents a resource that can be used for grouping schedules by resources (see the TcxSchedulerOptionsView.GroupingKind property).

The Items property of the TcxSchedulerStorageResourceItems collection provides indexed access to the TcxSchedulerStorageResourceItem objects, while the Add method creates and adds these objects to the collection.

The TcxSchedulerStorageResourceItems object is referenced by the TcxSchedulerStorageResources.Items property.


TcxSchedulerStorageResourceItems Hierarchy
Hierarchy

TCollection

     |

TcxSchedulerStorageResourceItems


Properties for TcxSchedulerStorageResourceItems
TcxSchedulerStorageResourceItems Properties

TcxSchedulerStorageResourceItems          Legend

In TcxSchedulerStorageResourceItems

Items

VisibleResourceCount

VisibleResources


Methods for TcxSchedulerStorageResourceItems
TcxSchedulerStorageResourceItems Methods

TcxSchedulerStorageResourceItems          Legend

In TcxSchedulerStorageResourceItems

 Add


TcxSchedulerStorageResourceItems.Items

TcxSchedulerStorageResourceItems          See Also

Provides indexed access to the TcxSchedulerStorageResourceItem objects in the TcxSchedulerStorageResourceItems collection.

property Items[Index:Integer]: TcxSchedulerStorageResourceItem;

Description

Use the Items property to get or assign the TcxSchedulerStorageResourceItem object at the position specified by the zero-based Index parameter.


TcxSchedulerStorageResourceItems.VisibleResourceCount

TcxSchedulerStorageResourceItems          See Also

Gets the number of resources that are available in the scheduling area.

property VisibleResourceCount: Integer;

Description

Use the VisibleResourceCount property to determine the number of resources that are available in the scheduling area.

A resource is available in the scheduling area if its TcxSchedulerStorageResourceItem.Visible property is set to True.

ReadOnly Property


TcxSchedulerStorageResourceItems.VisibleResources

TcxSchedulerStorageResourceItems          See Also

Provides indexed access to the resources that are available in the scheduling area.

property VisibleResources[Index:Integer]: TcxSchedulerStorageResourceItem;

Description

Use the VisibleResources property to get a resource specified by the zero-based Index parameter from amongst the other resources that are available in the scheduling area.

A resource is available in the scheduling area if its TcxSchedulerStorageResourceItem.Visible property is set to True.

ReadOnly Property


TcxSchedulerStorageResourceItems.Add

TcxSchedulerStorageResourceItems          See Also

Creates a new TcxSchedulerStorageResourceItem instance and adds it to the TcxSchedulerStorageResourceItems collection.

function Add: TcxSchedulerStorageResourceItem;

Description

The Add method returns the new TcxSchedulerStorageResourceItem instance.


TcxSchedulerStorageResources
TcxSchedulerStorageResources Object

Hierarchy          Properties          Methods          Events

The TcxSchedulerStorageResources represents the resources persisted in a non-relational data store.

Unit

cxSchedulerStorage

TcxSchedulerStorageResources = class(TPersistent)

Description

This resource can be used as a common attribute for grouping schedules by resources (see the TcxSchedulerOptionsView.GroupingKind property). It facilitates the task of managing the time of resources and people groups under single view. To create and manage persistent resources use the Items property.

The TcxSchedulerStorageResources object is referenced by the TcxCustomSchedulerStorage.Resources property.


TcxSchedulerStorageResources Hierarchy
Hierarchy

TPersistent

     |

TcxSchedulerStorageResources


Properties for TcxSchedulerStorageResources
TcxSchedulerStorageResources Properties

TcxSchedulerStorageResources          Legend

In TcxSchedulerStorageResources

Images

AreImagesUsed

Items

ResourceItems


Methods for TcxSchedulerStorageResources
TcxSchedulerStorageResources Methods

TcxSchedulerStorageResources          Legend

In TcxSchedulerStorageResources

 GetResourceName


Events for TcxSchedulerStorageResources
TcxSchedulerStorageResources Events

TcxSchedulerStorageResources          Legend

In TcxSchedulerStorageResources

 OnGetResourceImageIndex

 OnGetResourceName


TcxSchedulerStorageResources.Images

TcxSchedulerStorageResources          See Also

Represents a collection of the user-defined images which can be used to draw the resource icons.

property Images: TCustomImageList;

Description

Along with the resource names the resource icons are displayed in the resource headers.

The Images collection contains the user-defined images used to draw the resource icons. To draw an icon in the relevant resource header set the TcxSchedulerStorageResourceItem.ImageIndex property to the appropriate image index.


TcxSchedulerStorageResources.AreImagesUsed

TcxSchedulerStorageResources          See Also

Gets whether any image is bound to the resource to draw the resource icon.

property AreImagesUsed: Boolean;

Description

The AreImagesUsed property returns a value of True, if at least the one user-defined image is set for the corresponding resource.

ReadOnly Property


TcxSchedulerStorageResources.Items

TcxSchedulerStorageResources          See Also

Represents a collection of TcxSchedulerStorageResourceItem objects.

property Items: TcxSchedulerStorageResourceItems;

Description

Use the Items property when resources are persisted by the Delphi environment (see the TCollectionItem class).


TcxSchedulerStorageResources.ResourceItems

TcxSchedulerStorageResources

Represents a collection of TcxSchedulerStorageResourceItem objects.

property ResourceItems: TcxSchedulerStorageResourceItems;

Description

Use the ResourceItems property to access TcxSchedulerStorageResourceItem objects in all data modes. When working with a non-relational data store the reference alias is acquired via the Items property; if resources are persisted in a database the reference alias is acquired via the TcxSchedulerDBStorageResources.DataItems property.

ReadOnly Property


TcxSchedulerStorageResources.GetResourceName

TcxSchedulerStorageResources          See Also

Returns the name of the TcxSchedulerStorageResourceItem object specified by the AResource parameter.

function GetResourceName(AResource: TcxSchedulerStorageResourceItem): string;

Description

Use the GetResourceName method to get the name of the TcxSchedulerStorageResourceItem object.


TcxSchedulerStorageResources.OnGetResourceImageIndex

TcxSchedulerStorageResources          See Also

Fires when the index of the image (which will be used to draw the resource icon) is being retrieved.

type

  TcxSchedulerGetResourceImageIndexEvent = procedure(Sender: TObject; AResource: TcxSchedulerStorageResourceItem; var AImageIndex: TImageIndex) of object;

property OnGetResourceImageIndex: TcxSchedulerGetResourceImageIndexEvent;

Description

Implement the OnGetResourceImageIndex event handler to provide another icon for the current resource.

The Sender parameter specifies the scheduler storage in which the bitmap is stored;

The AResource parameter specifies the TcxSchedulerStorageResourceItem object whose icon will be drawn in its header;

The AImageIndex parameter specifies the index of the bitmap which will be used for drawing the resource icon.


TcxSchedulerStorageResources.OnGetResourceName

TcxSchedulerStorageResources          See Also

Fires when the resource’s name is about to be retrieved.

type

  TcxSchedulerGetResourceNameEvent = procedure(Sender: TObject; AResourceID: Variant; var AResourceName: string) of object;

property OnGetResourceName: TcxSchedulerGetResourceNameEvent;

Description

Implement the OnGetResourceName event handler to override the TcxSchedulerStorageResourceItem.Name property’s value before this value has been retrieved.

The Sender parameter specifies the TcxSchedulerStorageResourceItem object whose name is about to be retrieved;

The AResourceID parameter specifies the unique identifier of the resource;

The AResourceName parameter specifies the resource’s name.


IcxSchedulerStorageListener
IcxSchedulerStorageListener Interface

Hierarchy          Methods          See Also

Allows the control to update itself when the storage component changes its data.

Unit

cxSchedulerStorage

IcxSchedulerStorageListener = interface(IUnknown)

Description

The purpose of this interface is to enable the control (the IcxSchedulerStorageListener implementer) to dynamically bind to the storage component (the TcxSchedulerStorage or TcxSchedulerDBStorage) to receive callback messages from storage.


IcxSchedulerStorageListener Hierarchy
Hierarchy

IUnknown

     |

IcxSchedulerStorageListener


Methods for IcxSchedulerStorageListener
IcxSchedulerStorageListener Methods

IcxSchedulerStorageListener          Legend

In IcxSchedulerStorageListener

 StorageChanged

 StorageRemoved


IcxSchedulerStorageListener.StorageChanged

IcxSchedulerStorageListener

Notifies the registered listener that the storage component specified by the Sender parameter has changed its state.

procedure StorageChanged(Sender: TObject);

Description

Notifies the registered listener that the storage component specified by the Sender parameter has changed its state.


IcxSchedulerStorageListener.StorageRemoved

IcxSchedulerStorageListener

Notifies the registered listener that its reference to the storage component specified by the Sender parameter has been assigned a value of nil.

procedure StorageRemoved(Sender: TObject);

Description

Notifies the registered listener that its reference to the storage component specified by the Sender parameter has been assigned a value of nil.


TcxCompareEventsProc
TcxCompareEventsProc type

Provides a callback reference.

Unit

cxSchedulerStorage

TcxCompareEventsProc = function(AEvent1, AEvent2: TcxSchedulerEvent): Integer;

Description

The TcxCompareEventsProc type enables custom comparisons of the AEvent1 and AEvent2 user events to be made in a method that has the same signature as the TcxCompareEventsProc and will be called when the TcxSchedulerEventList.Sort method is invoked. Comparing is used in sorting operations in the TcxSchedulerEventList collection.

Note: The method implemented should return values as described below when comparing in ascending order:

Value	Description
> 0 (positive)	Item1 is less than Item2.
0	Item1 is equal to Item2.
< 0 (negative)	Item1 is greater than Item2.


TcxDayType
TcxDayType type

See Also

Enumerates the available day types used for calculating the user event’s reoccurrences in the Recurrence pattern.

Unit

cxSchedulerStorage

TcxDayType = (cxdtDay, cxdtEveryDay, cxdtWeekDay, cxdtWeekEndDay,

  cxdtSunday, cxdtMonday, cxdtTuesday, cxdtWednesday,

  cxdtThursday, cxdtFriday, cxdtSaturday);

Description

Values include:

Value	Meaning
cxdtDay	Specifies the flag as every nth day in a month.
cxdtEveryDay	Specifies the flag as every nth day in a week.
cxdtWeekDay	Specifies the flag as every working day in a week.
cxdtWeekEndDay	Specifies the flag as every weekend day in a week.
cxdtSunday	Specifies the flag as a certain day of the week (Sunday).
cxdtMonday	Specifies the flag as a certain day of the week (Monday).
cxdtTuesday	Specifies the flag as a certain day of the week (Tuesday).
cxdtWednesday	Specifies the flag as a certain day of the week (Wednesday).
cxdtThursday	Specifies the flag as a certain day of the week (Thursday).
cxdtFriday	Specifies the flag as a certain day of the week (Friday).
cxdtSaturday	Specifies the flag as a certain day of the week (Saturday).


TcxEventType
TcxEventType type

Enumerates the available state values for the TcxSchedulerEvent.EventType property.

Unit

cxSchedulerStorage

TcxEventType = (etNone, etPattern, etOccurrence, etException, etCustom);

Description

Values include:

Value	Meaning
etNone	The user event is not recurring.
etPattern	The user event is a parent of the recurrence chain.
etOccurrence	The occurrence is spawned from the parent.
etException	No reoccurrence at the specified time in the chain of reoccurrences for the recurring user event.
etCustom	The occurrence’s details are changed.


TcxRecurrence
TcxRecurrence type

See Also

Enumerates the available recurrence bases for scheduling the user event’s occurrences.

Unit

cxSchedulerStorage

TcxRecurrence = (cxreDaily, cxreWeekly, cxreMonthly, cxreYearly);

Description

Values include:

Value	Meaning
cxreDaily	The user event reoccurs on a daily base.
cxreWeekly	The user event reoccurs on a weekly base.
cxreMonthly	The user event reoccurs on a monthly base.
cxreYearly	The user event reoccurs on a yearly base.


TcxRecurrenceValidStatus
TcxRecurrenceValidStatus type

See Also

Enumerates the available states of the recurrence data.

Unit

cxSchedulerStorage

TcxRecurrenceValidStatus = (rvsValid, rvsReplaceOccurrenceDate,

rvsInvalidPattern, rvsInvalidDuration);

Description

Values include:

Value	Meaning
rvsValid	All the recurrence’s details are valid.
rvsReplaceOccurrenceDate	The date specified as the day in a month for the user event to reoccur on is valid, but for some months it's greater than the last day of the month. In these cases the occurrence will fall on the last day of the month.
rvsInvalidPattern	The recurrence pattern is not valid. For example, the specified day is greater than the last day of any month.
rvsInvalidDuration	The range of the recurrence is not valid. For example, the recurrence frequency is shorter than the user event’s duration (see also the TcxSchedulerEvent.Start, TcxSchedulerEvent.Finish and TcxSchedulerEventRecurrenceInfo.Recurrence properties).


TcxSchedulerEventRecurrenceInfoData
TcxSchedulerEventRecurrenceInfoData type

See Also

Contains information on the user event’s reoccurrence.

Unit

cxSchedulerStorage

TcxSchedulerEventRecurrenceInfoData = packed record

  Count: Integer;

  DayNumber: Integer;

  DayType: TcxDayType;

  Finish: TDateTime;

  OccurDays: TDays;

  Periodicity: Integer;

  Recurrence: TcxRecurrence;

  Start: TDateTime;

  YearPeriodicity: Integer;

  Reserved1: Byte;

  DismissDate: Integer;

end;

Description

Values include:

Value	Meaning
Count	Specifies the number of occurrences of the user event.
DayNumber	Specifies the day number in a month, working week, Saturdays/Sundays in a month, or weekend that the current user event will reoccur on.
DayType	Specifies the day type used to calculate the current user event’s reoccurrence in the Recurrence pattern.
Finish	Specifies the end date and time of the current user event’s reoccurrences.
OccurDays	Specifies the days in a week that the current user event reoccurs on.
Periodicity	Specifies the frequency with which the current user event reoccurs with respect to the time base specified by the Recurrence field.
Recurrence	Specifies the time base for the frequency of the current user event's reoccurrences.
Start	Specifies the start date and time for the user event’s reoccurrences.
YearPeriodicity	Specifies the frequency with which the user event reoccurs on a yearly basis.
Reserved1	Reserved.
DismissDate	Specifies a date when a reminder will be switched off for the corresponding reoccurrence.


TcxSchedulerEventRelation
TcxSchedulerEventRelation type

See Also

Enumerates available connector types.

Unit

cxSchedulerStorage

TcxSchedulerEventRelation = (trFinishToStart, trStartToStart, trFinishToFinish, trStartToFinish);

Description

Values include:

Value	Meaning
trFinishToStart	Successor cannot start until predecessor finishes.
trStartToStart	Successor cannot start until predecessor starts.
trFinishToFinish	Successor cannot finish until predecessor finishes.
trStartToFinish	Successor cannot finish until predecessor starts.


TcxSchedulerEventTaskStatus
TcxSchedulerEventTaskStatus type

See Also

Enumerates available task status values.

Unit

cxSchedulerStorage

TcxSchedulerEventTaskStatus = (tsNotStarted, tsInProgress, tsComplete, tsWaiting, tsDeferred);

Description

Values include:

Value	Meaning
tsNotStarted	The task has not been started (the TcxSchedulerEvent.TaskComplete property’s value is 0).
tsInProgress	The task is in progress (the TcxSchedulerEvent.TaskComplete property’s value is between 0 and 100).
tsComplete	The task has been completed (the TcxSchedulerEvent.TaskComplete property’s value is 100).
tsWaiting	The TcxSchedulerEvent.TaskComplete property’s value is 0 – 100.
tsDeferred	The TcxSchedulerEvent.TaskComplete property’s value is 0 – 100.


TcxSchedulerReminderDueTimeElement
TcxSchedulerReminderDueTimeElement type

See Also

Enumerates available units of the time measure for the reminder.

Unit

cxSchedulerStorage

TcxSchedulerReminderDueTimeElement = (dteMinute, dteHour, dteDay, dteWeek);

Description

Values include:

Value	Meaning
dteMinute	The time is measured in minutes.
dteHour	The time is measured in hours.
dteDay	The time is measured in days.
dteWeek	The time is measured in weeks.


TcxSchedulerReminderDueTimeInfo
TcxSchedulerReminderDueTimeInfo type

See Also

Contains information on the active reminder.

Unit

cxSchedulerStorage

TcxSchedulerReminderDueTimeInfo = record

  DueKind: TcxSchedulerReminderDueTimeKind;

  Element: TcxSchedulerReminderDueTimeElement;

  ElementValue: Integer;

  Minutes: Integer;

end;

Description

Values include:

Field	Meaning
DueKind	Specifies the reminder state.
Element	Specifies a unit of the time measure.
ElementValue	Specifies the time in a specified measure.
Minutes	Specifies the time in minutes.


TcxSchedulerReminderDueTimeKind
TcxSchedulerReminderDueTimeKind type

See Also

Enumerates available state values for the reminder.

Unit

cxSchedulerStorage

TcxSchedulerReminderDueTimeKind = (dtkNow, dtkOverdue, dtkActual);

Description

Values include:

Value	Meaning
dtkNow	A reminder triggers.
dtkOverdue	An overdue reminder.
dtkActual	A forthcoming reminder.


TcxSchedulerReminderResource
TcxSchedulerReminderResource type

See Also

Contains information on a reminder defined with a specific resource.

Unit

cxSchedulerStorage

TcxSchedulerReminderResource = packed record

  DismissDate: TDateTime;

  ResourceID: Variant;

  ReminderDate: TDateTime;

end;

Description

Values include:

Value	Meaning
DismissDate	Specifies a date when a reminder will be switched off for the corresponding reoccurrence.
ResourceID	Specifies the resource's unique identifier.
ReminderDate	Specifies the reminder’s date and time.


TcxSchedulerReminderResources
TcxSchedulerReminderResources type

See Also

Represents a collection of TcxSchedulerReminderResource records.

Unit

cxSchedulerStorage

TcxSchedulerReminderResources = array of TcxSchedulerReminderResource;


TcxSchedulerReminderResourcesData
TcxSchedulerReminderResourcesData type

See Also

Contains information on reminders currently active in the scheduler.

Unit

cxSchedulerStorage

TcxSchedulerReminderResourcesData = packed record

  Version: Byte;

  Resources: TcxSchedulerReminderResources;

end;

Description

Values include:

Value	Meaning
Version	A unique identifier of 3.
Resources	A collection of records containing information on active reminders.


cxDueTimeInfoToText
cxDueTimeInfoToText Function

See Also

Returns information on the toggled reminder’s state as a formatted string.

Unit

cxSchedulerStorage

Declaration

function cxDueTimeInfoToText(const AInfo: TcxSchedulerReminderDueTimeInfo): string;

Description

The cxDueTimeInfoToText function converts reminder details contained in the AInfo record into a string equivalent.  The resulting string is then shown in the Reminders window (in the Due in column).

The AInfo record contains information on the reminder (the reminder state, unit of the time measure and the due time).

If required, a custom function can be implemented instead of the default to show another Due in details in the Reminders window.  To run the custom function in the application, use the cxDueTimeInfoToTextProc constant.


cxFieldValueToReminderResourcesData
cxFieldValueToReminderResourcesData Function

See Also

Transfers the reminder data from the dataset field to the TcxSchedulerReminderResourcesData record.

Unit

cxSchedulerStorage

Declaration

function cxFieldValueToReminderResourcesData(const AValue: Variant): TcxSchedulerReminderResourcesData;

Description

Use the cxFieldValueToReminderResourcesData routine to synchronize the persistent field with in-memory reminder information, if the built-in mapping is, for some reason, not used.

AValue specifies the dataset field value.


cxGetRecurrenceDescriptionString
cxGetRecurrenceDescriptionString Function

See Also

Returns the user event’s recurring information as a string.

Unit

cxSchedulerStorage

Declaration

function cxGetRecurrenceDescriptionString(ARecurrenceInfo: TcxSchedulerEventRecurrenceInfo): string;

Description

The TcxSchedulerEventRecurrenceInfo class represents recurring information for the specified user event, provided that the user event is recurring. For example, if the recurring user event was scheduled to the 03/18/2005, from 4 pm through to 5 pm, with the default recurrence options (the default options in the Event recurrence dialog), then the resulting string will be ‘every Friday from 16:00 to 17:00’.

Use the cxGetRecurrenceDescriptionString function to retrieve data on the user event’s recurrence as a string.

Note: if the specified user event is not recurring then an empty string will be returned.

If you need to display any information (not default) in the Event recurrence dialog, you should implement an appropriate routine and bind it to the application by using the cxGetRecurrenceDescriptionStringProc constant.


cxRecurrenceInfoDataToString
cxRecurrenceInfoDataToString Function

See Also

Converts the TcxSchedulerEventRecurrenceInfoData record’s content into binary data and puts it in a string.

Unit

cxSchedulerStorage

Declaration

function cxRecurrenceInfoDataToString(const AData: TcxSchedulerEventRecurrenceInfoData): string;

Description

The TcxSchedulerEventRecurrenceInfoData record holds information on the recurrence details. The TcxSchedulerEventRecurrenceInfoData record’s data is stored in the data store in binary format (in the dataset field of BLOB type).

Before sending the data to the data store copy bytes from the memory segment allocated by the TcxSchedulerEventRecurrenceInfoData record into the string that is used as a buffer between the record and the data store. After that you can post binary data from the string to the data store.

Use the cxRecurrenceInfoDataToString routine to copy the content of the TcxSchedulerEventRecurrenceInfoData record into a string.

The AData parameter represents the TcxSchedulerEventRecurrenceInfoData record.


cxReminderResourcesDataToFieldValue
cxReminderResourcesDataToFieldValue Function

See Also

Transfers the reminder data from the TcxSchedulerReminderResourcesData record to the dataset field.

Unit

cxSchedulerStorage

Declaration

function cxReminderResourcesDataToFieldValue(const AValue: TcxSchedulerReminderResourcesData): Variant;

Description

Use the cxReminderResourcesDataToFieldValue routine to synchronize in-memory reminder information with the persistent field, if, for any reason, the built-in mapping is not used.


cxStringToRecurrenceInfoData
cxStringToRecurrenceInfoData Function

See Also

Converts a string’s binary content into the TcxSchedulerEventRecurrenceInfoData record.

Unit

cxSchedulerStorage

Declaration

function cxStringToRecurrenceInfoData(const S: string): TcxSchedulerEventRecurrenceInfoData;

Description

The recurrence details represented by the TcxSchedulerEventRecurrenceInfoData record are stored in the data store in binary format (in a dataset field of the BLOB type).

First, the data is fetched from the dataset into a string that is used as a buffer between the BLOB field and the TcxSchedulerEventRecurrenceInfoData record. After that the cxStringToRecurrenceInfoData routine is to be invoked to transfer the data from the string into the TcxSchedulerEventRecurrenceInfoData record.

The S parameter specifies the string that contains the TcxSchedulerEventRecurrenceInfoData record’s data in byte-level representation.


cxDueTimeInfoToTextProc constant
cxDueTimeInfoToTextProc global constant

Binds a function, which returns information on the reminder state.

Unit

cxSchedulerStorage

cxDueTimeInfoToTextProc : TcxDueTimeInfoToTextProc = cxDueTimeInfoToText;

Description

The cxDueTimeInfoToText function returns a string equivalent of the reminder state to be shown in the Due in column of the Reminders window.

If required, implement your own routine to provide appropriate information in the Reminders window.  To run the implemented routine in the application, use the cxDueTimeInfoToTextProc constant.


cxGetRecurrenceDescriptionStringProc constant
cxGetRecurrenceDescriptionStringProc global constant

See Also

Binds a routine, which represents information in the Event recurrence dialog.

Unit

cxSchedulerStorage

cxGetRecurrenceDescriptionStringProc : TcxGetRecurrenceDescriptionStringProc = cxGetRecurrenceDescriptionString;

Description

If you need to display recurring details (not the default information) in the Event recurrence dialog, implement an appropriate routine and bind it to the application by using the cxGetRecurrenceDescriptionStringProc constant.


cxMaxCheckedDuration constant
cxMaxCheckedDuration global constant

See Also

Specifies the additional period of time to search for any overlapped user events.

Unit

cxSchedulerStorage

cxMaxCheckedDuration : Integer = 30;

Description

The cxMaxCheckedDuration constant specifies the standard time block, which is intended to extend the upper bound of the time range, represented by the AStart and AFinish parameters of such methods as TcxCustomSchedulerStorage.FindAvailableAllDay, TcxCustomSchedulerStorage.FindAvailableTime and TcxSchedulerEventConflictsInfo.Create.

Developers can change the value of the constant to increase or decrease the maximum period of time specified in which intersected user events are searched for.


cxSchedulerEventConflictsInfoClass constant
cxSchedulerEventConflictsInfoClass global constant

See Also

Represents the TcxSchedulerEventConflictsInfo class or its descendant.

Unit

cxSchedulerStorage

cxSchedulerEventConflictsInfoClass : TcxSchedulerEventConflictsInfoClass = TcxSchedulerEventConflictsInfo;

Description

The TcxSchedulerEventConflictsInfo class contains information on overlapped user events.

Use the cxSchedulerEventConflictsInfoClass constant to bind another class derived from the TcxSchedulerEventConflictsInfo.


omAllDayEvent constant
omAllDayEvent global constant

See Also

Denotes that the user event is an all-day event.

Unit

cxSchedulerStorage

omAllDayEvent = $0001;

Description

Use the omAllDayEvent constant to set the Options dataset field (see the TcxSchedulerDBStorageFieldNames.Options property) to the flag that means the user event is an all-day event (see the TcxSchedulerEvent.AllDayEvent property).

Note: this constant should be only used when persisting user event’s data in a data store without using the scheduler’s storage.


omCollapsed constant
omCollapsed global constant

See Also

Denotes the predecessor task’s expand status.

Unit

cxSchedulerStorage

omCollapsed = $0008;

Description

Use the omCollapsed constant to set the Options dataset field (see the TcxSchedulerDBStorageFieldNames.Options property) to the flag that specifies the predecessor task’s expand status (see the TcxSchedulerEventLinks.Expanded property).

Note: this constant must be only used when persisting the user event’s data in a data store, without using the scheduler storage.


omEnabled constant
omEnabled global constant

See Also

Denotes that the user event‘s time is later than the host environment’s time.

Unit

cxSchedulerStorage

omEnabled = $0002;

Description

The user event is valid if the user event‘s time is later than the host environment’s time (the user event will occur in the future). Use the omEnabled constant to set the Options dataset field (see the TcxSchedulerDBStorageFieldNames.Options property) to the flag that means the user event‘s time is later than the host environment’s time (see the TcxSchedulerEvent.Enabled property).

Note: this constant should be only used when persisting user event’s data in a data store without using the scheduler’s storage.


omReminder constant
omReminder global constant

See Also

Denotes that the user event‘s reminder is on.

Unit

cxSchedulerStorage

omReminder = $0004;

Description

Use the omReminder constant to set the Options dataset field (see the TcxSchedulerDBStorageFieldNames.Options property) to the flag that means the reminder is on (see the TcxSchedulerEvent.Reminder property).

Note: this constant should be only used when persisting user event’s data in a data store without using the scheduler’s storage.


tlsBusy constant
tlsBusy global constant

See Also

Denotes the state of the TcxSchedulerEvent.State property that means a person is in the office but unavailable to others.

Unit

cxSchedulerStorage

tlsBusy = 2;

Description

Denotes the state of the TcxSchedulerEvent.State property that means a person is in the office but unavailable to others.


tlsFree constant
tlsFree global constant

See Also

Denotes the state of the TcxSchedulerEvent.State property that means a person is in the office and available to others.

Unit

cxSchedulerStorage

tlsFree = 0;

Description

Denotes the state of the TcxSchedulerEvent.State property that means a person is in the office and available to others.


tlsOutOfOffice constant
tlsOutOfOffice global constant

See Also

Denotes the state of the TcxSchedulerEvent.State property that means a person is out of the office and unavailable to others.

Unit

cxSchedulerStorage

tlsOutOfOffice = 3;

Description

Denotes the state of the TcxSchedulerEvent.State property that means a person is out of the office and unavailable to others.


tlsTentative constant
tlsTentative global constant

See Also

Denotes the state of the TcxSchedulerEvent.State property that means a person is in the office and tentatively available to others.

Unit

cxSchedulerStorage

tlsTentative = 1;

Description

Denotes the state of the TcxSchedulerEvent.State property that means a person is in the office and tentatively available to others.


How to add a custom label to the event's editor and popup menu
How to add a custom label to the event’s editor and popup menu

See Also

The EventLabels global variable provides access to the collection of color labels for user events.  This collection is represented by a TcxSchedulerEventLabels class.  To add a new label to the collection, use the Add method.  It takes two arguments – color and caption.  An icon with the specified color and the specified caption text identify the created color label item within the Event dialog’s Label dropdown, and in the user event’s context menu.

The following sample code demonstrates how to add a custom color label to the collection:

// Delphi

// ...

uses

  cxSchedulerUtils;

// ...

initialization

  EventLabels.Add(clRed, 'Blood Tests');

end.

// C++ Builder

// ...

#include "cxSchedulerUtils.hpp"

// ...

__fastcall TDemoBasicMainForm::TDemoBasicMainForm(TComponent* Owner)

        : TForm(Owner)

{

  EventLabels->Add(clRed, "Blood Tests");

}

The following image demonstrates the Blood Tests item in the Event dialog and in the user event’s context menu:


How to change the time ruler's time format
How to change the time ruler’s time format

See Also

The default time format depends on regional settings.  If you wish to enable 12–hour format regardless of system settings, override the TcxSchedulerDateTimeHelper’s GetIs24HourTimeFormat method, as shown in the following example:

// Delphi

// ...

uses

  cxSchedulerUtils;

// ...

type

  TcxSchedulerCustomDateTimeHelper = class(TcxSchedulerDateTimeHelper)

  protected

    class function GetIs24HourTimeFormat: Boolean; override;

  end;

implementation

// ...

class function TcxSchedulerCustomDateTimeHelper.GetIs24HourTimeFormat: Boolean;

begin

  // specify that the 12-hour format is to be used

  Result := False;

end;

initialization

  // specify a custom date-time utility for the scheduler

  DateTimeHelper := TcxSchedulerCustomDateTimeHelper;

  // update the format

  DateTimeHelper.Refresh;

end.

// C++ Builder

// ...

#include "cxSchedulerUtils.hpp"

// ...

class TcxSchedulerCustomDateTimeHelper: public TcxSchedulerDateTimeHelper {

public:

  bool __fastcall GetIs24HourTimeFormat(TMetaClass* vmt);

};

bool __fastcall TcxSchedulerCustomDateTimeHelper::GetIs24HourTimeFormat(TMetaClass* vmt) {

  return false;

  }

__fastcall TDemoBasicMainForm::TDemoBasicMainForm(TComponent* Owner): TForm(Owner)

{

  TcxSchedulerCustomDateTimeHelper* dthelper = new TcxSchedulerCustomDateTimeHelper();

  try {

    dthelper->GetIs24HourTimeFormat(DateTimeHelper);

    dthelper->Refresh(DateTimeHelper);

  }

  __finally {

    delete dthelper;

  }

}

The following image shows the result of the code execution:


How to customize the work time for each day

See Also

A scheduler’s OptionsView.WorkStart and OptionsView.WorkFinish properties specify the work time common to all workdays (see the scheduler’s OptionsView.WorkDays property).

To display a flexible work schedule, use a scheduler’s OnIsWorkTime event.  This event provides the ATime and AIsWork parameters that allow you to determine the time block to be drawn and specify whether it is displayed as a work time or not.

In the example, the TimeOf routine (from the cxDateUtils unit) is used to extract time value from the ATime argument.

// Delphi

// ...

uses

  cxDateUtils;

// ...

procedure TForm1.cxScheduler1IsWorkTime(Sender: TObject;

  AResource: TcxSchedulerStorageResourceItem; const ATime: TDateTime;

  var AIsWork: Boolean);

var

  ATimeOnly: TDateTime;

begin

  ATimeOnly := TimeOf(ATime);

  case DayOfWeek(ATime) of

    // Monday and Wednesday: 8:00 AM - 11:00 AM

    2, 4: AIsWork := (ATimeOnly >= EncodeTime(7, 59, 59, 0)) and (ATimeOnly <= EncodeTime(10, 59, 59, 0));

    // Tuesday and Thursday: 11:00 AM - 6:00 PM

    3, 5: AIsWork := (ATimeOnly >= EncodeTime(10, 59, 59, 0)) and (ATimeOnly <= EncodeTime(17, 59, 59, 0))

  // other days are free

  else

    AIsWork := False;

  end;

end;

The following image shows the result:


How to determine the time block under the mouse pointer

See Also

The HitAtTime and Time properties of a time view’s hit test object provide all the necessary functionality for the solution.  HitAtTime determines whether the mouse pointer is currently located within a time block’s boundaries.  Time returns the time corresponding to the tested time block.

A TcxHintStyleController component is used in the example to display real-time hit test results in the hint window at the mouse pointer location.

The scheduler’s hit testing logic calculates a coordinate point (see the hit test object’s HitPoint property) relative to the control's top-left corner.  To display a hint at the specified position, the TcxHintStyleController component requires screen coordinates (see the component’s ShowHint method).  To supply this information, a GetMouseCursorPos routine from the cxControls unit is used in the example.

// Delphi

// ...

uses

  cxControls, cxHint;

// ...

procedure TForm1.cxScheduler1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

var

  AHitTest: TcxSchedulerDayViewHitTest;

  AHintPoint: TPoint;

begin

  with TcxScheduler(Sender) do

  begin

    AHitTest := ViewDay.HitTest;

    if AHitTest.HitAtTime then

    begin

      // obtain the mouse pointer position in screen coordinates

      AHintPoint := GetMouseCursorPos;

      cxHintStyleController1.ShowHint(AHintPoint.X, AHintPoint.Y + 25, 'Current time block:', DateTimeToStr(AHitTest.Time));

    end

    else

      cxHintStyleController1.HideHint;

  end;

end;

// hide the hint if the mouse pointer is out of the scheduler boundaries

procedure TForm1.cxScheduler1MouseLeave(Sender: TObject);

begin

  cxHintStyleController1.HideHint;

end;

The following image shows the result:


How to determine the time interval selected by an end-user

See Also

To implement this task, handle a scheduler's OnSelectionChanged event.  The event fires every time an end-user selects a time block in the scheduling area.

Within the event handler, use the scheduler's SelFinish and SelStart properties to determine the selected interval’s bounds.

In the example, the currently selected interval is displayed in the TMemo edit control embedded into the scheduler's control box.

// Delphi

// ...

procedure TForm1.cxScheduler1SelectionChanged(Sender: TObject);

var

  ASelStart, ASelFinish: TDateTime;

begin

  ASelStart := cxScheduler1.SelStart;

  ASelFinish := cxScheduler1.SelFinish;

  with Memo1.Lines do

  begin

    if Capacity > 0 then

      Clear;

    Add('Selected time interval:');

    Add(#13);

    Add(DateTimeToStr(ASelStart));

    Add(DateTimeToStr(ASelFinish));

  end;

end;

The following image shows the result:


How to display the number of events for a particular day within month view cells

See Also

This topic shows you how to calculate the total number of user events for a given date, and display the result in a month day cell.

A straightforward way to implement this task is to handle a scheduler’s OnCustomDrawContent event, allowing manual painting of day cells in a month view.

An event’s ViewInfo parameter provides a date range for querying qualified user events that will then be counted, and in addition, it contains information that is necessary for rendering month view elements.

A day’s boundaries are determined by the ViewInfo.TimeStart and ViewInfo.TimeFinish properties.  To count user events for a given date, create a TcxSchedulerFilteredEventList collection and populate it with user events matching the specified period.  To do this, use storage’s GetEvents method, which takes an empty collection and date bounds as parameters.

In the example, a TcxSchedulerMonthDayContentCellViewInfoAccess class is derived from the TcxSchedulerMonthDayContentCellViewInfo class.  This is required to get access to the FTextRect protected property.

// Delphi

// ...

type

  TcxSchedulerMonthDayContentCellViewInfoAccess = class(TcxSchedulerMonthDayContentCellViewInfo);

// ...

procedure TForm1.cxScheduler1CustomDrawContent(Sender: TObject;

  ACanvas: TcxCanvas; AViewInfo: TcxSchedulerContentCellViewInfo;

  var ADone: Boolean);

var

  AList: TcxSchedulerFilteredEventList;

  ACount, I: Integer;

begin

  if not cxScheduler1.ViewWeeks.Active then

    Exit;

  AViewInfo.Draw(ACanvas);

  AList := TcxSchedulerFilteredEventList.Create;

  try

    cxSchedulerStorage1.GetEvents(AList, AViewInfo.TimeStart,

      AViewInfo.TimeFinish);

    ACount := 0;

    for I := 0 to AList.Count - 1 do

      if AList[I].IsDayEvent(AViewInfo.TimeStart) then

        Inc(ACount);

  finally

    AList.Free;

  end;

  ACanvas.Brush.Style := bsClear;

  if TcxSchedulerMonthDayContentCellViewInfo(AViewInfo).Selected then

    ACanvas.Font.Color := TcxSchedulerMonthDayContentCellViewInfo(AViewInfo).SelectionTextColor

  else

    ACanvas.Font.Color := AViewInfo.TextColor;

  with TcxSchedulerMonthDayContentCellViewInfoAccess(AViewInfo) do

    ACanvas.DrawText('(' + IntToStr(ACount) + ')', Rect(Bounds.Left + 2, FTextRect.Top, FTextRect.Right, FTextRect.Bottom), cxAlignLeft or cxAlignVCenter);

  ACanvas.Brush.Style := bsSolid;

  ADone := True;

end;

// C++ Builder

// ...

void __fastcall TUnboundDemoMainForm::SchedulerCustomDrawContent(

      TObject *Sender, TcxCanvas *ACanvas,

      TcxSchedulerContentCellViewInfo *AViewInfo, bool &ADone)

{

  if (!cxScheduler1->ViewWeeks->Active) return;

  AViewInfo->Draw(ACanvas);

  TcxSchedulerFilteredEventList *AList = new TcxSchedulerFilteredEventList();

  int ACount = 0;

  try {

    cxSchedulerStorage1->GetEvents(AList, AViewInfo->TimeStart, AViewInfo->TimeFinish);

    for (int i = 0; i < AList->Count; i++) {

      if (AList->Items[i]->IsDayEvent(AViewInfo->TimeStart)) ACount++;

    }

  }

  __finally {

    delete AList;

  }

  ACanvas->Brush->Style = bsClear;

  TcxSchedulerMonthDayContentCellViewInfo* AMDViewInfo = (TcxSchedulerMonthDayContentCellViewInfo*) AViewInfo;

  if (AMDViewInfo->Selected)

    ACanvas->Font->Color = AMDViewInfo->SelectionTextColor;

  else

    ACanvas->Font->Color = AMDViewInfo->TextColor;

  ACanvas->DrawTexT("(" + IntToStr(ACount) + ")", Rect(AMDViewInfo->Bounds.Left + 3, AMDViewInfo->Bounds.Top + 2, AMDViewInfo->Bounds.Right, AMDViewInfo->Bounds.Bottom), cxAlignLeft || cxAlignVCenter);

  ACanvas->Brush->Style = bsSolid;

  ADone = true;

}

The following image shows the code execution result:


How to draw a custom glyph within an event

See Also

The scheduler provides a specially designed OnInitEventImages event that allows you to add custom images to user events.

Assume that an icon, which indicates that the scheduled user event is a meeting, is to be used.  Then, to allow an end-user to turn a user event into a meeting, a custom editing control can be added to the Event dialog (for instance, a check box).  The corresponding custom field must be added to the storage (in the example below it has been named Meeting) to store the check box value.  For details on how to create custom fields and customize Event dialog refer to the Customizing Event and Event recurrence dialogs help topic.

The code below shows how you can provide custom icons to events depending on event data.

// Delphi

// ...

procedure TForm1.cxScheduler1InitEventImages(Sender: TcxCustomScheduler; AEvent: TcxSchedulerControlEvent; AImages: TcxSchedulerEventImages);

var

  AMeetingIcon: Integer;

  AIsMeeting: Variant;

begin

  // for a global scope the image index might be initialized at a higher application level

  AMeetingIcon := 0;

  AIsMeeting := AEvent.GetCustomFieldValueByName('Meeting');

  if not VarIsNull(AIsMeeting) then

    if AIsMeeting then AImages.Add(AMeetingIcon);

end;

// C++ Builder

// ...

void __fastcall TForm1::cxScheduler1InitEventImages(

      TcxCustomScheduler *Sender, TcxSchedulerControlEvent *AEvent,

      TcxSchedulerEventImages *AImages)

{

  int AMeetingIcon = 0;

  Variant AIsMeeting = AEvent->GetCustomFieldValueByName("Meeting");

  if (!VarIsNull(AIsMeeting))

   if (AIsMeeting) AImages->Add(AMeetingIcon);

}

The following image shows the result of the code execution:


How to enable drag-and-drop operations between a data grid and a scheduler

See Also

The example shows how to provide a drag-and-drop functionality that will enable end-users to move a user event from a TDBGrid control to a scheduler.

Since this task requires a selected row to be identified with a mouse click, a data grid's DragMode property must be set to dmManual and a grid’s OnMouseDown and OnMouseMove events must be handled to initiate a drag operation.

This example assumes that a data store (which is linked to a data grid) persists data in a format required by the scheduler’s storage (to learn more about the scheduler’s data structure, refer to the Bound Mode help topic).  In the example, the store has been named EventsTable.

To copy data from a data grid to a scheduler in response to a drop action, handle a scheduler’s OnDragOver and OnDragDrop events.  For demonstration purposes, a limited set of user event attributes (Caption, Duration and LabelColor) are transferred.  In a real project, consider the implementation of a value object, which contains all the transient information.

// Delphi

// ...

type

  OldPoint: TPoint;

// ...

procedure TDemoBasicMainForm.DBGridMouseDown(Sender: TObject;

  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

var

  ARowIndex: Integer;

begin

  ARowIndex := 0;

  EventsTable.Bookmark := DBGrid.SelectedRows[ARowIndex];

  OldPoint := Point(X, Y);

end;

procedure TDemoBasicMainForm.DBGridMouseMove(Sender: TObject;

  Shift: TShiftState; X, Y: Integer);

begin

  if (ssLeft in Shift) and ((Abs(OldPoint.X - X) > 2) or (Abs(OldPoint.Y - Y) > 2)) then

    TDBGrid(Sender).BeginDrag(True);

end;

procedure TDemoBasicMainForm.SchedulerDragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean);

begin

  Accept := Source = DBGrid;

end;

procedure TDemoBasicMainForm.SchedulerDragDrop(Sender, Source: TObject; X, Y: Integer);

var

  AStartDateTime, ADuration: TDateTime;

begin

  AStartDateTime := 0;

  with TcxScheduler(Sender) do

  begin

    if ActiveHitTest.HitAtTime then

      AStartDateTime := ActiveHitTest.Time;

  end;

  if AStartDateTime <> 0 then

  begin

    ADuration := EventsTable['Finish'] - EventsTable['Start'];

    EventsTable.Edit;

    EventsTable['Start'] := AStartDateTime;

    EventsTable['Finish'] := AStartDateTime + ADuration;

    EventsTable.Post;

  end;

end;

The following image shows the result:


How to prevent more than one event from being dragged at a time

See Also

A scheduler’s OnBeforeDragEvent event makes it easy to implement this feature.

Within the event handler, use the scheduler’s SelectedEventCount property to determine whether two or more user events are about to be dragged, and if a multiple selection has been performed, set the Allow parameter to False to prevent user events from being dragged simultaneously.

The following example demonstrates how to do this:

// Delphi

// ...

procedure TForm1.cxScheduler1BeforeDragEvent(Sender: TcxCustomScheduler;

  AEvent: TcxSchedulerControlEvent; X, Y: Integer; var Allow: Boolean);

begin

  Allow := Sender.SelectedEventCount = 1;

end;


How to programmatically add an empty event and invoke the event editor for it

See Also

In order to create an empty user event in code, use the TcxSchedulerControlEvent’s overloaded constructor that takes a scheduler’s storage instance as an argument.  Using this overload allows you to bind a user event created programmatically to storage.

After the new user event has been created, use the scheduler’s EditEventUsingDialog method to invoke the Event editor, so an end-user can complete scheduling for it.

// Delphi

// ...

var

  AEvent: TcxSchedulerControlEvent;

begin

  AEvent := TcxSchedulerControlEvent.Create(cxSchedulerStorage1);

  try

    AEvent.Caption := 'Created in code';

    // invoke the Event editor for the created event

    cxScheduler1.EditEventUsingDialog(AEvent);

  finally

    FreeAndNil(AEvent);

  end;

end;

The following image shows the result:


How to Bind Multiple Scheduler Storages to a Scheduler at Design-Time

See Also

The following example demonstrates how to bind the TcxSchedulerDBStorage and TcxSchedulerStorage to the scheduler, using the TcxSchedulerAggregateStorage component, at design-time.

Follow the steps below:

1)	Drop the TcxScheduler [image] control, the TcxSchedulerDBStorage [image], TcxSchedulerStorage [image], and TcxSchedulerAggregateStorage [image] components onto a form from the Component Palette’s Dev Express page.

2)	Configure the TcxSchedulerDBStorage and TcxSchedulerStorage components. To learn how to prepare scheduler storages for use in a scheduling application, refer to the Bound Mode and Unbound Mode help topics.

3)	Select the TcxSchedulerAggregateStorage component. In the Object Inspector, click the ellipsis button next to the TcxSchedulerAggregateStorage.Links property to open the collection editor.

4)	Using the collection editor, create two links (TcxSchedulerStorageLink instances) and bind the TcxSchedulerDBStorage and TcxSchedulerStorage to each link using the TcxSchedulerStorageLink.Storage property. Specify which scheduler storage will be the common storage in the application (this is the storage to which the scheduler will submit the data by default). To do this, set the TcxSchedulerStorageLink.Default property to True.

5)	Select the TcxScheduler control. In the Object Inspector, bind the TcxSchedulerAggregateStorage to the scheduler using the scheduler’s Storage property.

6)	Handle the TcxSchedulerAggregateStorage.OnEventInserting event to provide a data flow control for scheduler storages, as shown in the following example:

// Delphi

// ...

procedure TForm1.AggregateStorageEventInserting(

  Sender: TcxSchedulerAggregateStorage; AEvent: TcxSchedulerEvent;

  var AStorage: TcxCustomSchedulerStorage);

begin

  // submit all-day events to unbound storage (this storage is not default)

  if AEvent.AllDayEvent then

    AStorage := SchedulerStorage;

end;


How to Bind Multiple Scheduler Storages to a Scheduler in Code

See Also

The following example demonstrates how to bind the TcxSchedulerDBStorage and TcxSchedulerStorage to the scheduler using the TcxSchedulerAggregateStorage component programmatically:

// Delphi

// ...

begin

  // specify that the bound storage is the default storage in the application

  SchedulerAggregateStorage.Links.DefaultLink := SchedulerAggregateStorage.Links.AddStorageLink(SchedulerDBStorage);

  SchedulerAggregateStorage.Links.AddStorageLink(SchedulerStorage);

end;

It is assumed that the TcxSchedulerDBStorage and TcxSchedulerStorage are already configured at design-time. To learn how to configure these storages at design-time, refer to the Bound Mode and Unbound Mode help topics.


How to Create Tasks in Gantt View in Code

See Also

The ExpressScheduler provides the following API that allows you to build a task plan in Gantt View programmatically:

•	TcxSchedulerEvent.TaskComplete – specifies the task completion percentage.

•	TcxSchedulerEvent.TaskIndex – specifies the current task’s vertical position relative to other tasks.

•	TcxSchedulerEvent.TaskStatus – specifies the task status.

•	TcxSchedulerEvent.TaskLinks – represents task links that belong to the current task.

•	TcxSchedulerEventLinks.Add – adds a new connector.

•	TcxSchedulerEventItemLink.Relation – specifies the connector type.

•	TcxSchedulerGanttView.EventsStyle – specifies whether completion percentage is to be displayed in tasks.

•	TcxSchedulerGanttView.ShowTotalProgressLine – specifies whether a progress line is to be displayed in Gantt View.

•	TcxSchedulerGanttView.ShowExpandButtons – specifies whether task expand buttons are to be displayed in Gantt View.

The following example demonstrates how to create tasks in Gantt View using this API:

// Delphi

// ...

var

  I: Integer;

  APreEvent, AEvent: TcxSchedulerEvent;

begin

  APreEvent := nil;

  for I := 1 to 10 do

  begin

    AEvent := Scheduler.Storage.createEvent;

    with AEvent do

    begin

      Caption := IntToStr(I);

      Start := Trunc(Date * 24) / 24;

      Duration := 1 / 24 + Trunc(RandomRange(1, 5)) / 24;

      TaskComplete := RandomRange(0, 100);

      Post;

      TaskLinks.Add(APreEvent, TcxSchedulerEventRelation(RandomRange(0, 3)));

    end;

    APreEvent := AEvent;

  end;

end;

The following image shows the result of the code execution:

The following image shows the task completion percentage (if the scheduler’s ViewGantt.EventsStyle property is esProgress):


How to Add Holidays to a Scheduler at Design-Time

See Also

The following example demonstrates how to add holidays to the scheduler using the TcxSchedulerHolidays component at design-time.

Follow the steps below:

1)	Drop the TcxSchedulerHolidays [image] component onto a form from the Component Palette’s Dev Express page.

2)	Double-click the TcxSchedulerHolidays component to open the Holidays editor dialog.

3)	Using the Holidays editor dialog, create holiday locations and holidays associated with these locations, or import predefined holidays from a file, which supports the Microsoft Outlook's HOL format.

4)	In the Holidays editor dialog, click check boxes against locations and holidays (that you want to schedule) to make them available to the scheduler.

5)	Using the Object Inspector, bind the TcxSchedulerHolidays component to the scheduler via the scheduler’s Storage.Holidays property.

6)	To enable holiday highlighting in the Date Navigator, set the scheduler’s DateNavigator.ShowDatesContainingHolidaysInColor property to True, and specify the color used to paint these dates using the scheduler’s DateNavigator.HolidayColor property (if necessary).

7)	And lastly, user events that represent these holidays must be scheduled at runtime. To do this, invoke the scheduler storage’s GenerateHolidayEvents method in code, as shown in the following example:

// Delphi

// ...

  // to associate user events with a specific resource, pass the resource identifier to the method as an argument

  Scheduler.Storage.GenerateHolidayEvents(Null);

To invoke the Holidays editor dialog in code, use the cxShowHolidaysEditor routine.


How to Bind a Scheduler to an ExpressQuantumGrid Using the TcxSchedulerGridConnection

See Also

The following example demonstrates how to bind the ExpressQuantumGrid to the scheduler using the TcxSchedulerGridConnection component at design-time, so that the grid control can be used in a scheduling application, similar to the Tasks pane in Microsoft® Outlook.

To bind the TcxGrid control to the scheduler via the TcxSchedulerGridConnection component, perform the following operations:

1)	Drop the TcxGrid [image] and TcxScheduler [image] controls, the TcxSchedulerDBStorage [image]  (or TcxSchedulerStorage [image]) and TcxSchedulerGridConnection [image] components onto a form from the Component Palette’s Dev Express page.

2)	Configure and bind the TcxSchedulerDBStorage (TcxSchedulerStorage) component to the scheduler. To learn how to connect the scheduler storage to the scheduler, refer to the Bound Mode (Unbound Mode) help topic.

3)	By default, the TcxGridDBTableView is available in the grid control. Since the TcxSchedulerGridConnection component uses the TcxGridTableView, delete the TcxGridDBTableView and then create the TcxGridTableView. To do this, right-click the TcxGridDBTableView link in the grid’s Structure Navigator to open the pop-up menu. Click Delete View on the pop-up menu. Then, right-click the TcxGridLevel link, and on the displayed pop-up menu click Create View / Table.

4)	Select the TcxSchedulerGridConnection component. Using the Object Inspector, bind the scheduler storage component and the grid’s View to the TcxSchedulerGridConnection component via the TcxSchedulerGridConnection.Storage and TcxSchedulerGridConnection.GridView properties, respectively.

5)	To make the connection between the scheduler and the grid active, set the TcxSchedulerGridConnection.Active property to True. After the connection has been established, the grid automatically creates columns that correspond to the scheduler storage’s fields and populates them with the scheduler’s data.

6)	If you need to delete unnecessary columns from the grid’s View, use the grid’s Component Editor. To invoke this dialog, click the Customize… button in the grid’s Structure Navigator.

Run the application to see the result.


cxSchedulerHolidays Unit Overview
cxSchedulerHolidays Unit

Classes

TcxSchedulerHolidays

TcxSchedulerHolidaysLocation

TcxSchedulerHolidaysLocationHoliday

TcxSchedulerHolidaysLocations

Interfaces

IcxSchedulerHolidaysListener


TcxSchedulerHolidays
 TcxSchedulerHolidays Object

Hierarchy          Properties          Methods          Events          See Also

A component that stores holidays to be used in the bound scheduler.

Unit

cxSchedulerHolidays

TcxSchedulerHolidays = class(TComponent)

Description

The TcxSchedulerHolidays component provides the following capabilities:

•	Storage management. Using the component, you can do the following:

•	Dynamically change holidays that are to be persisted in the component storage.

•	Perform read operations on holidays. Any individual holiday can be obtained from the component, or a set of holidays can be retrieved from it into the specified cache.

•	Export and import operations – holidays can be transferred to or from external data sources. The component also provides events that allow you to manually control the bi-directional data flow between the component and an external data source.

Use the scheduler’s Storage.Holidays property to bind the TcxSchedulerHolidays component instance to the scheduler storage.


TcxSchedulerHolidays Hierarchy
Hierarchy

TComponent

     |

TcxSchedulerHolidays


Properties for TcxSchedulerHolidays
TcxSchedulerHolidays Properties

TcxSchedulerHolidays          Legend

In TcxSchedulerHolidays

Count

Items

Locations


Methods for TcxSchedulerHolidays
TcxSchedulerHolidays Methods

TcxSchedulerHolidays          Legend

In TcxSchedulerHolidays

 AddHoliday

 AddListener

 AddLocation

 BeginUpdate

 Clear

 EndUpdate

 GetHolidayNamesByDate

 LoadFromFile

 LoadFromStream

 PopulateHolidayDates

 RemoveListener

 SaveToFile

 SaveToStream


Events for TcxSchedulerHolidays
TcxSchedulerHolidays Events

TcxSchedulerHolidays          Legend

In TcxSchedulerHolidays

 OnExportHoliday

 OnImportHoliday

 OnImportUnknownDate


TcxSchedulerHolidays.Count

TcxSchedulerHolidays

Returns the number of holidays that are stored in the TcxSchedulerHolidays component.

property Count: Integer;

Description

The Count property returns the total number of holidays of all the locations represented by the Locations collection.

ReadOnly Property


TcxSchedulerHolidays.Items

TcxSchedulerHolidays

Provides indexed access to the holidays in the TcxSchedulerHolidays component.

property Items[AIndex:Integer]: TcxSchedulerHolidaysLocationHoliday;

Description

Use the Items property to obtain the holiday at the position specified by the zero-based Index parameter.

ReadOnly Property


TcxSchedulerHolidays.Locations

TcxSchedulerHolidays

Specifies a collection of holiday locations.

property Locations: TcxSchedulerHolidaysLocations;


TcxSchedulerHolidays.AddHoliday

TcxSchedulerHolidays          See Also

Adds a holiday to the TcxSchedulerHolidays component.

function AddHoliday(const ALocationName, AHolidayName: string; const ADate: TDateTime): TcxSchedulerHolidaysLocationHoliday;

Description

ALocationName specifies the name of a location whose holiday is to be added to the component.

AHolidayName specifies the holiday name.

ADate specifies the holiday date.

The AddHoliday method returns a reference to the instance of the newly created holiday.


TcxSchedulerHolidays.AddListener

TcxSchedulerHolidays          See Also

Registers an object that is to be notified when the TcxSchedulerHolidays component changes.

procedure AddListener(AListener: IcxSchedulerHolidaysListener);


TcxSchedulerHolidays.AddLocation

TcxSchedulerHolidays          See Also

Adds a holiday location to the TcxSchedulerHolidays component.

function AddLocation(const AName: string): TcxSchedulerHolidaysLocation; virtual;

Description

AName specifies the name of the location, which is to be added to the component.

The AddLocation method returns a reference to the instance of the newly created location.


TcxSchedulerHolidays.BeginUpdate

TcxSchedulerHolidays

Prevents the scheduler’s View from flickering during batch updates.

procedure BeginUpdate;

Description

This method prohibits view updates, so that you can apply several consecutive changes without causing multiple view refreshes. You should use BeginUpdate, in combination with EndUpdate (enabling causes the view to update itself and enables further repaint operations). Use try…  finally blocks following the BeginUpdate method call, to ensure that the View repaint will be enabled in all cases.


TcxSchedulerHolidays.Clear

TcxSchedulerHolidays

Removes all holidays from the component.

procedure Clear; virtual;


TcxSchedulerHolidays.EndUpdate

TcxSchedulerHolidays

Updates the view and enables further repaint operations.

procedure EndUpdate;

Description

This method is used in combination with the BeginUpdate method (that prevents the View from being updated).


TcxSchedulerHolidays.GetHolidayNamesByDate

TcxSchedulerHolidays          See Also

Constructs a string with names of holidays whose dates match the specified date.

function GetHolidayNamesByDate(const ADate: TDate; var ANames: string; AOnlyVisible: Boolean = True): Boolean; virtual;

Description

A holiday name to be written to ANames combines two names – the holiday name itself (see the TcxSchedulerHolidaysLocationHoliday.Name property) and the concatenated holiday location name in parentheses (see the TcxSchedulerHolidaysLocation.Name property).

All the holiday duplicates are automatically deleted, if linked storages are connected to the same TcxSchedulerHolidays component.

In ANames, resulted holiday names are delimited by #13#10 sequence.

ADate specifies the date when holidays take place.

AOnlyVisible specifies which holidays are taken into account. Set AOnlyVisible to True,  if you are only interested in holidays which are available to the scheduler (the TcxSchedulerHolidaysLocation.Visible and TcxSchedulerHolidaysLocationHoliday.Visible properties are True). Otherwise, all holidays (stored in the TcxSchedulerHolidays component) will be written to ANames.

The GetHolidayNamesByDate method returns True, if the match was successful.


TcxSchedulerHolidays.LoadFromFile

TcxSchedulerHolidays          See Also

Reads holidays from the specified file into the TcxSchedulerHolidays component.

procedure LoadFromFile(const AFileName: string); virtual;

Description

By default, imported holidays are not available to the scheduler. To change this, set the TcxSchedulerHolidaysLocation.Visible and TcxSchedulerHolidaysLocationHoliday.Visible properties to True.

AFileName specifies the source file (the supported format is similar to the format specified for Microsoft Outlook.HOL).


TcxSchedulerHolidays.LoadFromStream

TcxSchedulerHolidays          See Also

Reads holidays from the specified stream into the TcxSchedulerHolidays component.

procedure LoadFromStream(AStream: TStream); virtual;

Description

By default, imported holidays are not available to the scheduler. To change this, set the TcxSchedulerHolidaysLocation.Visible and TcxSchedulerHolidaysLocationHoliday.Visible properties to True.

AStream specifies the source stream (the supported format is similar to the format specified for Microsoft Outlook.HOL).


TcxSchedulerHolidays.PopulateHolidayDates

TcxSchedulerHolidays          See Also

Populates a list with holidays available within the specified time period.

procedure PopulateHolidayDates(AList: TcxSchedulerDateList; const AStart, AFinish: TDate; AOnlyVisible: Boolean = True; AClearList: Boolean = True); virtual;

Description

AStart and AFinish specify the time frame.

AOnlyVisible specifies which holidays are to be written to AList. Set AOnlyVisible to True, to populate AList with only holidays that are available to the scheduler (the TcxSchedulerHolidaysLocation.Visible and TcxSchedulerHolidaysLocationHoliday.Visible properties are True). Otherwise, all holidays stored in the TcxSchedulerHolidays component will be added to the list.

AClearList specifies whether AList is to be cleared prior to writing new items.

All the holiday reference duplicates are automatically deleted, if linked storages are connected to the same TcxSchedulerHolidays component.


TcxSchedulerHolidays.RemoveListener

TcxSchedulerHolidays          See Also

Deletes a listener from the collection of listeners registered using the AddListener method.

procedure RemoveListener(AListener: IcxSchedulerHolidaysListener);


TcxSchedulerHolidays.SaveToFile

TcxSchedulerHolidays          See Also

Writes holidays from the TcxSchedulerHolidays component to the specified file.

procedure SaveToFile(const AFileName: string); virtual;

Description

AFileName specifies the target file (the supported format is similar to the format specified for Microsoft Outlook.HOL).


TcxSchedulerHolidays.SaveToStream

TcxSchedulerHolidays          See Also

Writes holidays from the TcxSchedulerHolidays component to the specified stream.

procedure SaveToStream(var AStream: TStream); virtual;

Description

AStream specifies the target stream (the supported format is similar to the format specified for Microsoft Outlook.HOL).


TcxSchedulerHolidays.OnExportHoliday

TcxSchedulerHolidays          See Also

Fires when a holiday is about to be sent to the stream.

type

  TcxSchedulerHolidaysImportExportHolidayEvent = procedure(ASender: TcxSchedulerHolidays; AHoliday: TcxSchedulerHolidaysLocationHoliday; var Accept: Boolean) of object;

property OnExportHoliday: TcxSchedulerHolidaysImportExportHolidayEvent;

Description

Implement the OnExportHoliday event handler to manage holiday export.

ASender references the TcxSchedulerHolidays instance.

AHoliday specifies the holiday date to be exported (the supported format is similar to the format specified for Microsoft Outlook.HOL).

Accept specifies whether the holiday date can be sent to the stream. Set Accept to True, to allow the current export operation.


TcxSchedulerHolidays.OnImportHoliday

TcxSchedulerHolidays          See Also

Fires when a holiday is about to be written from the stream into the TcxSchedulerHolidays component.

type

  TcxSchedulerHolidaysImportExportHolidayEvent = procedure(ASender: TcxSchedulerHolidays; AHoliday: TcxSchedulerHolidaysLocationHoliday; var Accept: Boolean) of object;

property OnImportHoliday: TcxSchedulerHolidaysImportExportHolidayEvent;

Description

Implement the OnImportHoliday event handler to manage holiday import.

ASender references the TcxSchedulerHolidays instance.

AHoliday specifies the holiday date to be added to the component (the supported format is similar to the format specified for Microsoft Outlook.HOL).

Accept specifies whether the holiday date can be added to the component. Set Accept to True, to allow the current import operation.


TcxSchedulerHolidays.OnImportUnknownDate

TcxSchedulerHolidays          See Also

Fires when a date of an unknown format is about to be written from the stream into the TcxSchedulerHolidays component.

type

  TcxSchedulerHolidaysImportUnknownDateEvent = procedure(ASender: TcxSchedulerHolidays; var AYear, AMonth, ADay: Word; const ATypeCalendar: Word; var Accept: Boolean) of object;

property OnImportUnknownDate: TcxSchedulerHolidaysImportUnknownDateEvent;

Description

Implement the OnImportUnknownDate event handler to manage the import of dates in unknown format.

ASender references the TcxSchedulerHolidays instance.

AHoliday specifies the holiday date to be added to the component (the supported format is similar to the format specified for Microsoft Outlook.HOL).

AYear, AMonth, and ADay specify the Gregorian calendar’s format compliant year, month and day.

ATypeCalendar specifies the calendar’s type.

Accept specifies whether the holiday date can be added to the component. Set Accept to True, to allow the current import operation.


TcxSchedulerHolidaysLocation
TcxSchedulerHolidaysLocation Object

Hierarchy          Properties          Methods

The TcxSchedulerHolidaysLocation represents a holiday location (generally, a country).

Unit

cxSchedulerHolidays

TcxSchedulerHolidaysLocation = class(TCollectionItem)

Description

The TcxSchedulerHolidaysLocation object is referenced by the TcxSchedulerHolidaysLocations.Items property.


TcxSchedulerHolidaysLocation Hierarchy
Hierarchy

TCollectionItem

     |

TcxSchedulerHolidaysLocation


Properties for TcxSchedulerHolidaysLocation
TcxSchedulerHolidaysLocation Properties

TcxSchedulerHolidaysLocation          Legend

In TcxSchedulerHolidaysLocation

Count

Holidays

Locations

Name

Visible


Methods for TcxSchedulerHolidaysLocation
TcxSchedulerHolidaysLocation Methods

TcxSchedulerHolidaysLocation          Legend

In TcxSchedulerHolidaysLocation

 AddHoliday

 Clear

 Delete

 Find

 PopulateHolidayDates

 Sort


TcxSchedulerHolidaysLocation.Count

TcxSchedulerHolidaysLocation

Returns the number of holidays for this location.

property Count: Integer;

Description

The Count property returns the number of all holidays that belong to the current location. The return value doesn't depend on whether a holiday is currently available to the scheduler (a holiday is available to the scheduler, if the TcxSchedulerHolidaysLocation.Visible and TcxSchedulerHolidaysLocationHoliday.Visible properties are True).

ReadOnly Property


TcxSchedulerHolidaysLocation.Holidays

TcxSchedulerHolidaysLocation          See Also

Provides indexed access to holidays registered for this location.

property Holidays[AIndex:Integer]: TcxSchedulerHolidaysLocationHoliday;

Description

Use the Items property to specify or obtain the holiday at the position specified by the zero-based Index parameter.


TcxSchedulerHolidaysLocation.Locations

TcxSchedulerHolidaysLocation

Returns the location collection that stores this location object.

property Locations: TcxSchedulerHolidaysLocations;

ReadOnly Property


TcxSchedulerHolidaysLocation.Name

TcxSchedulerHolidaysLocation

Specifies the holiday location name.

property Name: string;


TcxSchedulerHolidaysLocation.Visible

TcxSchedulerHolidaysLocation

Specifies whether the holiday location is available to the scheduler.

property Visible: Boolean;

Description

Set the Visible property to True, to make the holiday location available to the scheduler.

Note that the holiday that belongs to this location is only available to the scheduler if the TcxSchedulerHolidaysLocationHoliday.Visible property is True.

The default value of the Visible property is False.


TcxSchedulerHolidaysLocation.AddHoliday

TcxSchedulerHolidaysLocation          See Also

Adds a holiday with the specified name and date to the collection of holidays that belong to the current location.

function AddHoliday(const AName: string; const ADate: TDateTime): TcxSchedulerHolidaysLocationHoliday; virtual;

Description

AName specifies the holiday name.

ADate specifies the holiday date.

The AddHoliday method returns a reference to the newly created holiday.


TcxSchedulerHolidaysLocation.Clear

TcxSchedulerHolidaysLocation          See Also

Deletes all holidays that belong to this location.

procedure Clear;


TcxSchedulerHolidaysLocation.Delete

TcxSchedulerHolidaysLocation          See Also

Removes the holiday specified by its index.

procedure Delete(AIndex: Integer);


TcxSchedulerHolidaysLocation.Find

TcxSchedulerHolidaysLocation          See Also

Searches for a holiday with the specified name and date.

function Find(const AName: string; const ADate: TDateTime): TcxSchedulerHolidaysLocationHoliday; virtual;

Description

The Find method returns a holiday whose attributes match the specified name and date. If the specified holiday is not found, the method returns nil.

AName and ADate specify the holiday's name and date, respectively.


TcxSchedulerHolidaysLocation.PopulateHolidayDates

TcxSchedulerHolidaysLocation          See Also

Populates a list with holiday dates corresponding to a certain holiday name.

function PopulateHolidayDates(const AName: string; var AList: TcxSchedulerDateList): Boolean;

Description

AName specifies the holiday name whose corresponding dates are to be written to AList.


TcxSchedulerHolidaysLocation.Sort

TcxSchedulerHolidaysLocation          See Also

Sorts holidays by either name or date.

procedure Sort(ASortOrder: TcxDataSortOrder; ASortByDate: Boolean);

Description

ASortOrder specifies the sort order.

ASortByDate specifies whether holidays are sorted by their name or by date. Set ASortByDate to False to sort holidays by name.


TcxSchedulerHolidaysLocationHoliday
TcxSchedulerHolidaysLocationHoliday Object

Hierarchy          Properties

The TcxSchedulerHolidaysLocationHoliday represents a holiday.

Unit

cxSchedulerHolidays

TcxSchedulerHolidaysLocationHoliday = class(TCollectionItem)

Description

The TcxSchedulerHolidaysLocationHoliday object is referenced by the TcxSchedulerHolidaysLocation.Holidays property.


TcxSchedulerHolidaysLocationHoliday Hierarchy
Hierarchy

TCollectionItem

     |

TcxSchedulerHolidaysLocationHoliday


Properties for TcxSchedulerHolidaysLocationHoliday
TcxSchedulerHolidaysLocationHoliday Properties

TcxSchedulerHolidaysLocationHoliday          Legend

In TcxSchedulerHolidaysLocationHoliday

Date

DisplayText

IsVisible

Location

Name

Visible


TcxSchedulerHolidaysLocationHoliday.Date

TcxSchedulerHolidaysLocationHoliday

Specifies the holiday date.

property Date: TDateTime;


TcxSchedulerHolidaysLocationHoliday.DisplayText

TcxSchedulerHolidaysLocationHoliday

Returns the holiday’s display name.

property DisplayText: string;

Description

The holiday’s display name is the concatenation of the holiday name (see the Name property) and the holiday location name in parentheses (see the TcxSchedulerHolidaysLocation.Name property).

ReadOnly Property


TcxSchedulerHolidaysLocationHoliday.IsVisible

TcxSchedulerHolidaysLocationHoliday

Returns whether the holiday is available to the scheduler.

property IsVisible: Boolean;

Description

If the holiday location and the holiday are available to the scheduler (the TcxSchedulerHolidaysLocation.Visible and TcxSchedulerHolidaysLocationHoliday.Visible properties are True), the IsVisible property returns True.

ReadOnly Property


TcxSchedulerHolidaysLocationHoliday.Location

TcxSchedulerHolidaysLocationHoliday

References a location to which the holiday belongs.

property Location: TcxSchedulerHolidaysLocation;

ReadOnly Property


TcxSchedulerHolidaysLocationHoliday.Name

TcxSchedulerHolidaysLocationHoliday

Specifies the holiday name.

property Name: string;


TcxSchedulerHolidaysLocationHoliday.Visible

TcxSchedulerHolidaysLocationHoliday          See Also

Specifies whether the holiday is available to the scheduler.

property Visible: Boolean;

Description

The holiday is available to the scheduler if the TcxSchedulerHolidaysLocation.Visible and Visible property are True.

The default value of the Visible property is True.


TcxSchedulerHolidaysLocations
TcxSchedulerHolidaysLocations Object

Hierarchy          Properties          Methods

The TcxSchedulerHolidaysLocations represents a collection of holiday locations that are stored in a TcxSchedulerHolidays component.

Unit

cxSchedulerHolidays

TcxSchedulerHolidaysLocations = class(TCollection)

Description

The TcxSchedulerHolidaysLocations object is referenced by the TcxSchedulerHolidays.Locations property.


TcxSchedulerHolidaysLocations Hierarchy
Hierarchy

TCollection

     |

TcxSchedulerHolidaysLocations


Properties for TcxSchedulerHolidaysLocations
TcxSchedulerHolidaysLocations Properties

TcxSchedulerHolidaysLocations          Legend

In TcxSchedulerHolidaysLocations

Items

OwnerHolidays


Methods for TcxSchedulerHolidaysLocations
TcxSchedulerHolidaysLocations Methods

TcxSchedulerHolidaysLocations          Legend

In TcxSchedulerHolidaysLocations

 Add

 GetLocationByName

 Sort


TcxSchedulerHolidaysLocations.Items

TcxSchedulerHolidaysLocations

Provides indexed access to holiday locations in the collection.

property Items[AIndex:Integer]: TcxSchedulerHolidaysLocation;

Description

Use the Items property to specify or obtain the holiday location at the position specified by the zero-based Index parameter.


TcxSchedulerHolidaysLocations.OwnerHolidays

TcxSchedulerHolidaysLocations

References the TcxSchedulerHolidays component that owns this collection.

property OwnerHolidays: TcxSchedulerHolidays;

ReadOnly Property


TcxSchedulerHolidaysLocations.Add

TcxSchedulerHolidaysLocations

Adds a holiday location to the collection.

function Add(const AName: string): TcxSchedulerHolidaysLocation;

Description

The Add method returns a reference to the instance of the newly created location.

The AName parameter specifies the location name.


TcxSchedulerHolidaysLocations.GetLocationByName

TcxSchedulerHolidaysLocations          See Also

Returns a TcxSchedulerHolidaysLocation object that represents a location with a specified name.

function GetLocationByName(const AName: string): TcxSchedulerHolidaysLocation;

Description

AName specifies the location name to search for. If the specified location is not found, the method returns nil.


TcxSchedulerHolidaysLocations.Sort

TcxSchedulerHolidaysLocations

Sorts holiday locations in the collection.

procedure Sort(ASortOrder: TcxDataSortOrder);

Description

ASortOrder specifies the sort order.


IcxSchedulerHolidaysListener
IcxSchedulerHolidaysListener Interface

Hierarchy          Methods          See Also

Allows scheduler storage to update itself when the TcxSchedulerHolidays changes.

Unit

cxSchedulerHolidays

IcxSchedulerHolidaysListener = interface(IUnknown)

Description

The IcxSchedulerHolidaysListener interface is used to link an interested listener (such as a scheduler storage) to the TcxSchedulerHolidays , in order to be notified of TcxSchedulerHolidays modifications.


IcxSchedulerHolidaysListener Hierarchy
Hierarchy

IUnknown

     |

IcxSchedulerHolidaysListener


Methods for IcxSchedulerHolidaysListener
IcxSchedulerHolidaysListener Methods

IcxSchedulerHolidaysListener          Legend

In IcxSchedulerHolidaysListener

 HolidaysChanged

 HolidaysRemoved


IcxSchedulerHolidaysListener.HolidaysChanged

IcxSchedulerHolidaysListener          See Also

Notifies a registered listener that the TcxSchedulerHolidays instance has been changed.

procedure HolidaysChanged(Sender: TObject);

Description

Sender references the TcxSchedulerHolidays instance.


IcxSchedulerHolidaysListener.HolidaysRemoved

IcxSchedulerHolidaysListener          See Also

Notifies a registered listener that the TcxSchedulerHolidays instance has been deleted.

procedure HolidaysRemoved(Sender: TObject);

Description

Sender references the TcxSchedulerHolidays instance.


cxSchedulerAggregateStorage Unit Overview
cxSchedulerAggregateStorage Unit

Classes

TcxSchedulerAggregateStorage

TcxSchedulerAggregateStorageEvent

TcxSchedulerStorageLink

TcxSchedulerStorageLinks


TcxSchedulerAggregateStorage
 TcxSchedulerAggregateStorage Object

Hierarchy          Properties          Methods          Events          See Also

The TcxSchedulerAggregateStorage implements the aggregate storage component.

Unit

cxSchedulerAggregateStorage

TcxSchedulerAggregateStorage = class(TcxCustomSchedulerStorage, IcxSchedulerStorageListener)

Description

The aggregate storage allows a scheduler to simultaneously use the TcxSchedulerDBStorage and TcxSchedulerStorage in the application.

However, storages to be linked to the aggregate storage are not limited by the bound or unbound types. You can also link aggregate storage components to each other. This allows you to build a storage hierarchy of any level.

To control the data flow between the scheduler and storages, handle the OnEventInserting event.

Note that to eliminate reminder alert duplicates, set the Reminders.Active property of bound storages to False, and the aggregate storage’s Reminders.Active property to True.


TcxSchedulerAggregateStorage Hierarchy
Hierarchy

TcxCustomSchedulerStorage

     |

TcxSchedulerAggregateStorage


Properties for TcxSchedulerAggregateStorage
TcxSchedulerAggregateStorage Properties

TcxSchedulerAggregateStorage          Legend

In TcxSchedulerAggregateStorage

Links

Derived from TcxCustomSchedulerStorage

EventCount

Events

FieldCount

Fields

Holidays

InternalUpdate

Reminders

ResourceCount

ResourceIDs

ResourceNames

Resources

StoreUsingGlobalTime

StoringName

Values

UseActualTimeRange


Methods for TcxSchedulerAggregateStorage
TcxSchedulerAggregateStorage Methods

TcxSchedulerAggregateStorage          Legend

In TcxSchedulerAggregateStorage

 Clear

 createEvent

 GetHolidayNamesByDate

 IsActive

 PopulateHolidayDates

Derived from TcxCustomSchedulerStorage

AddListener

BeginUpdate

CalculateEventActualTimeRanges

Clear

CreateEvent

CreateOccurrence

EndUpdate

FindAvailableAllDay

FindAvailableTime

FullRefresh

GenerateHolidayEvents

GetEventByID

GetEvents

GetHolidayNamesByDate

GetReminderEvents

PopulateHolidayDates

PostEvents

RemoveListener


Events for TcxSchedulerAggregateStorage
TcxSchedulerAggregateStorage Events

TcxSchedulerAggregateStorage          Legend

In TcxSchedulerAggregateStorage

 OnEventInserting

Derived from TcxCustomSchedulerStorage

OnEventDeleted

OnEventInserted

OnEventIntersect

OnEventModified

OnFilterEvent


TcxSchedulerAggregateStorage.Links

TcxSchedulerAggregateStorage

References a collection of links that connect storages to the aggregate storage.

property Links: TcxSchedulerStorageLinks;


TcxSchedulerAggregateStorage.Clear

TcxSchedulerAggregateStorage          See Also

Deletes all user events in all linked storages.

procedure Clear; override;


TcxSchedulerAggregateStorage.createEvent

TcxSchedulerAggregateStorage          See Also

Creates a new user event.

function createEvent: TcxSchedulerEvent; override;

Description

The createEvent method returns a reference to the newly created TcxSchedulerEvent instance. After the new user event has been created, synchronize the scheduler and the scheduler storage using the TcxSchedulerEvent.Post or TcxSchedulerAggregateStorage.PostEvents method.


TcxSchedulerAggregateStorage.GetHolidayNamesByDate

TcxSchedulerAggregateStorage

Populates a parameter with names of holidays taking place at a certain date.

function GetHolidayNamesByDate(ADate: TDate; var ANames: string; AOnlyVisible: Boolean = True): Boolean; override;

Description

A holiday name to be written to ANames combines two names – the holiday name itself (see the TcxSchedulerHolidaysLocationHoliday.Name property) and the concatenated holiday location name in parentheses (see the TcxSchedulerHolidaysLocation.Name property).

All the holiday duplicates are automatically deleted, if linked storages are connected to the same TcxSchedulerHolidays component.

In ANames, resulting holiday names are delimited by #13#10 sequence.

ADate specifies the date when a holiday takes place.

AOnlyVisible specifies which holidays are taken into account. Set AOnlyVisible to True, if you are only interested in holidays which are available to the scheduler (the TcxSchedulerHolidaysLocation.Visible and TcxSchedulerHolidaysLocationHoliday.Visible properties are True). Otherwise, all holidays (stored in the TcxSchedulerHolidays component) will be written to ANames.

The GetHolidayNamesByDate method returns True if the match was successful.


TcxSchedulerAggregateStorage.IsActive

TcxSchedulerAggregateStorage

Checks whether the aggregate storage is active.

function IsActive: Boolean; override;

Description

The IsActive method returns True if the following conditions are met:

a)	At least one storage is linked to the aggregate storage (see the Links property) and the linked storage is specified as default (see the TcxSchedulerStorageLink.Default property).

b)	If the linked storage is TcxSchedulerDBStorage, the underlying dataset must be connected to the storage, and open. Alternatively, the TcxSchedulerAggregateStorage.OnEventInserting event must be handled (if the TcxSchedulerDBStorage is not active).


TcxSchedulerAggregateStorage.PopulateHolidayDates

TcxSchedulerAggregateStorage

Populates a list with holidays falling into the specified time period.

procedure PopulateHolidayDates(AList: TcxSchedulerDateList; AStart, AFinish: TDate; AOnlyVisible: Boolean = True; AClearList: Boolean = True); override;

Description

AStart and AFinish specify the time range.

AOnlyVisible specifies which holidays are to be written to AList. Set AOnlyVisible to True, to populate AList with holidays that are available to the scheduler (the TcxSchedulerHolidaysLocation.Visible and TcxSchedulerHolidaysLocationHoliday.Visible properties are True). Otherwise, all the holidays (stored in the TcxSchedulerHolidays component) will be placed in AList.

AClearList specifies whether AList is to be cleared prior to writing new items.

All the holiday reference duplicates are automatically deleted, if linked storages are connected to the same TcxSchedulerHolidays component.


TcxSchedulerAggregateStorage.OnEventInserting

TcxSchedulerAggregateStorage          See Also

Allows you to perform any actions, prior to posting a new event to storage.

type

  TcxSchedulerEventInsertingEvent = procedure(Sender: TcxSchedulerAggregateStorage; AEvent: TcxSchedulerEvent; var AStorage: TcxCustomSchedulerStorage) of object;

property OnEventInserting: TcxSchedulerEventInsertingEvent;

Description

Sender references the aggregate storage.

AEvent references the user event to be posted to AStorage.

AStorage references the storage to which the user event will be posted.

If no special storage is specified via AStorage within the event handler, the synchronization is performed with the following storages:

•	If AEvent is a regular user event, then AEvent will be posted to the linked storage that is specified as default (see the TcxSchedulerStorageLink.Default property).

•	If AEvent is a custom occurrence (the TcxSchedulerEvent.EventType property’s value is etException or etCustom) of the recurring user event (see the TcxSchedulerEvent.IsRecurring and TcxSchedulerEvent.Pattern properties), then it will be posted to the linked storage that stores the parent.


TcxSchedulerAggregateStorageEvent
TcxSchedulerAggregateStorageEvent Object

Hierarchy          Properties          Methods          See Also

The TcxSchedulerAggregateStorageEvent class implements a user event’s clone that belongs to the aggregate storage.

Unit

cxSchedulerAggregateStorage

TcxSchedulerAggregateStorageEvent = class(TcxSchedulerEvent)

Description

The TcxSchedulerAggregateStorageEvent is used as an intermediate object that represents its parent user event persisted in a storage, currently bound to the aggregate storage.

A clone is temporarily stored in the aggregate storage’s in-memory cache.

The TcxSchedulerAggregateStorageEvent object is referenced by the TcxSchedulerControlEvent.Source property.


TcxSchedulerAggregateStorageEvent Hierarchy
Hierarchy

TPersistent

     |

TcxSchedulerEvent

     |

TcxSchedulerAggregateStorageEvent


Properties for TcxSchedulerAggregateStorageEvent
TcxSchedulerAggregateStorageEvent Properties

TcxSchedulerAggregateStorageEvent          Legend

In TcxSchedulerAggregateStorageEvent

SourceEvent

Storage

Derived from TcxSchedulerEvent

ActualFinish

ActualStart

AllDayEvent

Caption

Duration

EditValues

Enabled

EventType

Finish

ID

IsEditing

LabelColor

Location

Message

ParentID

Pattern

ReadOnly

RecordIndex

RecurrenceIndex

RecurrenceInfo

Reminder

ReminderDate

ReminderMinutesBeforeStart

ResourceID

Shared

Start

State

Storage

TaskComplete

TaskIndex

TaskLinkOwners

TaskLinks

TaskStatus

ValueCount

Values


Methods for TcxSchedulerAggregateStorageEvent
TcxSchedulerAggregateStorageEvent Methods

TcxSchedulerAggregateStorageEvent          Legend

Derived from TcxSchedulerEvent

AssignAttributes

BeginEditing

Cancel

CanLink

Conflicts

CreateConflictsInfo

Delete

DeleteExceptions

EndEditing

GetCustomFieldValue

GetCustomFieldValueByIndex

GetCustomFieldValueByName

GetOccurrence

GetOriginalDate

GetRecurrenceChain

GetResourceItem

GetTaskLinkOwnerRelation

GetValidTaskTimeRange

GetValidTaskTimeRangeByRelation

HasExceptions

IsDayEvent

IsRecurring

IsResourceEvent

IsSharedWithResource

MoveTo

Post

RemoveRecurrence

ReplaceResourceID

SetCustomFieldValue

SetCustomFieldValueByIndex

SetCustomFieldValueByName

ShareWithResource

UnshareWithResource

UpdateTaskLinks

UpdateTaskTime


TcxSchedulerAggregateStorageEvent.SourceEvent

TcxSchedulerAggregateStorageEvent          See Also

Returns the parent user event (persisted in the bound storage).

property SourceEvent: TcxSchedulerEvent;

ReadOnly Property


TcxSchedulerAggregateStorageEvent.Storage

TcxSchedulerAggregateStorageEvent          See Also

Returns an aggregate storage to which the current user event’s clone belongs.

property Storage: TcxSchedulerAggregateStorage;

ReadOnly Property


TcxSchedulerStorageLink
TcxSchedulerStorageLink Object

Hierarchy          Properties

The TcxSchedulerStorageLink provides a link between an aggregate storage (TcxSchedulerAggregateStorage) and a TcxSchedulerDBStorage (or TcxSchedulerStorage) storage.

Unit

cxSchedulerAggregateStorage

TcxSchedulerStorageLink = class(TCollectionItem)

Description

TcxSchedulerStorageLink instances allow you to link the bound and unbound storages to the scheduler via the aggregate storage (as well as link aggregate storage components each other to organize a storage hierarchy), so that multiple storages can be used simultaneously in a scheduling application.

The TcxSchedulerStorageLink object is referenced by the TcxSchedulerStorageLinks.Items property.


TcxSchedulerStorageLink Hierarchy
Hierarchy

TCollectionItem

     |

TcxSchedulerStorageLink


Properties for TcxSchedulerStorageLink
TcxSchedulerStorageLink Properties

TcxSchedulerStorageLink          Legend

In TcxSchedulerStorageLink

AggregateStorage

Default

Links

Storage


TcxSchedulerStorageLink.AggregateStorage

TcxSchedulerStorageLink

Returns the parent aggregate storage.

property AggregateStorage: TcxSchedulerAggregateStorage;

ReadOnly Property


TcxSchedulerStorageLink.Default

TcxSchedulerStorageLink          See Also

Specifies whether this link is the default link.

property Default: Boolean;

Description

If the link is specified as default, the storage (that is bound to the aggregate storage via this link) is used for persistence of the scheduled user events.

Set the Default property to True, to inform the scheduler that the scheduled user events are to be posted to this storage, unless overridden by handling the TcxSchedulerAggregateStorage.OnEventInserting event.

Note that you can set the Default property to True, if the storage is specified for this link (see the Storage property) and this storage is active (see the TcxSchedulerAggregateStorage.IsActive method description).

The default value of the Default property is False.


TcxSchedulerStorageLink.Links

TcxSchedulerStorageLink          See Also

References the link collection to which this link belongs.

property Links: TcxSchedulerStorageLinks;

ReadOnly Property


TcxSchedulerStorageLink.Storage

TcxSchedulerStorageLink

Specifies the linked storage.

property Storage: TcxCustomSchedulerStorage;

Description

Use the Storage property to link a scheduler storage (TcxSchedulerStorage, TcxSchedulerDBStorage, or the other aggregate storage component) to the parent aggregate storage (TcxSchedulerAggregateStorage).


TcxSchedulerStorageLinks
TcxSchedulerStorageLinks Object

Hierarchy          Properties          Methods

The TcxSchedulerStorageLinks class represents a collection of links that are used to link bound (TcxSchedulerDBStorage) and unbound (TcxSchedulerStorage) storages (as well as the other aggregate storages) to the parent aggregate storage (TcxSchedulerAggregateStorage).

Unit

cxSchedulerAggregateStorage

TcxSchedulerStorageLinks = class(TCollection)

Description

Once connected to the scheduler via the aggregate storage, both bound and unbound storages can be simultaneously used in a scheduling application.

Along with the bound and unbound storages, aggregate storages can also be linked to each other to organize a multilevel storage composition (if necessary).

The TcxSchedulerStorageLinks object is referenced by the TcxSchedulerAggregateStorage.Links property.


TcxSchedulerStorageLinks Hierarchy
Hierarchy

TCollection

     |

TcxSchedulerStorageLinks


Properties for TcxSchedulerStorageLinks
TcxSchedulerStorageLinks Properties

TcxSchedulerStorageLinks          Legend

In TcxSchedulerStorageLinks

AggregateStorage

DefaultLink

DefaultStorage

Items


Methods for TcxSchedulerStorageLinks
TcxSchedulerStorageLinks Methods

TcxSchedulerStorageLinks          Legend

In TcxSchedulerStorageLinks

 AddStorageLink

 CreateEx

 GetStorageLinkIndex

 PopulateHolidays


TcxSchedulerStorageLinks.AggregateStorage

TcxSchedulerStorageLinks

Returns the aggregate storage that owns this link collection.

property AggregateStorage: TcxSchedulerAggregateStorage;

ReadOnly Property


TcxSchedulerStorageLinks.DefaultLink

TcxSchedulerStorageLinks          See Also

Returns the default storage link.

property DefaultLink: TcxSchedulerStorageLink;

Description

A link is considered to be default if its Default property is set to True.


TcxSchedulerStorageLinks.DefaultStorage

TcxSchedulerStorageLinks          See Also

Returns the default storage.

property DefaultStorage: TcxCustomSchedulerStorage;

Description

Storage is considered to be default if the storage link’s Default property is set to True.

ReadOnly Property


TcxSchedulerStorageLinks.Items

TcxSchedulerStorageLinks

Provides indexed access to storage links in the collection.

property Items[AIndex:Integer]: TcxSchedulerStorageLink;

Description

Use the Items property to specify or obtain a storage link at the position specified by the zero-based Index parameter.


TcxSchedulerStorageLinks.AddStorageLink

TcxSchedulerStorageLinks

Creates a new link that binds a storage to the aggregate storage, and adds the newly created link to the collection.

function AddStorageLink(AStorage: TcxCustomSchedulerStorage): TcxSchedulerStorageLink;

Description

The AddStorageLink method returns a reference to the newly created link.


TcxSchedulerStorageLinks.CreateEx

TcxSchedulerStorageLinks

Instantiates the TcxSchedulerStorageLinks object.

constructor CreateEx(AOwner: TcxSchedulerAggregateStorage); virtual;

Description

AOwner references an aggregate storage that owns this link collection.


TcxSchedulerStorageLinks.GetStorageLinkIndex

TcxSchedulerStorageLinks

Returns the zero-based index of the link to a specified storage.

function GetStorageLinkIndex(AStorage: TcxCustomSchedulerStorage): Integer;

Description

The GetStorageLinkIndex method returns -1, if the collection doesn't have a match to the AStorage parameter.


TcxSchedulerStorageLinks.PopulateHolidays

TcxSchedulerStorageLinks          See Also

Populates a list with TcxSchedulerHolidays instances bound to the linked storages.

procedure PopulateHolidays(AList: TList);

Description

The PopulateHolidays method deletes duplicate references in AList, if the linked storages are connected to the same TcxSchedulerHolidays component.


cxSchedulercxGridConnection Unit Overview
cxSchedulercxGridConnection Unit

Classes

TcxSchedulerFieldAdapter

TcxSchedulerGridBuildInPopupMenu

TcxSchedulerGridConnection

Other Types

TcxSchedulerGridBuildInPopupMenuItems


TcxSchedulerFieldAdapter
TcxSchedulerFieldAdapter Object

Hierarchy          Properties

The TcxSchedulerFieldAdapter implements a link between the ExpressQuantumGrid’s column and an associated scheduler storage’s field.

Unit

cxSchedulercxGridConnection

TcxSchedulerFieldAdapter = class(TPersistent)

Description

The TcxSchedulerGridConnection component is used to connect the ExpressQuantumGrid to the scheduler storage. This way, the grid can be used as the Tasks pane in a scheduling application.

The TcxSchedulerFieldAdapter is used to map grid columns and scheduler storage’s fields. This mapping is performed automatically when the connection between the grid and the scheduler is established (see the TcxSchedulerGridConnection.Active property).

However, if you need to make some modifications to grid columns or storage fields, use the TcxSchedulerGridConnection.OnInitializeItem event for this purpose. In this event, a reference to the TcxSchedulerFieldAdapter instance is passed to the Adapter parameter.

The TcxSchedulerFieldAdapter allows you to:

•	Obtain a reference to the linked grid column and storage field.

•	Specify the grid column’s visibility.

•	Change the column’s caption.

•	Change values in the storage field.

•	Change settings of in-place editors used for editing and display purposes.

•	Specify the read-only status of the grid column.


TcxSchedulerFieldAdapter Hierarchy
Hierarchy

TPersistent

     |

TcxSchedulerFieldAdapter


Properties for TcxSchedulerFieldAdapter
TcxSchedulerFieldAdapter Properties

TcxSchedulerFieldAdapter          Legend

In TcxSchedulerFieldAdapter

Caption

Column

Connection

EditProperties

Field

Properties

ReadOnly

Storage

Values

Visible


TcxSchedulerFieldAdapter.Caption

TcxSchedulerFieldAdapter          See Also

Specifies the caption for the bound grid column.

property Caption: string;

Description

The Caption property overrides the TcxGridColumn.Caption property.


TcxSchedulerFieldAdapter.Column

TcxSchedulerFieldAdapter          See Also

Specifies the bound grid column.

property Column: TcxGridColumn;

Description

Use the Column property to link the grid column to the scheduler storage’s field.


TcxSchedulerFieldAdapter.Connection

TcxSchedulerFieldAdapter

References the link that connects a grid and a scheduler.

property Connection: TcxSchedulerGridConnection;

ReadOnly Property


TcxSchedulerFieldAdapter.EditProperties

TcxSchedulerFieldAdapter          See Also

Specifies the field editor.

property EditProperties: TcxCustomEditProperties;


TcxSchedulerFieldAdapter.Field

TcxSchedulerFieldAdapter          See Also

Returns the scheduler storage’s field to which a grid column is linked.

property Field: TcxCustomSchedulerStorageField;

ReadOnly Property


TcxSchedulerFieldAdapter.Properties

TcxSchedulerFieldAdapter          See Also

Provides access to settings of the grid column’s editor, used for display purposes.

property Properties: TcxCustomEditProperties;

ReadOnly Property


TcxSchedulerFieldAdapter.ReadOnly

TcxSchedulerFieldAdapter          See Also

Specifies whether the bound grid column is read-only.

property ReadOnly: Boolean;

Description

Set the ReadOnly property to True, to suppress in-place editors in the grid column.


TcxSchedulerFieldAdapter.Storage

TcxSchedulerFieldAdapter

References the scheduler storage to which the linked field belongs.

property Storage: TcxCustomSchedulerStorage;

ReadOnly Property


TcxSchedulerFieldAdapter.Values

TcxSchedulerFieldAdapter

Provides indexed access to the values in the linked field.

property Values[ARecordIndex:Integer]: Variant;

Description

Use the Values property to obtain or to specify the field value in the record specified by the zero-based ARecordIndex parameter.


TcxSchedulerFieldAdapter.Visible

TcxSchedulerFieldAdapter          See Also

Specifies whether the bound grid column is visible.

property Visible: Boolean;

Description

Set the Visible property to False, to hide the grid column.


TcxSchedulerGridConnection
 TcxSchedulerGridConnection Object

Hierarchy          Properties          Methods          Events          See Also

The TcxSchedulerGridConnection component provides a link that connects the ExpressQuantumGrid and a scheduler.

Unit

cxSchedulercxGridConnection

TcxSchedulerGridConnection = class(TComponent, IcxSchedulerStorageListener, IUnknown)

Description

The TcxSchedulerGridConnection allows a grid to access the scheduler storage. If linked to the grid, the scheduler storage is shared by the grid and the scheduler. This allows scheduling operations to be performed in either of the controls. The scheduling information is automatically synchronized between controls.


TcxSchedulerGridConnection Hierarchy
Hierarchy

TComponent

     |

TcxSchedulerGridConnection


Properties for TcxSchedulerGridConnection
TcxSchedulerGridConnection Properties

TcxSchedulerGridConnection          Legend

In TcxSchedulerGridConnection

Active

GridPopupMenu

GridView

Storage


Methods for TcxSchedulerGridConnection
TcxSchedulerGridConnection Methods

TcxSchedulerGridConnection          Legend

In TcxSchedulerGridConnection

Refresh


Events for TcxSchedulerGridConnection
TcxSchedulerGridConnection Events

TcxSchedulerGridConnection          Legend

In TcxSchedulerGridConnection

OnEditEvent

OnInitializeItem

OnNewEvent


TcxSchedulerGridConnection.Active

TcxSchedulerGridConnection          See Also

Specifies whether a connection between a grid and the scheduler storage is open.

property Active: Boolean;

Description

Once the connection between the grid and the scheduler storage is established, the grid automatically creates all the items that correspond to the scheduler storage’s fields and populates the View.

To open a connection between the grid and the scheduler storage, set the Active property to True.

The default value of the Active property is False.


TcxSchedulerGridConnection.GridPopupMenu

TcxSchedulerGridConnection

Represents the pop-up menu that is invoked in the TcxGrid control connected to the scheduler.

property GridPopupMenu: TcxSchedulerGridBuildInPopupMenu;


TcxSchedulerGridConnection.GridView

TcxSchedulerGridConnection          See Also

Specifies the linked Grid View.

property GridView: TcxCustomGridTableView;

Description

Use the GridView property to bind a Grid View to the link.


TcxSchedulerGridConnection.Storage

TcxSchedulerGridConnection          See Also

Specifies the scheduler storage to which a grid is to be linked.

property Storage: TcxCustomSchedulerStorage;

Description

Use the Storage property to bind a scheduler storage to the link.


TcxSchedulerGridConnection.Refresh

TcxSchedulerGridConnection          See Also

Re-establishes a connection between a grid and the scheduler storage.

procedure Refresh;


TcxSchedulerGridConnection.OnEditEvent

TcxSchedulerGridConnection

Allows you to perform any actions before showing the Event dialog.

type

  TcxSchedulerConnectionEditEventEvent = procedure(Sender: TcxSchedulerGridConnection; AEvent: TcxSchedulerControlEvent; var AModified: Boolean; var AHandled: Boolean) of object;

property OnEditEvent: TcxSchedulerConnectionEditEventEvent;

Description

Sender references the link.

AEvent references the user event for which this event fires.

AModified specifies whether AEvent has been modified. Set AModified to True, to submit data modifications to the scheduler storage.

AHandled specifies whether the default behavior is required. Set AHandled to True, to prevent the default code execution.


TcxSchedulerGridConnection.OnInitializeItem

TcxSchedulerGridConnection

Allows you to make modifications to the grid’s item to be bound.

type

  TcxSchedulerInitializeGridItemEvent = procedure(Sender: TcxSchedulerGridConnection; AField: TcxCustomSchedulerStorageField; AItem: TcxCustomGridTableItem; Adapter: TcxSchedulerFieldAdapter) of object;

property OnInitializeItem: TcxSchedulerInitializeGridItemEvent;

Description

Fires when a new link between the scheduler storage’s field and the grid’s item is about to be created.

Sender specifies the link.

AField specifies the scheduler storage’s field.

AItem specifies the grid’s item (a column or a card row).

Adapter specifies the adapter that is used to bind the scheduler storage’s field and the grid’s column.


TcxSchedulerGridConnection.OnNewEvent

TcxSchedulerGridConnection

Allows you to perform any actions before an event is posted from a grid to the scheduler storage.

type

  TcxSchedulerConnectionNewEventEvent = procedure(Sender: TcxSchedulerGridConnection; var AEvent: TcxSchedulerControlEvent; var AHandled: Boolean) of object;

property OnNewEvent: TcxSchedulerConnectionNewEventEvent;

Description

Sender references the link.

AEvent references the user event for which this event fires.

AHandled specifies whether the default behavior is required. Set AHandled to True, to prevent the default code execution.


TcxSchedulerGridBuildInPopupMenu
TcxSchedulerGridBuildInPopupMenu Object

Hierarchy          Properties          Events

The TcxSchedulerGridBuildInPopupMenu implements the pop-up menu that is invoked in the connected TcxGrid control.

Unit

cxSchedulercxGridConnection

TcxSchedulerGridBuildInPopupMenu = class(TPersistent)

Description

The TcxSchedulerGridBuildInPopupMenu provides features for embedding custom code to handle the pop-up menu items, and enable customization of the pop-up menu when it’s invoked.

The TcxSchedulerGridBuildInPopupMenu object is referenced by the TcxSchedulerGridConnection.GridPopupMenu property.

The following image shows the pop-up menu invoked in the grid control:


TcxSchedulerGridBuildInPopupMenu Hierarchy
Hierarchy

TPersistent

     |

TcxSchedulerGridBuildInPopupMenu


Properties for TcxSchedulerGridBuildInPopupMenu
TcxSchedulerGridBuildInPopupMenu Properties

TcxSchedulerGridBuildInPopupMenu          Legend

In TcxSchedulerGridBuildInPopupMenu

Items

PopupMenu

UseBuiltInPopupMenu


Events for TcxSchedulerGridBuildInPopupMenu
TcxSchedulerGridBuildInPopupMenu Events

TcxSchedulerGridBuildInPopupMenu          Legend

In TcxSchedulerGridBuildInPopupMenu

OnClick

OnPopup


TcxSchedulerGridBuildInPopupMenu.Items

TcxSchedulerGridBuildInPopupMenu

Represents available pop-up menu items.

property Items: TcxSchedulerGridBuildInPopupMenuItems;

Description

Use the Items property to specify items in the pop-up menu. Refer to the TcxSchedulerGridBuildInPopupMenuItems enumeration that provides a description of available values.

The default value of the Items property is [bpmiNewEvent,bpmiNewAllDayEvent,bpmiNewReccuringEvent,bpmiOpen,bpmiEditSeries,bpmiShowTimeAs,bpmiLabel,bpmiDelete].


TcxSchedulerGridBuildInPopupMenu.PopupMenu

TcxSchedulerGridBuildInPopupMenu

Represents a pop-up menu built by a developer from scratch, based on the standard pop-up menu control or a third-party pop-up menu control.

property PopupMenu: TComponent;

Description

It may be necessary to create a new pop-up menu not covered by the current scheduler pop-up menu implementers.

Once it’s developed, use the PopupMenu property to bind the newly created pop-up menu to the grid control.


TcxSchedulerGridBuildInPopupMenu.UseBuiltInPopupMenu

TcxSchedulerGridBuildInPopupMenu

Specifies whether to use the built-in pop-up menu or a custom one.

property UseBuiltInPopupMenu: Boolean;

Description

Set the UseBuiltInPopupMenu property to True, to use the built-in pop-up menu. Otherwise the pop-up menu, represented by the PopupMenu property, will be used.

The default value of the UseBuiltInPopupMenu property is True.


TcxSchedulerGridBuildInPopupMenu.OnClick

TcxSchedulerGridBuildInPopupMenu

Allows you to respond to the pop-up menu’s item click.

type

  TcxSchedulerGridBuildInPopupMenuClickEvent = procedure(Sender: TcxSchedulerGridBuildInPopupMenu; AItem: TcxSchedulerGridBuildInPopupMenuItem; ASubItemIndex: Integer; var AHandled: Boolean) of object;

property OnClick: TcxSchedulerGridBuildInPopupMenuClickEvent;

Description

Fires after an end-user has clicked the AItem pop-up menu item.

Implement the OnClick event handler to provide custom behavior (for example, displaying a submenu), when an end-user has clicked the menu item.

Sender specifies the invoked pop-up menu.

AItem specifies the clicked item.

ASubItemIndex specifies the sub-item’s index.

AHandled specifies whether the default action is required. Set AHandled to True to prevent the default action execution.


TcxSchedulerGridBuildInPopupMenu.OnPopup

TcxSchedulerGridBuildInPopupMenu

Allows you to customize the pop-up menu.

type

  TcxSchedulerGridBuildInPopupMenuPopupEvent = procedure(Sender: TcxSchedulerGridBuildInPopupMenu; ABuiltInMenu: TPopupMenu; var AHandled: Boolean) of object;

property OnPopup: TcxSchedulerGridBuildInPopupMenuPopupEvent;

Description

Fires after an end-user has invoked the pop-up menu for the grid.

Implement the OnPopup event handler to customize the pop-up menu before it appears.

Sender specifies the invoked pop-up menu.

ABuiltInMenu specifies the standard pop-up menu component used as a basis for building an appropriate pop-up menu.

AHandled specifies whether the default action is required. Set AHandled to True to prevent the default action execution.


TcxSchedulerGridBuildInPopupMenuItems
TcxSchedulerGridBuildInPopupMenuItems type

See Also

Lists grid pop-up menu items.

Unit

cxSchedulercxGridConnection

type

  TcxSchedulerGridBuildInPopupMenuItem = (bpmiNewEvent, bpmiNewAllDayEvent,

    bpmiNewReccuringEvent, bpmiOpen, bpmiEditSeries,

    bpmiShowTimeAs, bpmiLabel, bpmiDelete);

TcxSchedulerGridBuildInPopupMenuItems = set of TcxSchedulerGridBuildInPopupMenuItem;

Description

Values include:

Value	Meaning
bpmiNewEvent	Specifies the Event dialog which details the user event.
bpmiNewAllDayEvent	Specifies the Event dialog with the checked All day event check box in it (see the TcxSchedulerEvent.AllDayEvent property).
bpmiNewReccuringEvent	Specifies the Event dialog and above it, the Event recurrence modal dialog box (see the TcxSchedulerEvent.RecurrenceInfo property).
bpmiOpen	Specifies the Event modal dialog for describing the user event the pop-up menu was invoked for, in detail.
bpmiEditSeries	Specifies the Event dialog used for editing the recurring user event that is the parent of the user event for which the pop-up menu was invoked.
bpmiShowTimeAs	Specifies the Show time as image combo box for editing the availability status (see the TcxSchedulerEvent.State property).
bpmiLabel	Specifies the item used to select a color label (see the TcxSchedulerEvent.LabelColor property).
bpmiDelete	Specifies the item used to delete the user event for which the pop-up menu was invoked.


cxSchedulerGanttView Unit Overview
cxSchedulerGanttView Unit

Classes

TcxSchedulerGanttView

TcxSchedulerGanttViewHitTest

Other Types

TcxSchedulerGanttViewEventStyle


TcxSchedulerGanttView
TcxSchedulerGanttView Object

Hierarchy          Properties          Methods          Events          See Also

Represents a Gantt View.

Unit

cxSchedulerGanttView

TcxSchedulerGanttView = class(TcxSchedulerTimeGridView)

Description

In Gantt View, user events are displayed as horizontal bars along the time axis.

Gantt View provides the following capabilities:

•	User events can be sequentially linked into a series within a certain time frame.

•	User events can be optionally displayed as progress bars that display the completion percentage.

The TcxSchedulerGanttView object is referenced by the scheduler’s ViewGantt property or by the scheduler’s CurrentView property (if Gantt View is the currently active view – the scheduler’s ViewGantt.Active property is True).


TcxSchedulerGanttView Hierarchy
Hierarchy

TcxSchedulerTimeGridView

     |

TcxSchedulerGanttView


Properties for TcxSchedulerGanttView
TcxSchedulerGanttView Properties

TcxSchedulerGanttView          Legend

In TcxSchedulerGanttView

EventsStyle

HitTest

LinkLineColor

ShowExpandButtons

ShowTotalProgressLine

TotalProgressLineColor

Derived from TcxSchedulerTimeGridView

EventDetailInfo

EventMaxLineCount

HitTest

Scales

ShowMoreEventsButton

ShowResourceScrollBar

SnapEventsToTimeSlots

Styles

VisibleFinish

VisibleStart

WorkDaysOnly

WorkTimeOnly


Methods for TcxSchedulerGanttView
TcxSchedulerGanttView Methods

TcxSchedulerGanttView          Legend

Derived from TcxSchedulerTimeGridView

GetMajorUnitDisplayText

GetMinorUnitDisplayText


Events for TcxSchedulerGanttView
TcxSchedulerGanttView Events

TcxSchedulerGanttView          Legend

Derived from TcxSchedulerTimeGridView

 OnCustomDrawMajorUnit

 OnCustomDrawMinorUnit

 OnCustomDrawSelectionBar

 OnGetMajorUnitDisplayText

 OnGetMinorUnitDisplayText


TcxSchedulerGanttView.EventsStyle

TcxSchedulerGanttView

Specifies how to display user events.

property EventsStyle: TcxSchedulerGanttViewEventStyle;

Description

The EventsStyle property is used to specify how tasks are displayed in the Gantt View – as ordinary user events or as progress bars.

Refer to the TcxSchedulerGanttViewEventStyle enumeration to see a description of available values.

The default value of the EventsStyle property is esDefault.


TcxSchedulerGanttView.HitTest

TcxSchedulerGanttView

Returns the TcxSchedulerGanttViewHitTest object that contains information about a specific point within the Gantt View.

property HitTest: TcxSchedulerGanttViewHitTest;

Description

The TcxSchedulerGanttViewHitTest provides properties that are used to identify whether a certain point is over a particular View element.

ReadOnly Property


TcxSchedulerGanttView.LinkLineColor

TcxSchedulerGanttView

Specifies the task connector’s color.

property LinkLineColor: TColor;

The default value of the LinkLineColor property is clNavy.


TcxSchedulerGanttView.ShowExpandButtons

TcxSchedulerGanttView          See Also

Specifies whether task expand buttons are to be displayed in the Time View.

property ShowExpandButtons: Boolean;

Description

Set the ShowExpandButtons property to True, to display task expand buttons in the Time View.

Value	Sample
False
True

The default value of the ShowExpandButtons property is False.


TcxSchedulerGanttView.ShowTotalProgressLine

TcxSchedulerGanttView          See Also

Specifies whether a progress line is to be displayed in the View.

property ShowTotalProgressLine: Boolean;

Description

Set the ShowTotalProgressLine property to True, to display the progress line.

Value	Sample
False
True

The default value of the ShowTotalProgressLine property is False.


TcxSchedulerGanttView.TotalProgressLineColor

TcxSchedulerGanttView

Specifies the progress line’s color.

property TotalProgressLineColor: TColor;

Description

A progress line is visible, if the ShowTotalProgressLine property is True.

The default value of the TotalProgressLineColor property is clRed.


TcxSchedulerGanttViewHitTest
TcxSchedulerGanttViewHitTest Object

Hierarchy          Properties          Methods

Provides information used to determine which element is at a certain point.

Unit

cxSchedulerGanttView

TcxSchedulerGanttViewHitTest = class(TcxSchedulerTimeGridViewHitTest)

Description

The TcxSchedulerGanttViewHitTest object is referenced by the TcxSchedulerGanttView.HitTest property.


TcxSchedulerGanttViewHitTest Hierarchy
Hierarchy

TcxSchedulerCustomResourceViewHitTest

     |

TcxSchedulerTimeGridViewHitTest

     |

TcxSchedulerGanttViewHitTest


Properties for TcxSchedulerGanttViewHitTest
TcxSchedulerGanttViewHitTest Properties

TcxSchedulerGanttViewHitTest          Legend

In TcxSchedulerGanttViewHitTest

HitAtEventDraggingArea

HitAtExpandButton

HitAtLink

Derived from TcxSchedulerTimeGridViewHitTest

HitAtMajorScale

HitAtMajorSeparator

HitAtMinorScale

HitAtSelectionBar

Derived from TcxSchedulerCustomResourceViewHitTest

HitAtButton

HitAtContent

HitAtContentNavigationButton

HitAtDayHeader

HitAtGroupSeparator

HitAtResourceHeader

HitAtTimeZoneLabel

TimeZone


Methods for TcxSchedulerGanttViewHitTest
TcxSchedulerGanttViewHitTest Methods

TcxSchedulerGanttViewHitTest          Legend

Derived from TcxSchedulerCustomResourceViewHitTest

GetDragKind


TcxSchedulerGanttViewHitTest.HitAtEventDraggingArea

TcxSchedulerGanttViewHitTest

Checks whether the test point belongs to the task’s rectangle when the task is being horizontally dragged, or about to be dragged, within an area specified by the TcxSchedulerEvent.TaskIndex property.

property HitAtEventDraggingArea: Boolean;

Description

If the test point belongs to the task’s rectangle, the HitAtEventDraggingArea property returns True.

ReadOnly Property


TcxSchedulerGanttViewHitTest.HitAtExpandButton

TcxSchedulerGanttViewHitTest          See Also

Checks whether the test point belongs to a task’s expand button.

property HitAtExpandButton: Boolean;

Description

Task expand buttons are only visible if the scheduler’s ViewGantt.ShowExpandButtons property is True.

If the test point is on a task’s expand button, the HitAtExpandButton property returns True.

ReadOnly Property


TcxSchedulerGanttViewHitTest.HitAtLink

TcxSchedulerGanttViewHitTest          See Also

Checks whether the test point belongs to a task connector.

property HitAtLink: Boolean;

Description

Task connectors are displayed in the following cases:

•	The scheduler’s ViewGantt.ShowExpandButtons property is False.

•	The scheduler’s ViewGantt.ShowExpandButtons property is True, and one or more predecessor tasks are expanded (either by using the expand button or programmatically via the TcxSchedulerEventLinks.Expanded property).

If the test point belongs to a connector, the HitAtLink property returns True.

ReadOnly Property


TcxSchedulerGanttViewEventStyle
TcxSchedulerGanttViewEventStyle type

See Also

Enumerates task display modes used in Gantt View.

Unit

cxSchedulerGanttView

TcxSchedulerGanttViewEventStyle = (esDefault, esProgress);

Description

Values include:

Value	Meaning	Sample
esDefault	The task is displayed as an ordinary user event.
esProgress	The task is displayed as a progress bar showing completion percentage.


cxSchedulerTimeGridView Unit Overview
cxSchedulerTimeGridView Unit

Classes

TcxSchedulerTimeGridMajorScaleCell

TcxSchedulerTimeGridMinorScaleCell

TcxSchedulerTimeGridScaleCell

TcxSchedulerTimeGridSelectionBarCell

TcxSchedulerTimeGridView

TcxSchedulerTimeGridViewHitTest

TcxSchedulerTimeGridViewScales

TcxSchedulerTimeGridViewStyles

Other Types

TcxSchedulerTimeGridScaleTextType

TcxSchedulerTimeGridScaleUnit

Global Constants

cxDefaultMinorUnitWidth


TcxSchedulerTimeGridMajorScaleCell
TcxSchedulerTimeGridMajorScaleCell Object

Hierarchy          Properties

The TcxSchedulerTimeGridMajorScaleCell class provides rendering data on the major time scale.

Unit

cxSchedulerTimeGridView

TcxSchedulerTimeGridMajorScaleCell = class(TcxSchedulerTimeGridMinorScaleCell)

Description

In the timegrid view, the major time scale is drawn at the top of the view.

Rendering data is used in the view’s OnCustomDrawMajorUnit event handler that allows you to manually paint the major time scale (this data is available through the handler’s ViewInfo parameter).


TcxSchedulerTimeGridMajorScaleCell Hierarchy
Hierarchy

TcxSchedulerCustomViewInfoItem

     |

TcxSchedulerTimeGridScaleCell

     |

TcxSchedulerTimeGridMinorScaleCell

     |

TcxSchedulerTimeGridMajorScaleCell


Properties for TcxSchedulerTimeGridMajorScaleCell
TcxSchedulerTimeGridMajorScaleCell Properties

TcxSchedulerTimeGridMajorScaleCell          Legend

In TcxSchedulerTimeGridMajorScaleCell

HideDisplayText

RightIndent

Derived from TcxSchedulerTimeGridScaleCell

AlignHorz

AlignVert

BorderColor

TimeFinish

TimeStart

Derived from TcxSchedulerCustomViewInfoItem

Bitmap

Borders

Bounds

Canvas

ClipRect

Color

DisplayText

Font

Painter

TextColor

Transparent

ViewParams

Visible


TcxSchedulerTimeGridMajorScaleCell.HideDisplayText

TcxSchedulerTimeGridMajorScaleCell

Specifies whether to draw the unit’s caption.

property HideDisplayText: Boolean;

Description

Set the HideDisplayText property to True to hide the caption.  Otherwise it will be shown.


TcxSchedulerTimeGridMajorScaleCell.RightIndent

TcxSchedulerTimeGridMajorScaleCell          See Also

Gets the unit indent, in pixels.

property RightIndent: Integer;

Description

The unit indent depends on the scale splitter’s width (see the view’s Scales.MajorUnitSeparatorWidth property).

ReadOnly Property


TcxSchedulerTimeGridMinorScaleCell
TcxSchedulerTimeGridMinorScaleCell Object

Hierarchy          Properties

The TcxSchedulerTimeGridMinorScaleCell class provides rendering data on the minor time scale.

Unit

cxSchedulerTimeGridView

TcxSchedulerTimeGridMinorScaleCell = class(TcxSchedulerTimeGridScaleCell)

Description

In the timegrid view, the minor time scale is drawn under the major time scale, at the top of the view.

Rendering data is used in the view’s OnCustomDrawMinorUnit event handler that allows you to manually paint the minor time scale (this data is available through the handler’s ViewInfo parameter).

The TcxSchedulerTimeGridMinorScaleCell is the base class for the TcxSchedulerTimeGridSelectionBarCell class that provides rendering data for custom painting the time selection bar (see the view’s OnCustomDrawSelectionBar event).


TcxSchedulerTimeGridMinorScaleCell Hierarchy
Hierarchy

TcxSchedulerCustomViewInfoItem

     |

TcxSchedulerTimeGridScaleCell

     |

TcxSchedulerTimeGridMinorScaleCell


Properties for TcxSchedulerTimeGridMinorScaleCell
TcxSchedulerTimeGridMinorScaleCell Properties

TcxSchedulerTimeGridMinorScaleCell          Legend

Derived from TcxSchedulerTimeGridScaleCell

AlignHorz

AlignVert

BorderColor

TimeFinish

TimeStart

Derived from TcxSchedulerCustomViewInfoItem

Bitmap

Borders

Bounds

Canvas

ClipRect

Color

DisplayText

Font

Painter

TextColor

Transparent

ViewParams

Visible


TcxSchedulerTimeGridScaleCell
TcxSchedulerTimeGridScaleCell Object

Hierarchy          Properties

The TcxSchedulerTimeGridScaleCell is the base class for classes containing rendering data on timegrid view elements.

Unit

cxSchedulerTimeGridView

TcxSchedulerTimeGridScaleCell = class(TcxSchedulerCustomViewInfoItem)

Description

Derived classes provide information on the related view’s elements: the major and minor time scales, and the time selection bar.  Rendering data can be used in the view’s OnCustomDrawMajorUnit, OnCustomDrawMinorUnit and OnCustomDrawSelectionBar event handlers that allow you to manually paint the major and minor time scales, and the time selection bar (this information is available through the handler’s ViewInfo parameter).

The TcxSchedulerTimeGridScaleCell class contains data common to all the timegrid view’s elements:

•	•	the horizontal contents alignment in the unit (see the AlignHorz property);

•	•	the vertical contents alignment in the unit (see the AlignVert property);

•	•	the color of the unit’s border (see the BorderColor property);

•	•	the end time of the rightmost unit currently visible in the scheduling area (see the TimeFinish property);

•	•	the start time of the rightmost unit currently visible in the scheduling area (see the TimeStart property).

Do not use this class directly. Use its descendants instead.


TcxSchedulerTimeGridScaleCell Hierarchy
Hierarchy

TcxSchedulerCustomViewInfoItem

     |

TcxSchedulerTimeGridScaleCell


Properties for TcxSchedulerTimeGridScaleCell
TcxSchedulerTimeGridScaleCell Properties

TcxSchedulerTimeGridScaleCell          Legend

In TcxSchedulerTimeGridScaleCell

AlignHorz

AlignVert

BorderColor

TimeFinish

TimeStart

Derived from TcxSchedulerCustomViewInfoItem

Bitmap

Borders

Bounds

Canvas

ClipRect

Color

DisplayText

Font

Painter

TextColor

Transparent

ViewParams

Visible


TcxSchedulerTimeGridScaleCell.AlignHorz

TcxSchedulerTimeGridScaleCell          See Also

Specifies the horizontal contents alignment in the unit cell.

property AlignHorz: TAlignment;

Description

By default, the content is left-aligned in all the major and minor time scale units, and in the time selection bar’s unit.

Use the AlignHorz property to align the content horizontally.

Note: to align the content in the major or minor time scale or in the time selection bar, use the timegrid view’s  OnCustomDrawMajorUnit, OnCustomDrawMinorUnit and OnCustomDrawSelectionBar events respectively.


TcxSchedulerTimeGridScaleCell.AlignVert

TcxSchedulerTimeGridScaleCell          See Also

Specifies the vertical contents alignment in the unit cell.

property AlignVert: TcxAlignmentVert;

Description

By default, the content is top-aligned in all the major and minor time scale units, and in the time selection bar’s unit.

Use the AlignVert property to align the content vertically.

Note: to align the content in the major or minor time scale or in the time selection bar, use the timegrid view’s  OnCustomDrawMajorUnit, OnCustomDrawMinorUnit and OnCustomDrawSelectionBar events respectively.


TcxSchedulerTimeGridScaleCell.BorderColor

TcxSchedulerTimeGridScaleCell

Specifies the color of the unit’s border.

property BorderColor: TColor;

Description

Use the BorderColor property to specify the border color of the major or minor time scale, or of the time selection bar via the timegrid view’s  OnCustomDrawMajorUnit, OnCustomDrawMinorUnit and OnCustomDrawSelectionBar events respectively.


TcxSchedulerTimeGridScaleCell.TimeFinish

TcxSchedulerTimeGridScaleCell

Gets the end time of the rightmost unit currently visible in the scheduling area.

property TimeFinish: TDateTime;

Description

The returned unit’s end time depends upon the handled event:

•	•	for the timegrid view’s  OnCustomDrawMajorUnit event, it’s the end time of the major time scale unit;

•	•	for the OnCustomDrawMinorUnit event, it’s the end time of the minor time scale unit;

•	•	and lastly for the  OnCustomDrawSelectionBar event it’s the end time of the time selection bar unit.

ReadOnly Property


TcxSchedulerTimeGridScaleCell.TimeStart

TcxSchedulerTimeGridScaleCell

Gets the start time of the rightmost unit currently visible in the scheduling area.

property TimeStart: TDateTime;

Description

The returned unit’s start time depends upon the handled event:

•	•	for the timegrid view’s  OnCustomDrawMajorUnit event it’s the start time of the major time scale unit;

•	•	for the OnCustomDrawMinorUnit event it’s the start time of the minor time scale unit;

•	•	for the  OnCustomDrawSelectionBar event, it’s the start time of the time selection bar unit.

ReadOnly Property


TcxSchedulerTimeGridSelectionBarCell
TcxSchedulerTimeGridSelectionBarCell Object

Hierarchy          Properties

The TcxSchedulerTimeGridSelectionBarCell class provides rendering data on the time selection bar.

Unit

cxSchedulerTimeGridView

TcxSchedulerTimeGridSelectionBarCell = class(TcxSchedulerTimeGridMinorScaleCell)

Description

In the timegrid view, the time selection bar is drawn under the minor time scale, at the top of the view.

The rendering data is used in the view’s OnCustomDrawSelectionBar event handler that allows you to manually paint the time selection bar (this data is available through the handler’s ViewInfo parameter).


TcxSchedulerTimeGridSelectionBarCell Hierarchy
Hierarchy

TcxSchedulerCustomViewInfoItem

     |

TcxSchedulerTimeGridScaleCell

     |

TcxSchedulerTimeGridMinorScaleCell

     |

TcxSchedulerTimeGridSelectionBarCell


Properties for TcxSchedulerTimeGridSelectionBarCell
TcxSchedulerTimeGridSelectionBarCell Properties

TcxSchedulerTimeGridSelectionBarCell          Legend

In TcxSchedulerTimeGridSelectionBarCell

Selected

Derived from TcxSchedulerTimeGridScaleCell

AlignHorz

AlignVert

BorderColor

TimeFinish

TimeStart

Derived from TcxSchedulerCustomViewInfoItem

Bitmap

Borders

Bounds

Canvas

ClipRect

Color

DisplayText

Font

Painter

TextColor

Transparent

ViewParams

Visible


TcxSchedulerTimeGridSelectionBarCell.Selected

TcxSchedulerTimeGridSelectionBarCell

Determines whether the currently processed unit of the time selection bar is selected.

property Selected: Boolean;

Description

A time unit or a range of time units (time blocks) can be selected either by the end-user action or via code (by using the scheduler’s SelectTime method).

The Selected property returns True if the unit is selected. Otherwise – False.

ReadOnly Property


TcxSchedulerTimeGridView
TcxSchedulerTimeGridView Object

Hierarchy          Properties          Methods          Events

The TcxSchedulerTimeGridView class implements the timegrid view in the scheduling area.

Unit

cxSchedulerTimeGridView

TcxSchedulerTimeGridView = class(TcxSchedulerCustomResourceView)

Description

Different types of view provide different arrangements and formats for scheduling and viewing user events in the scheduling area.

In the timegrid view the user events are chronologically ordered from left to right along a timescale.

The TcxSchedulerTimeGridView object is referenced by the TcxScheduler.ViewTimeGrid property. The TcxScheduler.CurrentView property references the TcxSchedulerTimeGridView object if the timegrid view is currently active in the scheduling area (the Active property is set to True).

Note: an end-user can switch from this view to the day view by selecting the Go to This Day item, or to any other view by selecting the Go to Date… item of the pop-up menu.


TcxSchedulerTimeGridView Hierarchy
Hierarchy

TcxSchedulerCustomResourceView

     |

TcxSchedulerTimeGridView


Properties for TcxSchedulerTimeGridView
TcxSchedulerTimeGridView Properties

TcxSchedulerTimeGridView          Legend

In TcxSchedulerTimeGridView

EventDetailInfo

EventMaxLineCount

HitTest

Scales

ShowMoreEventsButton

ShowResourceScrollBar

SnapEventsToTimeSlots

Styles

VisibleFinish

VisibleStart

WorkDaysOnly

WorkTimeOnly

Derived from TcxSchedulerCustomResourceView

EventImagesLayout

GroupingKind

ShowTimeAsClock


Methods for TcxSchedulerTimeGridView
TcxSchedulerTimeGridView Methods

TcxSchedulerTimeGridView          Legend

In TcxSchedulerTimeGridView

GetMajorUnitDisplayText

GetMinorUnitDisplayText


Events for TcxSchedulerTimeGridView
TcxSchedulerTimeGridView Events

TcxSchedulerTimeGridView          Legend

In TcxSchedulerTimeGridView

OnCustomDrawMajorUnit

OnCustomDrawMinorUnit

OnCustomDrawSelectionBar

OnGetMajorUnitDisplayText

OnGetMinorUnitDisplayText


TcxSchedulerTimeGridView.EventDetailInfo

TcxSchedulerTimeGridView

Specifies whether a rectangle of the scheduled user event will occupy only the first row of the time scale’s column or the column’s space necessary for displaying user event’s details.

property EventDetailInfo: Boolean;

Description

If the EventDetailInfo property is set to True, the required column’s space will be used (if no other user events were scheduled at this time) to show more details on the scheduled user event (if the EventMaxLineCount property’s value is 0). Otherwise only the first row of the column is occupied.

The images below show the scheduled user event under the following conditions:

The EventDetailInfo property is set to True and the EventMaxLineCount property’s value is 0:

The EventDetailInfo property is set to False:

Note: the TcxSchedulerTimeGridViewScales.TimeStep property is set to 5.

The default value of the EventDetailInfo property is False.


TcxSchedulerTimeGridView.EventMaxLineCount

TcxSchedulerTimeGridView

Specifies how many rows the scheduled user event will occupy in the timegrid view, if the EventDetailInfo property is set to True.

property EventMaxLineCount: Integer;

Description

Use the EventMaxLineCount property to specify the number of rows that the user event‘s rectangle overlaps when scheduling under the timegrid view.

If the EventMaxLineCount property’s value is 0 then the number of rows that the user event will occupy is dictated by the user event‘s content.

Note: the EventDetailInfo property’s value takes precedence over the value of the EventMaxLineCount property. If the EventDetailInfo property is set to False then only one row will be available for the user event‘s rectangle (regardless of the EventMaxLineCount property’s value). If the EventDetailInfo property’s value is True then the number of rows is specified by the EventMaxLineCount property.

The default value of the EventMaxLineCount property is 0.


TcxSchedulerTimeGridView.HitTest

TcxSchedulerTimeGridView

Contains information about the timegrid view’s element that the mouse pointer is currently positioned over.

property HitTest: TcxSchedulerTimeGridViewHitTest;

Description

Use the HitTest property to determine the timegrid view’s element that the mouse pointer is currently hovering over.

ReadOnly Property


TcxSchedulerTimeGridView.Scales

TcxSchedulerTimeGridView

Represents settings for the major and minor time scales.

property Scales: TcxSchedulerTimeGridViewScales;

Description

These settings specify whether the major or minor time scale is visible in the scheduling area, the types of the scale units, the divisions used on the time selection bar, etc.


TcxSchedulerTimeGridView.ShowMoreEventsButton

TcxSchedulerTimeGridView          See Also

Specifies whether the "more events" button is to be displayed in Timegrid View.

property ShowMoreEventsButton: Boolean;

Description

Set the ShowMoreEventsButton property to True, to display the "more events" button in Timegrid View.

The default value of the ShowMoreEventsButton property is True.


TcxSchedulerTimeGridView.ShowResourceScrollBar

TcxSchedulerTimeGridView          See Also

Specifies whether a scroll bar is to be displayed within each resource in the Timegrid View..

property ShowResourceScrollBar: Boolean;

Description

Set the ShowResourceScrollBar property to True, to display a resource scroll bar in the Timegrid View.

The default value of the ShowResourceScrollBar property is True.


TcxSchedulerTimeGridView.SnapEventsToTimeSlots

TcxSchedulerTimeGridView

Specifies whether a user event’s rectangle is to be resized, so it will entirely occupy time blocks.

property SnapEventsToTimeSlots: Boolean;

Description

Set SnapEventsToTimeSlots property to True, to inform the scheduler that the user event whose start and end times don’t match the View’s time blocks will be visually snapped to the time blocks.

The default value of the SnapEventsToTimeSlots property is True.


TcxSchedulerTimeGridView.Styles

TcxSchedulerTimeGridView

Represents style settings for the scheduling area when using the timegrid view.

property Styles: TcxSchedulerTimeGridViewStyles;

Description

Each element’s appearance can be specified by the following style attributes – its background color or bitmap, its text color and font details. The TcxSchedulerTimeGridViewStyles object provides styles for the scheduling area’s elements that are visible under the timegrid view – the time selection bar located under the minor scale, the splitter that divides the time units of the major time scale, the major and minor time scales.

Use the Styles property to specify styles for the elements visible in the scheduling area when using the timegrid view.


TcxSchedulerTimeGridView.VisibleFinish

TcxSchedulerTimeGridView          See Also

Gets the time, which corresponds to the last visible unit of the time scale in the scheduling area.

property VisibleFinish: TDateTime;

Description

Use the VisibleFinish property to determine the time of the time scale’s last visible unit in the scheduling area.

ReadOnly Property


TcxSchedulerTimeGridView.VisibleStart

TcxSchedulerTimeGridView          See Also

Specifies the time, which corresponds to the first visible unit of the time scale in the scheduling area.

property VisibleStart: TDateTime;

Description

Use the VisibleStart property to specify the time of the time scale’s first visible unit in the scheduling area.


TcxSchedulerTimeGridView.WorkDaysOnly

TcxSchedulerTimeGridView          See Also

Specifies whether only working days are displayed in the scheduling area.

property WorkDaysOnly: Boolean;

Description

Set the WorkDaysOnly property to True to show only the days specified by the TcxSchedulerOptionsView.WorkDays property.

The default value of the WorkDaysOnly property is False.


TcxSchedulerTimeGridView.WorkTimeOnly

TcxSchedulerTimeGridView          See Also

Specifies whether only working hours are displayed in the scheduling area.

property WorkTimeOnly: Boolean;

Description

Set the WorkTimeOnly property to True to show only the times, which fall within the time range specified by the TcxSchedulerOptionsView.WorkStart and TcxSchedulerOptionsView.WorkFinish properties.

The default value of the WorkTimeOnly property is False.


TcxSchedulerTimeGridView.GetMajorUnitDisplayText

TcxSchedulerTimeGridView          See Also

Returns the title of the specified major time scale’s unit as a formatted string.

function GetMajorUnitDisplayText(const AStart, AFinish: TDateTime; ATextType: TcxSchedulerTimeGridScaleTextType): string;

Description

Use the GetMajorUnitDisplayText method to get the date string formatted in accordance with the ATextType format.

The AStart and AFinish parameters specify the date, which will be returned by the method as a formatted date string;

The ATextType parameter specifies the date format to be applied.


TcxSchedulerTimeGridView.GetMinorUnitDisplayText

TcxSchedulerTimeGridView          See Also

Returns the title of the specified minor time scale’s unit as a formatted string.

function GetMinorUnitDisplayText(const AStart, AFinish: TDateTime; ATextType: TcxSchedulerTimeGridScaleTextType): string;

Description

Use the GetMinorUnitDisplayText method to get the date string formatted in accordance with the ATextType format.

The AStart and AFinish parameters specify the date, which will be returned by the method as a formatted date string;

The ATextType parameter specifies the date format to be applied.


TcxSchedulerTimeGridView.OnCustomDrawMajorUnit

TcxSchedulerTimeGridView          See Also

Fires every time the major time scale unit is about to be drawn.

type

  TcxSchedulerCustomDrawMajorUnitEvent = procedure(Sender: TObject; ACanvas: TcxCanvas; AViewInfo: TcxSchedulerTimeGridMajorScaleCell; var ADone: Boolean) of object;

property OnCustomDrawMajorUnit: TcxSchedulerCustomDrawMajorUnitEvent;

Description

Implement the OnCustomDrawMajorUnit event handler to custom paint the major time scale.

The Sender parameter specifies the timegrid view;

The ACanvas parameter specifies the drawing surface;

The AViewInfo parameter provides information for rendering the major time scale;

The ADone parameter specifies whether the default painting is required. Set ADone to True, to prevent the default painting.

See the examples in the Custom Drawing topic.


TcxSchedulerTimeGridView.OnCustomDrawMinorUnit

TcxSchedulerTimeGridView          See Also

Fires every time the minor time scale unit is about to be drawn.

type

  TcxSchedulerCustomDrawMinorUnitEvent = procedure(Sender: TObject; ACanvas: TcxCanvas; AViewInfo: TcxSchedulerTimeGridMinorScaleCell; var ADone: Boolean) of object;

property OnCustomDrawMinorUnit: TcxSchedulerCustomDrawMinorUnitEvent;

Description

Implement the OnCustomDrawMinorUnit event handler to custom paint the minor time scale.

The Sender parameter specifies the timegrid view;

The ACanvas parameter specifies the drawing surface;

The AViewInfo parameter provides information for rendering the minor time scale;

The ADone parameter specifies whether the default painting is required. Set ADone to True, to prevent the default painting.

See the examples in the Custom Drawing topic.


TcxSchedulerTimeGridView.OnCustomDrawSelectionBar

TcxSchedulerTimeGridView          See Also

Fires every time the time selection bar unit is about to be drawn.

type

  TcxSchedulerCustomDrawSelectionBarEvent = procedure(Sender: TObject; ACanvas: TcxCanvas; AViewInfo: TcxSchedulerTimeGridSelectionBarCell; var ADone: Boolean) of object;

property OnCustomDrawSelectionBar: TcxSchedulerCustomDrawSelectionBarEvent;

Description

Implement the OnCustomDrawSelectionBar event handler to custom paint the time selection bar.

The Sender parameter specifies the timegrid view;

The ACanvas parameter specifies the drawing surface;

The AViewInfo parameter provides information for rendering the time selection bar;

The ADone parameter specifies whether the default painting is required. Set ADone to True, to prevent the default painting.

See the examples in the Custom Drawing topic.


TcxSchedulerTimeGridView.OnGetMajorUnitDisplayText

TcxSchedulerTimeGridView          See Also

Fires every time the title of the major time scale’s unit is rendered.

type

  TcxSchedulerTimeGridViewGetUnitDisplayTextEvent = procedure(Sender: TcxSchedulerTimeGridView; const AStart, AFinish: TDateTime; ATextType: TcxSchedulerTimeGridScaleTextType; var AText: string) of object;

property OnGetMajorUnitDisplayText: TcxSchedulerTimeGridViewGetUnitDisplayTextEvent;

Description

Implement the OnGetMajorUnitDisplayText event handler to provide a custom title for the major time scale’s unit.

The Sender parameter specifies the timegrid view;

The AStart parameter specifies the start time of the major time scale’s unit, which is currently visible in the scheduling area;

The AFinish parameter specifies the end time of the last unit currently visible in the scheduling area (which is the same as the start time of the unit after it);

The ATextType parameter specifies the type of formatting for the text;

The AText parameter specifies the title’s text.


TcxSchedulerTimeGridView.OnGetMinorUnitDisplayText

TcxSchedulerTimeGridView          See Also

Fires every time the title of the minor time scale’s unit is rendered.

type

  TcxSchedulerTimeGridViewGetUnitDisplayTextEvent = procedure(Sender: TcxSchedulerTimeGridView; const AStart, AFinish: TDateTime; ATextType: TcxSchedulerTimeGridScaleTextType; var AText: string) of object;

property OnGetMinorUnitDisplayText: TcxSchedulerTimeGridViewGetUnitDisplayTextEvent;

Description

Implement the OnGetMinorUnitDisplayText event handler to provide the custom title for the minor time scale’s unit.

The Sender parameter specifies the timegrid view;

The AStart parameter specifies the start of the minor time scale’s current unit (beginning from the start of the major time scale’s parent unit through to the last minor time scale’s unit, which is currently visible in the scheduling area);

The AFinish parameter specifies the end time of the last unit currently visible in the scheduling area (which is the same as the start time of the unit after it);

The ATextType parameter specifies the type of formatting for the text;

The AText parameter specifies the title’s text.


TcxSchedulerTimeGridViewHitTest
TcxSchedulerTimeGridViewHitTest Object

Hierarchy          Properties          Methods

The TcxSchedulerTimeGridViewHitTest contains information on which the scheduling area’s element the mouse pointer is currently positioned over when the timegrid view is active in the scheduling area.

Unit

cxSchedulerTimeGridView

TcxSchedulerTimeGridViewHitTest = class(TcxSchedulerCustomResourceViewHitTest)

Description

The TcxSchedulerTimeGridViewHitTest provides an interface for determining the scheduling area’s element that the mouse pointer is currently positioned over when the timegrid view is active in the scheduling area.

The TcxSchedulerTimeGridViewHitTest object is referenced by the TcxSchedulerTimeGridView.HitTest property.


TcxSchedulerTimeGridViewHitTest Hierarchy
Hierarchy

TcxSchedulerViewHitTest

     |

TcxSchedulerCustomResourceViewHitTest

     |

TcxSchedulerTimeGridViewHitTest


Properties for TcxSchedulerTimeGridViewHitTest
TcxSchedulerTimeGridViewHitTest Properties

TcxSchedulerTimeGridViewHitTest          Legend

In TcxSchedulerTimeGridViewHitTest

HitAtMajorScale

HitAtMajorSeparator

HitAtMinorScale

HitAtSelectionBar

Derived from TcxSchedulerCustomResourceViewHitTest

HitAtButton

HitAtContent

HitAtContentNavigationButton

HitAtDayHeader

HitAtGroupSeparator

HitAtResourceHeader

HitAtTimeZoneLabel

TimeZone


Methods for TcxSchedulerTimeGridViewHitTest
TcxSchedulerTimeGridViewHitTest Methods

TcxSchedulerTimeGridViewHitTest          Legend

Derived from TcxSchedulerCustomResourceViewHitTest

GetDragKind


TcxSchedulerTimeGridViewHitTest.HitAtMajorScale

TcxSchedulerTimeGridViewHitTest          See Also

Gets whether the given point falls within the rectangle of the major time scale.

property HitAtMajorScale: Boolean;

Description

If the test point falls within the rectangle of the major time scale the HitAtMajorScale property returns True. Otherwise – False.

ReadOnly Property


TcxSchedulerTimeGridViewHitTest.HitAtMajorSeparator

TcxSchedulerTimeGridViewHitTest          See Also

Gets whether the given point falls within the rectangle of the major time scale’s splitter.

property HitAtMajorSeparator: Boolean;

Description

The major time scale’s splitter is a bar that visually divides the major time scale’s units.

If the test point falls within the splitter’s rectangle the HitAtMajorSeparator property returns True. Otherwise – False.

ReadOnly Property


TcxSchedulerTimeGridViewHitTest.HitAtMinorScale

TcxSchedulerTimeGridViewHitTest          See Also

Gets whether the given point falls within the rectangle of the minor time scale.

property HitAtMinorScale: Boolean;

Description

If the test point falls within the rectangle of the minor time scale the HitAtMinorScale property returns True. Otherwise – False.

ReadOnly Property


TcxSchedulerTimeGridViewHitTest.HitAtSelectionBar

TcxSchedulerTimeGridViewHitTest          See Also

Gets whether the given point falls within the rectangle of the time selection bar.

property HitAtSelectionBar: Boolean;

Description

If the test point falls within the rectangle of the time selection bar the HitAtSelectionBar property returns True. Otherwise – False.

ReadOnly Property


TcxSchedulerTimeGridViewScales
TcxSchedulerTimeGridViewScales Object

Hierarchy          Properties

The TcxSchedulerTimeGridViewScales class represents settings for the major and minor time scales.

Unit

cxSchedulerTimeGridView

TcxSchedulerTimeGridViewScales = class(TPersistent)

Description

The TcxSchedulerTimeGridViewScales class provides an interface for specifying whether the major or minor time scale is visible in the scheduling area, the types of the scale units, the division on the time selection bar, etc.

The TcxSchedulerTimeGridViewScales object is referenced by the view’s Scales property.


TcxSchedulerTimeGridViewScales Hierarchy
Hierarchy

TPersistent

     |

TcxSchedulerTimeGridViewScales


Properties for TcxSchedulerTimeGridViewScales
TcxSchedulerTimeGridViewScales Properties

TcxSchedulerTimeGridViewScales          Legend

In TcxSchedulerTimeGridViewScales

Major

MajorUnitSeparatorWidth

MajorUnit

Minor

MinorUnit

MinorUnitWidth

Scheduler

TimeGrid

TimeStep


TcxSchedulerTimeGridViewScales.Major

TcxSchedulerTimeGridViewScales          See Also

Specifies whether the major time scale is displayed in the scheduling area.

property Major: Boolean;

Description

Set the Major property to False to hide the major time scale.

The default value of the Major property is True.


TcxSchedulerTimeGridViewScales.MajorUnitSeparatorWidth

TcxSchedulerTimeGridViewScales

Specifies the width in pixels of the major time scale’s splitter.

property MajorUnitSeparatorWidth: Integer;

Description

The major scale’s splitter is a bar that visually divides the units on the major time scale.

Use the MajorUnitSeparatorWidth property to specify the width of the major time scale’s splitter.

The default value of the MajorUnitSeparatorWidth property is cxDefaultSplitterWidth.


TcxSchedulerTimeGridViewScales.MajorUnit

TcxSchedulerTimeGridViewScales          See Also

Specifies the major time scale’s unit.

property MajorUnit: TcxSchedulerTimeGridScaleUnit;

Description

Use the MajorUnit property to specify the unit of the major time scale.

The default value of the MajorUnit property is tgsDay.


TcxSchedulerTimeGridViewScales.Minor

TcxSchedulerTimeGridViewScales          See Also

Specifies whether the minor time scale is displayed in the scheduling area.

property Minor: Boolean;

Description

Set the Minor property to False to hide the minor time scale.

The default value of the Minor property is True.


TcxSchedulerTimeGridViewScales.MinorUnit

TcxSchedulerTimeGridViewScales          See Also

Specifies the minor time scale’s unit.

property MinorUnit: TcxSchedulerTimeGridScaleUnit;

Description

Use the MinorUnit property to specify the minor time scale’s unit.

Note: the MinorUnit property’s value can’t be the same or greater than the value of the MajorUnit property.

The default value of the MinorUnit property is tgsHour.


TcxSchedulerTimeGridViewScales.MinorUnitWidth

TcxSchedulerTimeGridViewScales          See Also

Specifies the width in pixels of the minor time scale’s unit.

property MinorUnitWidth: Integer;

Description

Use the MinorUnitWidth property to specify the width of the minor time scale’s unit.

The default value of the MinorUnitWidth property is cxDefaultMinorUnitWidth.


TcxSchedulerTimeGridViewScales.Scheduler

TcxSchedulerTimeGridViewScales

Represents the scheduler control.

property Scheduler: TcxCustomScheduler;

Description

The scheduler control provides a graphical interface to end-users for scheduling user events.

Use the Scheduler property to access the scheduler control instance.

ReadOnly Property


TcxSchedulerTimeGridViewScales.TimeGrid

TcxSchedulerTimeGridViewScales

Represents the timegrid view.

property TimeGrid: TcxSchedulerTimeGridView;

Description

In the timegrid view user events are chronologically ordered from left to right.

Use the TimeGrid property to access the timegrid view instance.

ReadOnly Property


TcxSchedulerTimeGridViewScales.TimeStep

TcxSchedulerTimeGridViewScales          See Also

Specifies the division used for the time selection bar.

property TimeStep: Integer;

Description

Use the TimeStep property to specify the size of the time selection bar’s unit.

The default value of the TimeStep property is 30.


TcxSchedulerTimeGridViewStyles
TcxSchedulerTimeGridViewStyles Object

Hierarchy          Properties          Methods

The TcxSchedulerTimeGridViewStyles class represents style settings for the timegrid view.

Unit

cxSchedulerTimeGridView

TcxSchedulerTimeGridViewStyles = class(TcxStyles)

Description

The TcxSchedulerTimeGridViewStyles class provides styles for the scheduling area’s elements which are visible under the timegrid view – they are the time selection bar located under the minor scale, the splitter that divides the time units of the major time scale, the major and minor time scales.

It also implements methods, which allow information on the styles that are currently applied to the timegrid view’s elements to be obtained.

The TcxSchedulerTimeGridViewStyles object is referenced by the view’s Styles property.


TcxSchedulerTimeGridViewStyles Hierarchy
Hierarchy

TcxStyles

     |

TcxSchedulerTimeGridViewStyles


Properties for TcxSchedulerTimeGridViewStyles
TcxSchedulerTimeGridViewStyles Properties

TcxSchedulerTimeGridViewStyles          Legend

In TcxSchedulerTimeGridViewStyles

MajorScale

MajorScaleUnitSeparator

MinorScale

Scheduler

SelectionBar

TimeGrid


Methods for TcxSchedulerTimeGridViewStyles
TcxSchedulerTimeGridViewStyles Methods

TcxSchedulerTimeGridViewStyles          Legend

In TcxSchedulerTimeGridViewStyles

GetMajorScaleParams

GetMajorScaleSeparatorParams

GetMinorScaleParams

GetSelectionBarParams


Events for TcxSchedulerTimeGridViewStyles
TcxSchedulerTimeGridViewStyles Events

TcxSchedulerTimeGridViewStyles          Legend

In TcxSchedulerTimeGridViewStyles

OnGetMajorScaleParams

OnGetMinorScaleParams

OnGetSelectionBarParams


TcxSchedulerTimeGridViewStyles.MajorScale

TcxSchedulerTimeGridViewStyles          See Also

Specifies style settings for the major time scale.

property MajorScale: TcxStyle;

Description

Use the MajorScale property to specify style settings for the major time scale.


TcxSchedulerTimeGridViewStyles.MajorScaleUnitSeparator

TcxSchedulerTimeGridViewStyles          See Also

Specifies style settings for the major time scale’s splitter.

property MajorScaleUnitSeparator: TcxStyle;

Description

Use the MajorScaleUnitSeparator property to specify style settings for the major time scale’s splitter.


TcxSchedulerTimeGridViewStyles.MinorScale

TcxSchedulerTimeGridViewStyles          See Also

Specifies style settings for the minor time scale.

property MinorScale: TcxStyle;

Description

Use the MinorScale property to specify style settings for the minor time scale.


TcxSchedulerTimeGridViewStyles.Scheduler

TcxSchedulerTimeGridViewStyles

Represents the scheduler control.

property Scheduler: TcxCustomScheduler;

Description

The scheduler control provides a graphical interface to end-users for scheduling user events.

Use the Scheduler property to access the scheduler control instance.

ReadOnly Property


TcxSchedulerTimeGridViewStyles.SelectionBar

TcxSchedulerTimeGridViewStyles          See Also

Specifies style settings for the time selection bar.

property SelectionBar: TcxStyle;

Description

Use the SelectionBar property to specify style settings for the time selection bar.


TcxSchedulerTimeGridViewStyles.TimeGrid

TcxSchedulerTimeGridViewStyles

Represents the timegrid view.

property TimeGrid: TcxSchedulerTimeGridView;

Description

In the timegrid view user events are chronologically ordered from left to right.

Use the TimeGrid property to access the timegrid view instance.

ReadOnly Property


TcxSchedulerTimeGridViewStyles.GetMajorScaleParams

TcxSchedulerTimeGridViewStyles          See Also

Returns the TcxViewParams record that contains information about the style attributes of the major time scale.

function GetMajorScaleParams(const ADateTime: TDateTime): TcxViewParams;

Description

Use the GetMajorScaleParams method to get information on the style attributes of the major time scale.


TcxSchedulerTimeGridViewStyles.GetMajorScaleSeparatorParams

TcxSchedulerTimeGridViewStyles          See Also

Returns the TcxViewParams record that contains information about the style attributes of the major time scale’s splitter.

function GetMajorScaleSeparatorParams: TcxViewParams;

Description

Use the GetMajorScaleSeparatorParams method to get information on the style attributes of the major time scale’s splitter.


TcxSchedulerTimeGridViewStyles.GetMinorScaleParams

TcxSchedulerTimeGridViewStyles          See Also

Returns the TcxViewParams record that contains information about the style attributes of the minor time scale.

function GetMinorScaleParams(const ADateTime: TDateTime): TcxViewParams;

Description

Use the GetMinorScaleParams method to get information on the style attributes of the minor time scale.


TcxSchedulerTimeGridViewStyles.GetSelectionBarParams

TcxSchedulerTimeGridViewStyles          See Also

Returns the TcxViewParams record that contains information about the style attributes of the time selection bar.

function GetSelectionBarParams(const ADateTime: TDateTime): TcxViewParams;

Description

Use the GetSelectionBarParams method to get information on the style attributes of the time selection bar.


TcxSchedulerTimeGridViewStyles.OnGetMajorScaleParams

TcxSchedulerTimeGridViewStyles          See Also

Fires before the ADateTime major scale unit is drawn when the style information on the unit is being updated.

type

  TcxSchedulerGetScaleItemStyleEvent = procedure(Sender: TObject; const ADateTime: TDateTime; var AStyle: TcxStyle) of object;

property OnGetMajorScaleParams: TcxSchedulerGetScaleItemStyleEvent;

Description

Implement the OnGetMajorScaleParams event handler to manually apply a custom style to a specific unit.

The Sender parameter specifies the timegrid view;

ADateTime specifies the currently processed unit;

AStyle represents a style that will be applied to ADateTime.

See the example in the Styles topic.


TcxSchedulerTimeGridViewStyles.OnGetMinorScaleParams

TcxSchedulerTimeGridViewStyles          See Also

Fires before the ADateTime minor scale unit is drawn when the style information on the unit is being updated.

type

  TcxSchedulerGetScaleItemStyleEvent = procedure(Sender: TObject; const ADateTime: TDateTime; var AStyle: TcxStyle) of object;

property OnGetMinorScaleParams: TcxSchedulerGetScaleItemStyleEvent;

Description

Implement the OnGetMinorScaleParams event handler to manually apply a custom style to a specific unit.

The Sender parameter specifies the timegrid view;

ADateTime specifies the currently processed unit;

AStyle represents a style that will be applied to ADateTime.

See the example in the Styles topic.


TcxSchedulerTimeGridViewStyles.OnGetSelectionBarParams

TcxSchedulerTimeGridViewStyles          See Also

Fires before the ADateTime time selection bar unit is drawn when the style information on the unit is being updated.

type

  TcxSchedulerGetScaleItemStyleEvent = procedure(Sender: TObject; const ADateTime: TDateTime; var AStyle: TcxStyle) of object;

property OnGetSelectionBarParams: TcxSchedulerGetScaleItemStyleEvent;

Description

Implement the OnGetSelectionBarParams event handler to manually apply a custom style to a specific unit.

The Sender parameter specifies the timegrid view;

ADateTime specifies the currently processed unit;

AStyle represents a style that will be applied to ADateTime.

See the example in the Styles topic.


TcxSchedulerTimeGridScaleTextType
TcxSchedulerTimeGridScaleTextType type

See Also

Enumerates the available types of formatting for the text, which will be displayed as the title of the major or minor time scale.

Unit

cxSchedulerTimeGridView

TcxSchedulerTimeGridScaleTextType = (sttUnknown, sttShort, sttMiddle, sttLong);

Description

Values include:

Value	Meaning
sttUnknown	Denotes that there isn't any information on the formatting available. The long date format will be applied
sttShort	Denotes that the short date format is available
sttMiddle	Denotes that the format is available for strings of the middle form. For example, if the scale is measured in weeks, then the month is displayed as a full name (January-December), the day and the year are displayed as two-digit numbers
sttLong	Denotes that the long date format is available


TcxSchedulerTimeGridScaleUnit
TcxSchedulerTimeGridScaleUnit type

See Also

Enumerates the available units of the major and minor time scales.

Unit

cxSchedulerTimeGridView

TcxSchedulerTimeGridScaleUnit = (suHour, suDay, suWeek, suMonth, suQuarter, suYear);

Description

Values include:

Value	Meaning
suHour	The scale is in hours
suDay	The scale is in days
suWeek	The scale is in weeks
suMonth	The scale is in months
suQuarter	The scale is in quarterly intervals
suYear	The scale is in years


cxDefaultMinorUnitWidth constant
cxDefaultMinorUnitWidth global constant

See Also

Specifies the default width in pixels of the minor time scale’s unit.

Unit

cxSchedulerTimeGridView

cxDefaultMinorUnitWidth = 50;

Description

The minor time scale facilitates an end-user scheduling user events when working under the timegrid view.

The minor time scale is only visible in the scheduling area if the TcxSchedulerTimeGridViewScales.Minor property is set to True.