TabbedView.CustomDrawTabHeader Event
Allows you to draw a tab header manually.
Namespace: DevExpress.XtraBars.Docking2010.Views.Tabbed
Assembly: DevExpress.XtraBars.v24.2.dll
NuGet Package: DevExpress.Win.Navigation
#Declaration
#Event Data
The CustomDrawTabHeader event's data class is TabHeaderCustomDrawEventArgs. The following properties provide information specific to this event:
Property | Description |
---|---|
Bounds | Gets the rectangle that specifies the bounds of the tab header. |
Cache | Provides access to the drawing surface and a cache of pens, fonts, and brushes. |
Control |
Gets an object that contains information about the tab being drawn. |
Graphics | Provides access to the drawing surface. |
Handled | Gets or sets whether the event is handled and prevents the default draw operation from being performed. |
Painter | Provides access to the object that performs paint operations. |
Tab |
Provides access to the object that contains information about the page being drawn. |
Tab |
Provides access to the object that contains information about the row being drawn. |
The event data class exposes the following methods:
Method | Description |
---|---|
Default |
Draws the visual element according to the default algorithm. |
Default |
Draws the visual element’s background according to the default algorithm. |
Default |
Draws the visual element’s buttons according to the default algorithm. |
Default |
Draws the visual element’s icon according to the default algorithm. |
Default |
Draws the visual element’s text according to the default algorithm. |
Draw |
Paints the required HTML template inside an element that raised this event. The context parameter allows you to assign an object that transfers mouse events to template elements. |
Draw |
Paints the required HTML template inside an element that raised this event. |
#Example
The code below shows how to draw a custom background in tab headers and header buttons.
using System.Drawing.Drawing2D;
HatchBrush myHatchBrush1 = new HatchBrush(HatchStyle.BackwardDiagonal, Color.LightGray, Color.AliceBlue);
private void TabbedView_CustomDrawTabHeader(object sender, XtraTab.TabHeaderCustomDrawEventArgs e) {
e.Cache.FillRectangle(myHatchBrush1, e.Bounds);
e.DefaultDrawText();
e.DefaultDrawImage();
e.DefaultDrawButtons();
e.Handled = true;
}
HatchBrush myHatchBrush2 = new HatchBrush(HatchStyle.DiagonalCross, Color.LightGray, Color.AliceBlue);
private void TabbedView_CustomDrawHeaderButton(object sender, XtraTab.HeaderButtonCustomDrawEventArgs e) {
e.Cache.FillRectangle(myHatchBrush2, e.Bounds);
e.DefaultDraw();
e.Handled = true;
}
The following example demonstrates how to obtain the bounds of a tab header and its UI elements, and the document itself:
using System.Drawing.Drawing2D;
private void TabbedView1_CustomDrawTabHeader(object sender, DevExpress.XtraTab.TabHeaderCustomDrawEventArgs e) {
// Gets the document.
var document = (e.TabHeaderInfo.Page as IDocumentInfo).Document;
var tabHeaderBounds = e.Bounds;
var textBounds = e.TabHeaderInfo.Text;
var buttonBounds = e.TabHeaderInfo.ButtonsPanel.Bounds;
/*
* Draw the tab header and its UI elements.
* ...
*/
}