Type | Description | |||
Date as Variant | A DATE expression that specifies the date/day to be queried for events | |||
Variant | A Safe array of Event objects being shown in the specified date. |
The following sample shows how you can enumerate the events within the selected date, once the LayoutEndChanging(exCalendarSelectionChange) event occurs.
VB
Private Sub Schedule1_LayoutEndChanging(ByVal Operation As EXSCHEDULELibCtl.LayoutChangingEnum) If Operation = exCalendarSelectionChange Then Dim d As Variant If (Schedule1.Calendar.SelCount = 1) Then For Each d In Schedule1.DateEvents(Schedule1.Calendar.SelDate(0)) Debug.Print "Event: " & d.Start & " " & d.End Next End If End If End Sub
VB/NET
Private Sub Exschedule1_LayoutEndChanging(ByVal sender As System.Object, ByVal Operation As exontrol.EXSCHEDULELib.LayoutChangingEnum) Handles Exschedule1.LayoutEndChanging If Operation = exontrol.EXSCHEDULELib.LayoutChangingEnum.exCalendarSelectionChange Then If (Exschedule1.Calendar.SelCount > 0) Then Dim evs As List(Of exontrol.EXSCHEDULELib.Event) = Exschedule1.get_DateEvents(Exschedule1.Calendar.get_SelDate(0)) If Not evs Is Nothing Then For Each d As exontrol.EXSCHEDULELib.Event In evs Debug.Print("Event: " & d.Start & " " & d.End) Next End If End If End If End Sub
or:
Private Sub Exschedule1_LayoutEndChanging(ByVal sender As System.Object, ByVal Operation As exontrol.EXSCHEDULELib.LayoutChangingEnum) Handles Exschedule1.LayoutEndChanging If Operation = exontrol.EXSCHEDULELib.LayoutChangingEnum.exCalendarSelectionChange Then If (Exschedule1.Calendar.SelCount > 0) Then Dim evs As List(Of exontrol.EXSCHEDULELib.Event) = Exschedule1.get_DateEvents(Exschedule1.Calendar.get_SelDate(0)) If Not evs Is Nothing Then For Each d As exontrol.EXSCHEDULELib.Event In evs Debug.Print("Event: " & d.Start & " " & d.End) Next End If End If End If End Sub
C#
private void exschedule1_LayoutEndChanging(object sender, exontrol.EXSCHEDULELib.LayoutChangingEnum Operation) { if ( Operation == exontrol.EXSCHEDULELib.LayoutChangingEnum.exCalendarSelectionChange ) if ( exschedule1.Calendar.SelCount == 1 ) { List<exontrol.EXSCHEDULELib.Event> evs = exschedule1.get_DateEvents(exschedule1.Calendar.get_SelDate(0)); if ( evs != null ) foreach (exontrol.EXSCHEDULELib.Event d in evs) System.Diagnostics.Debug.Print("Event: " + d.Start.ToString() + " " + d.Start.ToString()); } }
VFP
*** ActiveX Control Event *** LPARAMETERS operation * 1 ' exCalendarSelectionChange If Operation = 1 Then IF ( thisform.Schedule1.Calendar.SelCount = 1 ) Then local e, evs as Object thisform.Schedule1.TemplateDef = "dim d" thisform.Schedule1.TemplateDef = thisform.Schedule1.Calendar.SelDate(0) evs = thisform.Schedule1.ExecuteTemplate("DateEvents(d)") For Each e In evs LOCAL ee as Object ee = thisform.Schedule1.Events(e) WAIT WINDOW TTOC(ee.Start) + " " + TTOC(ee.End) ENDFOR ENDif EndIf
C++
void LayoutEndChangingSchedule1(long Operation) { if ( Operation == EXSCHEDULELib::exCalendarSelectionChange ) if ( m_spSchedule->Calendar->SelCount == 1 ) { _variant_t evs; if ( SUCCEEDED( m_spSchedule->get_DateEvents( _variant_t( m_spSchedule->Calendar->SelDate[0], VT_DATE ), &evs ) ) ) if ( V_VT( &evs ) == ( VT_ARRAY | VT_VARIANT ) ) { BYTE* p = NULL; long nCount = 0; if ( SUCCEEDED( SafeArrayGetUBound( V_ARRAY( &evs ), 1, &nCount ) ) ) { if ( SUCCEEDED( SafeArrayAccessData( V_ARRAY( &evs ), (LPVOID*)&p ) ) ) { for ( long i = 0; i < nCount + 1; i++, p += sizeof(VARIANT) ) { VARIANT* pValue = (VARIANT*)p; if ( V_VT( pValue ) == VT_DISPATCH ) { EXSCHEDULELib::IEventPtr spEvent = V_DISPATCH( pValue ); CString strMessage; strMessage.Format( _T("Event: %f %f\r\n"), spEvent->Start, spEvent->End ); OutputDebugString( strMessage ); } } SafeArrayUnaccessData( V_ARRAY( &evs ) ); } } } } }
where m_spSchedule is of EXSCHEDULELib::ISchedulePtr type.