Retrieves the name of the event's parameter.
Type | Description | |||
String | A string expression that indicates the name of the event's parameter. |
Private Sub SwimLane1_OleEvent(ByVal Element As EXSWIMLANELibCtl.IElement, ByVal Ev As EXSWIMLANELibCtl.IOleEvent) Debug.Print "Event name:" & Ev.Name If (Ev.CountParam = 0) Then Debug.Print "The event has no arguments." Else Debug.Print "The event has the following arguments:" Dim i As Long For i = 0 To Ev.CountParam - 1 Debug.Print Ev(i).Name; " = " & Ev(i).Value Next End If End Sub
The following VC sample displays the events that an ActiveX control is firing while it is hosted by an element:
#import <exswimlane.dll> static CString V2S( VARIANT* pv, LPCTSTR szDefault = _T("") ) { if ( pv ) { if ( pv->vt == VT_ERROR ) return szDefault; COleVariant vt; vt.ChangeType( VT_BSTR, pv ); return V_BSTR( &vt ); } return szDefault; } void OnOleEventSwimLane1(LPDISPATCH Element, LPDISPATCH Ev) { EXSWIMLANELib::IOleEventPtr spEvent( Ev ); CString strOutput; strOutput.Format( "Event's name: %s\n", spEvent->Name.operator const char *() ); OutputDebugString( strOutput ); if ( spEvent->CountParam == 0 ) OutputDebugString( "The event has no parameters." ); else { for ( long i = 0; i < spEvent->CountParam; i++ ) { EXSWIMLANELib::IOleEventParamPtr spParam = spEvent->GetParam( COleVariant( i ) ); strOutput.Format( "Name: %s, Value: %s\n", spParam->Name.operator const char *(), V2S( &spParam->Value ) ); OutputDebugString( strOutput ); } } OutputDebugString( "" ); }
The #import clause is required to get the wrapper classes for IOleEvent and IOleEventParam objects, that are not defined by the MFC class wizard. The same #import statement defines the EXSWIMLANELib namespace that include all objects and types of the control's TypeLibrary. In case your exswimlane.dll library is located to another place than the system folder or well known path, the path to the library should be provided, in order to let the VC finds the type library.
The following VB.NET sample displays the events that an ActiveX control is firing while it is hosted by an element:
Private Sub AxSwimLane1_OleEvent(ByVal sender As Object, ByVal e As AxEXSWIMLANELib._ISwimLaneEvents_OleEventEvent) Handles AxSwimLane1.OleEvent Debug.WriteLine("Event's name: " & e.ev.Name) Dim i As Long For i = 0 To e.ev.CountParam - 1 Dim eP As EXSWIMLANELib.OleEventParam eP = e.ev(i) Debug.WriteLine("Name: " & e.ev.Name & " Value: " & eP.Value) Next End Sub
The following C# sample displays the events that an ActiveX control is firing while it is hosted by an element:
private void AxSwimLane1_OleEvent(object sender, AxEXSWIMLANELib._ISwimLaneEvents_OleEventEvent e) { System.Diagnostics.Debug.WriteLine( "Event's name: " + e.ev.Name.ToString() ); for ( int i= 0; i < e.ev.CountParam ; i++ ) { EXSWIMLANELib.IOleEventParam evP = e.ev[i]; System.Diagnostics.Debug.WriteLine( "Name: " + evP.Name.ToString() + ", Value: " + evP.Value.ToString() ); } }
The following VFP sample displays the events that an ActiveX control fires when it is hosted by an element ( OleEvent event ):
*** ActiveX Control Event *** LPARAMETERS item, ev local s s = "Event's name: " + ev.Name for i = 0 to ev.CountParam - 1 s = s + "Name: " + ev.Param(i).Name + " ,Value: " + Str(ev.Param(i).Value) endfor wait window nowait s