event DblClick (Shift as Integer, X as OLE_XPOS_PIXELS, Y as OLE_YPOS_PIXELS)

Occurs when the user dblclk 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  

The DblClick event is fired when user double clicks the control. Use the ItemFromPoint method to determine the cell over the cursor. Use the ExpandOnDblClk property to specify whether an item is expanded or collapsed when user double clicks it. Use the ColumnFromPoint property to get the column from point.

The following VB sample prints a message when an item has been double clicked:

Private Sub Tree1_DblClick(Shift As Integer, X As Single, Y As Single)
    ' Converts the container coordinates to client coordinates
    X = X / Screen.TwipsPerPixelX
    Y = Y / Screen.TwipsPerPixelY
    Dim h As HITEM
    Dim c As Long, hit as Long
    ' Gets the item from (X,Y)
    h = Tree1.ItemFromPoint(X, Y, c, hit)
    If Not (h = 0) Then
        MsgBox "The " & h & " item has been double clicked."
    End If
End Sub

The following VB sample displays a message when a cell has been double clicked:

Private Sub Tree1_DblClick(Shift As Integer, X As Single, Y As Single)
    ' Converts the container coordinates to client coordinates
    X = X / Screen.TwipsPerPixelX
    Y = Y / Screen.TwipsPerPixelY
    Dim h As HITEM
    Dim c As Long, hit as Long
    ' Gets the item from (X,Y)
    h = Tree1.ItemFromPoint(X, Y, c, hit)
    If Not (h = 0) Then
        MsgBox "The """ & Tree1.Items.CellCaption(h, c) & """ cell has been double clicked."
    End If
End Sub

The following C++ sample displays the caption of the cell being double clicked ( including the inner cells ):

#include "Items.h"

static CString V2S( VARIANT* pv, LPCTSTR szDefault = _T("") )
{
	if ( pv )
	{
		if ( pv->vt == VT_ERROR )
			return szDefault;

		COleVariant vt;
		vt.ChangeType( VT_BSTR, pv );
		return V_BSTR( &vt );
	}
	return szDefault;
}

void OnDblClickTree1(short Shift, long X, long Y) 
{
	long c = NULL, hit = NULL;
	long h = m_tree.GetItemFromPoint( X, Y, &c, &hit );
	if ( ( h != 0 ) || ( c != 0 ) )
	{
		COleVariant vtItem( h ), vtColumn( c );
		CString strCaption = V2S( &m_tree.GetItems().GetCellCaption( vtItem, vtColumn ) );
		MessageBox( strCaption );
	}
}

The following VB.NET sample displays the caption of the cell being double clicked ( including the inner cells ):

Private Sub AxTree1_DblClick(ByVal sender As Object, ByVal e As AxEXTREELib._ITreeEvents_DblClickEvent) Handles AxTree1.DblClick
    Dim h As Integer, c As Integer, hit As EXTREELib.HitTestInfoEnum
    With AxTree1
        h = .get_ItemFromPoint(e.x, e.y, c, hit)
        If Not (h = 0) Or Not (c = 0) Then
            MessageBox.Show(.Items.CellCaption(h, c))
        End If
    End With
End Sub

The following C# sample displays the caption of the cell being double clicked ( including the inner cells ):

private void axTree1_DblClick(object sender, AxEXTREELib._ITreeEvents_DblClickEvent e)
{
	EXTREELib.HitTestInfoEnum hit;
	int c = 0, h = axTree1.get_ItemFromPoint( e.x, e.y, out c, out hit );
	if ( ( h != 0 ) || ( c != 0 ) )
		MessageBox.Show( axTree1.Items.get_CellCaption( h, c ).ToString() );
}

The following VFP sample displays the caption of the cell being double clicked:

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

local c, hit
c = 0
hit = 0

with thisform.Tree1
	.Items.DefaultItem = .ItemFromPoint( x, y, @c, @hit )
	if ( .Items.DefaultItem != 0 )
		wait window nowait .Items.CellCaption( 0, c )
	endif
endwith



Send comments on this topic.
© 1999-2008 Exontrol Inc, Software. All rights reserved.