

| Type | Description | |||
| Panel as Panel | A Panel object being painted | |||
| hDC as Long | A long expression that indicates the handle to the painting device context ( HDC ) | 

Syntax for OwnerDrawEnd event, /NET version, on:
		private void OwnerDrawEnd(object sender,exontrol.EXSTATUSBARLib.Panel Panel,int hDC)
{
}
		Private Sub OwnerDrawEnd(ByVal sender As System.Object,ByVal Panel As exontrol.EXSTATUSBARLib.Panel,ByVal hDC As Integer) Handles OwnerDrawEnd End Sub  | 
		private void OwnerDrawEnd(object sender, AxEXSTATUSBARLib._IStatusBarEvents_OwnerDrawEndEvent e)
{
}
		void OnOwnerDrawEnd(LPDISPATCH Panel,long hDC)
{
}
		void __fastcall OwnerDrawEnd(TObject *Sender,Exstatusbarlib_tlb::IPanel *Panel,long hDC)
{
}
		procedure OwnerDrawEnd(ASender: TObject; Panel : IPanel;hDC : Integer); begin end; procedure OwnerDrawEnd(sender: System.Object; e: AxEXSTATUSBARLib._IStatusBarEvents_OwnerDrawEndEvent); begin end; begin event OwnerDrawEnd(oleobject Panel,long hDC) end event OwnerDrawEnd Private Sub OwnerDrawEnd(ByVal sender As System.Object, ByVal e As AxEXSTATUSBARLib._IStatusBarEvents_OwnerDrawEndEvent) Handles OwnerDrawEnd End Sub Private Sub OwnerDrawEnd(ByVal Panel As EXSTATUSBARLibCtl.IPanel,ByVal hDC As Long) End Sub Private Sub OwnerDrawEnd(ByVal Panel As Object,ByVal hDC As Long) End Sub LPARAMETERS Panel,hDC PROCEDURE OnOwnerDrawEnd(oStatusBar,Panel,hDC) RETURN  | 
		<SCRIPT EVENT="OwnerDrawEnd(Panel,hDC)" LANGUAGE="JScript"> </SCRIPT> <SCRIPT LANGUAGE="VBScript"> Function OwnerDrawEnd(Panel,hDC) End Function </SCRIPT> Procedure OnComOwnerDrawEnd Variant llPanel Integer llhDC Forward Send OnComOwnerDrawEnd llPanel llhDC End_Procedure METHOD OCX_OwnerDrawEnd(Panel,hDC) CLASS MainDialog RETURN NIL void onEvent_OwnerDrawEnd(COM _Panel,int _hDC)
{
}
		function OwnerDrawEnd as v (Panel as OLE::Exontrol.StatusBar.1::IPanel,hDC as N) end function function nativeObject_OwnerDrawEnd(Panel,hDC) return  | 
The following VB sample displays a curve in the owner draw panel:
Private Type RECT
        Left As Long
        Top As Long
        Right As Long
        Bottom As Long
End Type
Private Type POINTAPI
        x As Long
        y As Long
End Type
Private Declare Function GetClipBox Lib "gdi32" (ByVal hdc As Long, lpRect As RECT) As Long
Private Declare Function PolyBezier Lib "gdi32" (ByVal hdc As Long, lppt As POINTAPI, ByVal cPoints As Long) As Long
Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long
Private Declare Function CreatePen Lib "gdi32" (ByVal nPenStyle As Long, ByVal nWidth As Long, ByVal crColor As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Private Sub StatusBar1_OwnerDrawStart(ByVal Panel As EXSTATUSBARLibCtl.IPanel, ByVal hdc As Long, DefaultPainting As Boolean)
    Dim r As RECT
    GetClipBox hdc, r
    hPen = CreatePen(0, 3, RGB(255, 0, 0))
    hOPen = SelectObject(hdc, hPen)
    r.Left = r.Left + 4
    r.Right = r.Right - 4
    r.Top = r.Top + 4
    r.Bottom = r.Bottom - 4
    Dim p(7) As POINTAPI
    p(0).x = r.Left
    p(0).y = r.Bottom
    p(1).x = (r.Left + r.Right) / 2
    p(1).y = r.Top
    p(2).x = r.Left
    p(2).y = r.Top
    p(3).x = 2 * (r.Left + r.Right) / 3
    p(3).y = (r.Bottom + r.Top) / 2
    p(4).x = 2 * (r.Left + r.Right) / 3
    p(4).y = r.Top
    p(5).x = 4 * (r.Left + r.Right) / 5
    p(5).y = (r.Bottom + r.Top) / 3
    p(6).x = r.Right
    p(6).y = r.Bottom
    PolyBezier hdc, p(0), 7
    SelectObject hdc, hOPen
    DeleteObject hOPen
End Sub
  The following C++ sample displays a curve in the owner draw panel:
void OnOwnerDrawStartStatusbar1(LPDISPATCH Panel, long hDC, BOOL FAR* DefaultPainting) 
{
	HDC h = (HDC)hDC;
	RECT r = {0};
	GetClipBox( h, &r );
	CPanel panel(Panel);
	panel.m_bAutoRelease = FALSE;
	POINT p[7] = {(0,0)};
	HPEN hPen = CreatePen( PS_SOLID, 3, RGB(255,0,0) );
	HPEN hOPen = (HPEN)::SelectObject( h, hPen );
	InflateRect( &r, -4, -4 );
	p[0].x = r.left;
	p[0].y = r.bottom;
	p[1].x = (r.left + r.right) / 2;
	p[1].y = r.top;
	p[2].x = r.left;
	p[2].y = r.top;
	p[3].x = 2 * (r.left + r.right) / 3;
	p[3].y = (r.bottom + r.top) / 2;
	p[4].x = 2 * (r.left + r.right) / 3;
	p[4].y = r.top;
	p[5].x = 4 * (r.left + r.right) / 5;
	p[5].y = (r.bottom + r.top) / 3;
	p[6].x = r.right;
	p[6].y = r.bottom;
	PolyBezier( h, p, 7 );
	::SelectObject( h, hOPen );
	DeleteObject( hPen );
}