Skip to main content
A newer version of this page is available. .

CustomDrawObjectEventArgs Class

Provides data for the custom draw events of the SchedulerControl.

Namespace: DevExpress.XtraScheduler

Assembly: DevExpress.XtraScheduler.v18.1.dll

Declaration

public class CustomDrawObjectEventArgs :
    EventArgs

Remarks

The custom draw events occur before any scheduler element is painted. The CustomDrawObjectEventArgs class introduces several properties to represent all objects necessary to implement the custom drawing of a scheduler element.

If CustomDrawObjectEventArgs.Handled is set to true, the default painting is not performed after the handler code execution. Use CustomDrawObjectEventArgs.DrawDefault method in the handler code to render the element using the default drawing mechanism.

Note

When handling custom draw events in Scheduler Reporting, use only CustomDrawObjectEventArgs.Cache or e.Cache.Paint methods. Do not use CustomDrawObjectEventArgs.Graphics methods.

Example

The following sample code handles the SchedulerControl.CustomDrawAppointment event to manually paint appointments. The image below shows the result.

CustomDrawAppointment

using DevExpress.XtraScheduler;
using DevExpress.XtraScheduler.Drawing;
using System.Drawing.Drawing2D;
        private void schedulerControl1_CustomDrawAppointment(object sender, CustomDrawObjectEventArgs e) {
            TimeLineAppointmentViewInfo tlvi = e.ObjectInfo as TimeLineAppointmentViewInfo;
            // This code works only for the Timeline View.
            if(tlvi != null) {
                Rectangle r = e.Bounds;
                r.X += 3;
                r.Y += 3;
                string[] s = tlvi.Appointment.Subject.Split(' ');

                for(int i = 0; i < s.Length; i++) {
                    e.Cache.DrawString(s[i], tlvi.Appearance.Font, new SolidBrush(colorArray[i]),
 r, StringFormat.GenericDefault);
                    SizeF shift = e.Graphics.MeasureString(s[i] + " ", tlvi.Appearance.Font);
                    r.X += (int)shift.Width;
                }

                e.Handled = true;
            }
        }

The following code snippets (auto-collected from DevExpress Examples) contain references to the CustomDrawObjectEventArgs class.

Note

The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

Inheritance

See Also