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.  
   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. Use the ClientToCursor method to convert client coordinates to cursor coordinates. Use the TextLine property to retrieve the line giving its index.

The following VB sample displays the line from the cursor:

Private Sub Edit1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
    With Edit1
        Dim i As Long, c As Long
        .ClientToCursor x / Screen.TwipsPerPixelX, y / Screen.TwipsPerPixelY, c, i
        If (i > 0) Then
            Debug.Print .TextLine(i)
        End If
    End With
End Sub

The following C++ sample displays the line from the cursor:

void OnMouseDownEdit1(short Button, short Shift, long X, long Y) 
{
	long nLine = 0, nColumn = 0;
	m_edit.ClientToCursor( X, Y, &nColumn, &nLine );
	if ( nLine > 0 )
		OutputDebugString( m_edit.GetTextLine( nLine ) );
}

The following VB.NET sample displays the line from the cursor:

Private Sub AxEdit1_MouseDownEvent(ByVal sender As Object, ByVal e As AxEXEDITLib._IEditEvents_MouseDownEvent) Handles AxEdit1.MouseDownEvent
    With AxEdit1
        Dim i As Integer, c As Integer
        .ClientToCursor(e.x, e.y, c, i)
        If (i > 0) Then
            Debug.WriteLine(.get_TextLine(i))
        End If
    End With
End Sub

The following C# sample displays the line from the cursor:

private void axEdit1_MouseDownEvent(object sender, AxEXEDITLib._IEditEvents_MouseDownEvent e)
{
	int iLine = 0, iColumn = 0;
	axEdit1.ClientToCursor(e.x, e.y, out iColumn, out iLine);
	if (iLine > 0)
		System.Diagnostics.Debug.WriteLine(axEdit1.get_TextLine(iLine));
}

The following VFP sample displays the line from the cursor:

*** ActiveX Control Event ***
LPARAMETERS button, shift, x, y

with thisform.Edit1
	local i, c
	i = 0
	c = 0
	.ClientToCursor(x, y, @c, @i)
	If (i > 0) Then
    	wait window nowait .TextLine(i)
	EndIf
endwith 

 


Send comments on this topic.
© 1999-2010 Exontrol.COM, Software. All rights reserved.