Skip to main content

Custom Drawing the Scheduler's Report

  • 3 minutes to read

This topic describes how to custom draw the scheduler’s report.

The following image shows the report’s elements:


the report is shown when the Daily print style is active (see the TcxSchedulerReportLinkPrintStyles.Daily property).

The scheduler’s report generating component (see the TcxSchedulerReportLink class) provides the means to custom paint the report’s various elements.

The following TcxSchedulerReportLink custom drawing events are provided in the table below:

Event Description
TcxSchedulerReportLink.OnCustomDrawContentCell Allows the time blocks in the report’s scheduling area to be custom painted.
TcxSchedulerReportLink.OnCustomDrawDateNavigatorDayCaptionCell Allows the day captions in the report’s Date Navigator to be custom painted.
TcxSchedulerReportLink.OnCustomDrawDateNavigatorDayCell Allows the dates in the report’s Date Navigator to be custom painted.
TcxSchedulerReportLink.OnCustomDrawDateNavigatorHeaderCell Allows the Date Navigator‘s month header in the report to be custom painted.
TcxSchedulerReportLink.OnCustomDrawDateNavigatorWeekNumberCell Allows the Date Navigator‘s week numbers in the report to be custom painted.
TcxSchedulerReportLink.OnCustomDrawEventPartCell Allows the different rectangles within the user event cells in the scheduler’s report to be custom painted.
TcxSchedulerReportLink.OnCustomDrawHeaderCell Allows the cell in which the resource and day headers are located to be custom painted.
TcxSchedulerReportLink.OnCustomDrawNotesCell Allows the report’s notes pane whether it is the plain notes pane or the lined notes pane to be custom painted.
TcxSchedulerReportLink.OnCustomDrawSchedulerHeaderCell Allows the scheduler’s header in the report to be custom painted.
TcxSchedulerReportLink.OnCustomDrawTaskPadCell Allows the report’s task pad to be custom painted.
TcxSchedulerReportLink.OnCustomDrawTimeRulerCell Allows the report’s time zone to be custom painted.

Parameters provided with these events are standardised to facilitate the task of developing custom code:

Sender specifies the TcxSchedulerReportLink component.

ACanvas specifies the drawing surface.

AItem provides information for rendering the appropriate element.

ADone specifies whether the default painting is required. If ADone is True, it prevents the default execution.


custom drawing can only be applied if the TcxSchedulerReportLink.SupportedCustomDraw property is True.

The following examples demonstrate how to handle some of the TcxSchedulerReportLink‘s events listed above.


the output as shown below is produced only if the TcxSchedulerReportLinkOptionsFormatting.UseNativeStyles property is set to False and the lfUltraFlat flag on the TcxSchedulerReportLinkOptionsFormatting.LookAndFeelKind property is active.


// Color the weekend's day captions in red


// Outline today's date with a border around it


// Color various areas of the scheduled user event

Here is the code execution result:

See Also