event MouseDown (Button as Integer, Shift as Integer, X as OLE_XPOS_PIXELS, Y as OLE_YPOS_PIXELS)

Occurs when the user presses a mouse button.

TypeDescription
Button as Integer An integer that identifies the button that was pressed to cause the event as as 1 for Left Mouse Button, 2 for Right Mouse Button and 4 for Middle Mouse Button.
Shift as Integer An integer that corresponds to the state of the SHIFT, CTRL, and ALT keys when the button specified in the button argument is pressed or released.
X as OLE_XPOS_PIXELS A single that specifies the current X location of the mouse pointer. The X value is always expressed in container coordinates.
Y as OLE_YPOS_PIXELS A single that specifies the current Y location of the mouse pointer. The Y value is always expressed in container coordinates.

Use a MouseDown or MouseUp event procedure to specify actions that will occur when a mouse button is pressed or released. Unlike the Click and DblClick events, MouseDown and MouseUp events lets you distinguish between the left, right, and middle mouse buttons. You can also write code for mouse-keyboard combinations that use the SHIFT, CTRL, and ALT keyboard modifiers. 

During Click event you can use the ...FromPoint(-1,-1) properties to get UI elements of the scheduler from the cursor as follows:

All ...FromPoint properties that returns an Object, may return Nothing, Empty or NULL, if no object is found.

Use the Parent property to move the calendar panel to other place.

Syntax for MouseDown event, /NET version, on:

private void MouseDownEvent(object sender,short Button,short Shift,int X,int Y)
{
}

Private Sub MouseDownEvent(ByVal sender As System.Object,ByVal Button As Short,ByVal Shift As Short,ByVal X As Integer,ByVal Y As Integer) Handles MouseDownEvent
End Sub

Syntax for MouseDown event, /COM version, on:

private void MouseDownEvent(object sender, AxEXSCHEDULELib._IScheduleEvents_MouseDownEvent e)
{
}

void OnMouseDown(short Button,short Shift,long X,long Y)
{
}

void __fastcall MouseDown(TObject *Sender,short Button,short Shift,int X,int Y)
{
}

procedure MouseDown(ASender: TObject; Button : Smallint;Shift : Smallint;X : Integer;Y : Integer);
begin
end;

procedure MouseDownEvent(sender: System.Object; e: AxEXSCHEDULELib._IScheduleEvents_MouseDownEvent);
begin
end;

begin event MouseDown(integer Button,integer Shift,long X,long Y)
end event MouseDown

Private Sub MouseDownEvent(ByVal sender As System.Object, ByVal e As AxEXSCHEDULELib._IScheduleEvents_MouseDownEvent) Handles MouseDownEvent
End Sub

Private Sub MouseDown(Button As Integer,Shift As Integer,X As Single,Y As Single)
End Sub

Private Sub MouseDown(ByVal Button As Integer,ByVal Shift As Integer,ByVal X As Long,ByVal Y As Long)
End Sub

LPARAMETERS Button,Shift,X,Y

PROCEDURE OnMouseDown(oSchedule,Button,Shift,X,Y)
RETURN

Syntax for MouseDown event, /COM version (others), on:

<SCRIPT EVENT="MouseDown(Button,Shift,X,Y)" LANGUAGE="JScript">
</SCRIPT>

<SCRIPT LANGUAGE="VBScript">
Function MouseDown(Button,Shift,X,Y)
End Function
</SCRIPT>

Procedure OnComMouseDown Short llButton Short llShift OLE_XPOS_PIXELS llX OLE_YPOS_PIXELS llY
	Forward Send OnComMouseDown llButton llShift llX llY
End_Procedure

METHOD OCX_MouseDown(Button,Shift,X,Y) CLASS MainDialog
RETURN NIL

void onEvent_MouseDown(int _Button,int _Shift,int _X,int _Y)
{
}

function MouseDown as v (Button as N,Shift as N,X as OLE::Exontrol.Schedule.1::OLE_XPOS_PIXELS,Y as OLE::Exontrol.Schedule.1::OLE_YPOS_PIXELS)
end function

function nativeObject_MouseDown(Button,Shift,X,Y)
return

The following two samples shows how to use a separate calendar control, instead the schedule's calendar panel:

Insert the CalendarCombo or eXCalendar to a form, and name it Calendar1. Next, add the eXSchedule component to the same form, and name it to Schedule1. Now, use the following code:

Private Sub Calendar1_SelectionChanged()
    Schedule1.Calendar.Selection = Calendar1.Value
End Sub

Private Sub Form_Load()
    With Schedule1
        .OnResizeControl = 768
        .Calendar.Selection = Calendar1.Value
    End With
End Sub

If you want so synchronize the dates, so once the user clicks another date in the schedule view, you can use a code as follows:

Private Sub Schedule1_MouseDown(Button, Shift, X, Y)
    If (Shift = 0) Then
        If (Button = 1) Then
            With Schedule1
                Dim d As Date
                d = Fix(.DateTimeFromPoint(-1, -1))
                If (d <> 0) Then
                    Calendar1.Value = d
                End If
            End With
        End If
    End If
End Sub

SHIFT + Click the schedule view, and move the view to a new position, and then click. The new date in the calendar is selected. The Fix(.DateTimeFromPoint(-1, -1)) gets the integer part of the date, in other words, just the date from the cursor, not including the time section. The .DateTimeFromPoint(-1, -1) gets the date including the time being clicked.

Insert the eXSchedule control to a form, and name it Calendar1. Next, add a new eXSchedule to the same form, and name it to Schedule1. Now, use the following code:

Private Sub Calendar1_LayoutEndChanging(Operation)
    If (Operation = exCalendarSelectionChange) Then
        Schedule1.Calendar.Selection = Calendar1.Calendar.Selection
    End If
End Sub

Private Sub Form_Load()
    With Calendar1
        .OnResizeControl = 257
    End With
    With Schedule1
        .OnResizeControl = 768
        .Calendar.Selection = Calendar1.Calendar.Selection
    End With
End Sub

If you want so synchronize the dates, so once the user clicks another date in the schedule view, you can use a code as follows:

Private Sub Schedule1_MouseDown(Button, Shift, X, Y)
    If (Shift = 0) Then
        If (Button = 1) Then
            With Schedule1
                Dim d As Date
                d = Fix(.DateTimeFromPoint(-1, -1))
                If (d <> 0) Then
                    Calendar1.Calendar.Selection = d
                End If
            End With
        End If
    End If
End Sub

SHIFT + Click the schedule view, and move the view to a new position, and then click. The new date in the calendar is selected. The Fix(.DateTimeFromPoint(-1, -1)) gets the integer part of the date, in other words, just the date from the cursor, not including the time section. The .DateTimeFromPoint(-1, -1) gets the date including the time being clicked.

The samples changes the Selection property of the Schedule's Calendar object, when the selection is changed in the second ( the calendar ) control.