Type | Description | |||
Part as PartEnum | A PartEnum expression that indicates the part being painted | |||
hDC as Long | A long expression that indicates the handle to the painting device context ( HDC ) |
private void OwnerDrawEnd(object sender,exontrol.EXSCROLLBARLib.PartEnum Part,int hDC) { } Private Sub OwnerDrawEnd(ByVal sender As System.Object,ByVal Part As exontrol.EXSCROLLBARLib.PartEnum,ByVal hDC As Integer) Handles OwnerDrawEnd End Sub |
private void OwnerDrawEnd(object sender, AxEXSCROLLBARLib._IScrollBarEvents_OwnerDrawEndEvent e) { } void OnOwnerDrawEnd(long Part,long hDC) { } void __fastcall OwnerDrawEnd(TObject *Sender,Exscrollbarlib_tlb::PartEnum Part,long hDC) { } procedure OwnerDrawEnd(ASender: TObject; Part : PartEnum;hDC : Integer); begin end; procedure OwnerDrawEnd(sender: System.Object; e: AxEXSCROLLBARLib._IScrollBarEvents_OwnerDrawEndEvent); begin end; begin event OwnerDrawEnd(long Part,long hDC) end event OwnerDrawEnd Private Sub OwnerDrawEnd(ByVal sender As System.Object, ByVal e As AxEXSCROLLBARLib._IScrollBarEvents_OwnerDrawEndEvent) Handles OwnerDrawEnd End Sub Private Sub OwnerDrawEnd(ByVal Part As EXSCROLLBARLibCtl.PartEnum,ByVal hDC As Long) End Sub Private Sub OwnerDrawEnd(ByVal Part As Long,ByVal hDC As Long) End Sub LPARAMETERS Part,hDC PROCEDURE OnOwnerDrawEnd(oScrollBar,Part,hDC) RETURN |
<SCRIPT EVENT="OwnerDrawEnd(Part,hDC)" LANGUAGE="JScript"> </SCRIPT> <SCRIPT LANGUAGE="VBScript"> Function OwnerDrawEnd(Part,hDC) End Function </SCRIPT> Procedure OnComOwnerDrawEnd OLEPartEnum llPart Integer llhDC Forward Send OnComOwnerDrawEnd llPart llhDC End_Procedure METHOD OCX_OwnerDrawEnd(Part,hDC) CLASS MainDialog RETURN NIL void onEvent_OwnerDrawEnd(int _Part,int _hDC) { } function OwnerDrawEnd as v (Part as OLE::Exontrol.ScrollBar.1::PartEnum,hDC as N) end function function nativeObject_OwnerDrawEnd(Part,hDC) return |
For instance, the following VB sample draws the lower part in red, and the upper part in green ( as in the screen shot ) :
With ScrollBar1 .OwnerDrawPart(exLowerBackPart Or exUpperBackPart) = True End With
Private Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type Private Declare Function GetClipBox Lib "gdi32" (ByVal hdc As Long, lpRect As RECT) As Long Private Declare Function FillRect Lib "user32" (ByVal hdc As Long, lpRect As RECT, ByVal hBrush As Long) As Long Private Declare Function CreateSolidBrush Lib "gdi32" (ByVal crColor As Long) As Long Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long Private Sub ScrollBar1_OwnerDrawEnd(ByVal Part As EXSCROLLBARLibCtl.PartEnum, ByVal hdc As Long) Dim r As RECT, h As Long GetClipBox hdc, r r.Left = r.Left + 4 r.Right = r.Right - 4 If Part = exLowerBackPart Then h = CreateSolidBrush(RGB(255, 0, 0)) FillRect hdc, r, h DeleteObject (h) Else If Part = exUpperBackPart Then h = CreateSolidBrush(RGB(0, 255, 0)) FillRect hdc, r, h DeleteObject (h) End If End If End Sub
The following C++ sample draws the lower part in red, and the upper part in green ( as in the screen shot ) :
m_scrollbar.SetOwnerDrawPart( 128 /*exUpperBackPart*/, TRUE ); m_scrollbar.SetOwnerDrawPart( 512 /*exLowerBackPart*/, TRUE );
void OnOwnerDrawEndScrollbar1(long Part, long hDC) { HDC h = (HDC)hDC; RECT rtPart = {0}; GetClipBox( h, &rtPart ); InflateRect( &rtPart, -4, 0 ); switch ( Part ) { case 128: /*exUpperBackPart*/ { HBRUSH hB = CreateSolidBrush( RGB(0,255,0) ); FillRect( h, &rtPart, hB ); DeleteObject( hB ); break; } case 512: /*exLowerBackPart*/ { HBRUSH hB = CreateSolidBrush( RGB(255,0,0) ); FillRect( h, &rtPart, hB ); DeleteObject( hB ); break; } } }