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 Gantt1_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 = Gantt1.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 Gantt1_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 = Gantt1.ItemFromPoint(X, Y, c, hit)
    If Not (h = 0) Then
        MsgBox "The """ & Gantt1.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 OnDblClickGantt1(short Shift, long X, long Y) 
{
	long c = NULL, hit = NULL;
	long h = m_gantt.GetItemFromPoint( X, Y, &c, &hit );
	if ( ( h != 0 ) || ( c != 0 ) )
	{
		COleVariant vtItem( h ), vtColumn( c );
		CString strCaption = V2S( &m_gantt.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 AxGantt1_DblClick(ByVal sender As Object, ByVal e As AxEXGANTTLib._IGanttEvents_DblClickEvent) Handles AxGantt1.DblClick
    Dim h As Integer, c As Integer, hit As EXGANTTLib.HitTestInfoEnum
    With AxGantt1
        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 axGantt1_DblClick(object sender, AxEXGANTTLib._IGanttEvents_DblClickEvent e)
{
	EXGANTTLib.HitTestInfoEnum hit;
	int c = 0, h = axGantt1.get_ItemFromPoint( e.x, e.y, out c, out hit );
	if ( ( h != 0 ) || ( c != 0 ) )
		MessageBox.Show( axGantt1.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.Gantt1
	.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-2006 Exontrol Inc, Software. All rights reserved.