CustomDrawObjectEventArgs.ObjectInfo Property
Gets information on the painted element.
Namespace: DevExpress.XtraScheduler
Assembly: DevExpress.XtraScheduler.v19.1.dll
Declaration
Property Value
Type | Description |
---|---|
DevExpress.Utils.Drawing.ObjectInfoArgs | A DevExpress.Utils.Drawing.ObjectInfoArgs class which provides information on the painted element. |
Remarks
Use the ObjectInfo property to obtain the painted element’s settings and perform custom painting based upon these settings.
Example
The following sample code handles the SchedulerControl.CustomDrawAppointment event to manually paint appointments. The image below shows the result.
Note
A complete sample project is available at https://github.com/DevExpress-Examples/customdrawappointment-customdrawappointmentbackground-e1142
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;
}
}