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

The DblClick event is fired when user double clicks the control.

Syntax for DblClick event, /NET version, on:

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

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

Syntax for DblClick event, /COM version, on:

private void DblClick(object sender, AxEXGRAPHLib._IGraphEvents_DblClickEvent e)
{
}

void OnDblClick(short Shift,long X,long Y)
{
}

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

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

procedure DblClick(sender: System.Object; e: AxEXGRAPHLib._IGraphEvents_DblClickEvent);
begin
end;

begin event DblClick(integer Shift,long X,long Y)
end event DblClick

Private Sub DblClick(ByVal sender As System.Object, ByVal e As AxEXGRAPHLib._IGraphEvents_DblClickEvent) Handles DblClick
End Sub

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

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

LPARAMETERS Shift,X,Y

PROCEDURE OnDblClick(oGraph,Shift,X,Y)
RETURN

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

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

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

Procedure OnComDblClick Short llShift OLE_XPOS_PIXELS llX OLE_YPOS_PIXELS llY
	Forward Send OnComDblClick llShift llX llY
End_Procedure

METHOD OCX_DblClick(Shift,X,Y) CLASS MainDialog
RETURN NIL

void onEvent_DblClick(int _Shift,int _X,int _Y)
{
}

function DblClick as v (Shift as N,X as OLE::Exontrol.Graph.1::OLE_XPOS_PIXELS,Y as OLE::Exontrol.Graph.1::OLE_YPOS_PIXELS)
end function

function nativeObject_DblClick(Shift,X,Y)
return

The following VB sample displays a message when the user double clicks an item:

Private Sub Graph1_DblClick(Shift As Integer, X As Single, Y As Single)
    With Graph1
        ' 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 = .ItemFromPoint(X, Y, c, hit)
        If Not (h = 0) Or Not (c = 0) Then
            MsgBox "The '" & .Items.CellValue(h, c) & "' item has been double clicked."
        End If
    End With
End Sub

The following VB sample use DblClick event to start editing control, if the AutoEdit property is False.

Private Sub Graph1_DblClick(Shift As Integer, X As Single, Y As Single)
    ' Starts the editing operation if the user dbl click in the control
    With Graph1
        If (Not .AutoEdit) Then
            ' Did user dbl click on an item?
            Dim c As Long, hit as Long
            If Not (.ItemFromPoint(X / Screen.TwipsPerPixelX, Y / Screen.TwipsPerPixelY, c, hit) = 0) Then
                .Edit
            End If
        End If
    End With
End Sub

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

#include "Items.h"
void OnDblClickGraph1(short Shift, long X, long Y) 
{
	long c = NULL, hit = NULL;
	long h = m_graph.GetItemFromPoint( X, Y, &c, &hit );
	if ( ( h != 0 ) || ( c != 0 ) )
	{
		COleVariant vtItem( h ), vtColumn( c );
		CString strCaption = V2S( &m_graph.GetItems().GetCellValue( vtItem, vtColumn ) );
		MessageBox( strCaption );
	}
}

where the V2S function converts a VARIANT value to a string, and may look like follows:

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;
}

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

Private Sub AxGraph1_DblClick(ByVal sender As Object, ByVal e As AxEXGRAPHLib._IGraphEvents_DblClickEvent) Handles AxGraph1.DblClick
    Dim h As Integer, c As Integer, hit As EXGRAPHLib.HitTestInfoEnum
    With AxGraph1
        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 value of the cell being double clicked ( including the inner cells ):

private void axGraph1_DblClick(object sender, AxEXGRAPHLib._IGraphEvents_DblClickEvent e)
{
	EXGRAPHLib.HitTestInfoEnum hit;
	int c = 0, h = axGraph1.get_ItemFromPoint(e.x, e.y, out c, out hit);
	if ((h != 0) || (c != 0))
		MessageBox.Show(axGraph1.Items.get_CellCaption(h, c).ToString());
}

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

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

local c, hit
c = 0
hit = 0

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