event DblClick (Shift as Integer, X as OLE_XPOS_PIXELS, Y as OLE_YPOS_PIXELS)
Occurs when the user double clicks the left mouse button over an object.

 TypeDescription 
   Shift as Integer An integer that corresponds to the state of the SHIFT, CTRL, and ALT keys  
   X as OLE_XPOS_PIXELS A single that specifies the current X location of the mouse pointer. The x values 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 values is always expressed in container coordinates  

Use the DblClick event to notify your application that user double clicked the control. By default, the control selects the word from the cursor when the user double clicks the control's client area. 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 double clicked:

Private Sub Edit1_DblClick(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 that user double clicks:

void OnDblClickEdit1(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 that user double clicks:

Private Sub AxEdit1_DblClick(ByVal sender As Object, ByVal e As AxEXEDITLib._IEditEvents_DblClickEvent) Handles AxEdit1.DblClick
    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 that user double clicks:

private void axEdit1_DblClick(object sender, AxEXEDITLib._IEditEvents_DblClickEvent 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 that user double clicks:

*** ActiveX Control Event ***
LPARAMETERS 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-2008 Exontrol Inc, Software. All rights reserved.