BaseGallery.CustomDrawItemImage Event

Enables the Gallery item's image to be painted manually.

Namespace: DevExpress.XtraBars.Ribbon.Gallery

Assembly: DevExpress.XtraBars.v20.1.dll

Declaration

[DXCategory("Events")]
public event GalleryItemCustomDrawEventHandler CustomDrawItemImage
<DXCategory("Events")>
Public Event CustomDrawItemImage As GalleryItemCustomDrawEventHandler

Event Data

The CustomDrawItemImage event's data class is GalleryItemCustomDrawEventArgs. The following properties provide information specific to this event:

Property Description
Bounds Gets the bounding rectangle of the Gallery item currently being painted.
Cache Gets an object which specifies the storage for the most used pens, fonts and brushes.
Gallery Gets the Gallery that contains the processed Gallery item. Inherited from GalleryItemEventArgs.
Handled Gets or sets whether an event was handled. If it was handled default painting isn't required.
InRibbonGalleryLink For In-Ribbon galleries, gets the bar item link that displays the current gallery. Inherited from GalleryItemEventArgs.
Item Gets the Gallery item currently being processed. Inherited from GalleryItemEventArgs.
ItemInfo Gets the information which is required to paint a Gallery item.

Remarks

The CustomDrawItemImage event is raised each time an item's image is about to be painted. The event parameter provides all the information necessary to paint an image. Set the Handled property to true to prohibit default image painting.

Examples

In this example the BaseGallery.CustomDrawItemImage event is handled to manually paint item images within the Font Color Gallery. Individual items correspond to specific colors.

The full source code can be found in the 'Ribbon Simple Pad' demo supplied with the XtraBars.

The image below shows the result:

Gallery_CustomDrawItemImage

private void gddFontColor_Gallery_CustomDrawItemImage(object sender, 
  GalleryItemCustomDrawEventArgs e) {
    Color clr = (Color)e.Item.Tag;
    using(Brush brush = new SolidBrush(clr)) {
        e.Cache.FillRectangle(brush, e.Bounds);
        e.Handled = true;
    }
}
See Also