

| 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.