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:
|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: