Type | Description | |||
Button as Integer | An integer that corresponds to the state of the mouse buttons in which a bit is set if the button is down. | |||
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 MouseMove event is generated continually as the mouse pointer moves across objects. Unless another object has captured the mouse, an object recognizes a MouseMove event whenever the mouse position is within its borders.Use the AnchorFromPoint property to retrieve the identifier of the anchor element from the point. The ValueFromPoint(X, Y) method returns information from the specified cursor position as a string, with items separated by new lines (\r\n), in the following order: value, inner-values, inner-value index / inner-values count, percent, index-serie, index-category, representing the value, serie, and category under the pointer. The CursorFromPoint(X, Y) method returns a string with information from the specified cursor position, items separated by new lines (\r\n), in the following order: x, y, and valueCategory, indicating the X-axis position, Y-axis value, and value in the cursor’s category under the pointer.
Syntax for MouseMove event, /NET version, on:
private void MouseMoveEvent(object sender,short Button,short Shift,int X,int Y) { } Private Sub MouseMoveEvent(ByVal sender As System.Object,ByVal Button As Short,ByVal Shift As Short,ByVal X As Integer,ByVal Y As Integer) Handles MouseMoveEvent End Sub |
private void MouseMoveEvent(object sender, AxEXGRAPHLib._IGraphEvents_MouseMoveEvent e) { } void OnMouseMove(short Button,short Shift,long X,long Y) { } void __fastcall MouseMove(TObject *Sender,short Button,short Shift,int X,int Y) { } procedure MouseMove(ASender: TObject; Button : Smallint;Shift : Smallint;X : Integer;Y : Integer); begin end; procedure MouseMoveEvent(sender: System.Object; e: AxEXGRAPHLib._IGraphEvents_MouseMoveEvent); begin end; begin event MouseMove(integer Button,integer Shift,long X,long Y) end event MouseMove Private Sub MouseMoveEvent(ByVal sender As System.Object, ByVal e As AxEXGRAPHLib._IGraphEvents_MouseMoveEvent) Handles MouseMoveEvent End Sub Private Sub MouseMove(Button As Integer,Shift As Integer,X As Single,Y As Single) End Sub Private Sub MouseMove(ByVal Button As Integer,ByVal Shift As Integer,ByVal X As Long,ByVal Y As Long) End Sub LPARAMETERS Button,Shift,X,Y PROCEDURE OnMouseMove(oGraph,Button,Shift,X,Y) RETURN |
<SCRIPT EVENT="MouseMove(Button,Shift,X,Y)" LANGUAGE="JScript"> </SCRIPT> <SCRIPT LANGUAGE="VBScript"> Function MouseMove(Button,Shift,X,Y) End Function </SCRIPT> Procedure OnComMouseMove Short llButton Short llShift OLE_XPOS_PIXELS llX OLE_YPOS_PIXELS llY Forward Send OnComMouseMove llButton llShift llX llY End_Procedure METHOD OCX_MouseMove(Button,Shift,X,Y) CLASS MainDialog RETURN NIL void onEvent_MouseMove(int _Button,int _Shift,int _X,int _Y) { } function MouseMove as v (Button as N,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_MouseMove(Button,Shift,X,Y) return |
The following VB sample prints the cell's caption from the cursor ( if the control contains no inner cells. Use the SplitCell property to insert inner cells ) :
Private Sub Graph1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) On Error Resume Next ' Converts the container coordinates to client coordinates X = X / Screen.TwipsPerPixelX Y = Y / Screen.TwipsPerPixelY Dim h As HITEM Dim c As Long Dim hit As EXGRAPHLibCtl.HitTestInfoEnum ' Gets the item from (X,Y) h = Graph1.ItemFromPoint(X, Y, c, hit) If Not (h = 0) Then Debug.Print Graph1.Items.CellValue(h, c) & " HT = " & hit End If End Sub
The following VB sample displays the cell's caption from the cursor ( if the control contains inner cells ):
Private Sub Graph1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) On Error Resume Next ' Converts the container coordinates to client coordinates X = X / Screen.TwipsPerPixelX Y = Y / Screen.TwipsPerPixelY Dim h As HITEM Dim c As Long Dim hit As EXGRAPHLibCtl.HitTestInfoEnum ' Gets the item from (X,Y) h = Graph1.ItemFromPoint(X, Y, c, hit) If Not (h = 0) Or Not (c = 0) Then Debug.Print Graph1.Items.CellValue(h, c) & " HT = " & hit End If End Sub
The following C++ sample displays the cell's from the point:
#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 OnMouseMoveGraph1(short Button, short Shift, long X, long Y) { long c = 0, hit = 0, hItem = m_graph.GetItemFromPoint( X, Y, &c, &hit ); if ( ( hItem != 0 ) || ( c != 0 ) ) { CItems items = m_graph.GetItems(); COleVariant vtItem( hItem ), vtColumn( c ); CString strCaption = V2S( &items.GetCellValue( vtItem, vtColumn ) ), strOutput; strOutput.Format( "Cell: '%s', Hit = %08X\n", strCaption, hit ); OutputDebugString( strOutput ); } }
The following VB.NET sample displays the cell's from the point:
Private Sub AxGraph1_MouseMoveEvent(ByVal sender As Object, ByVal e As AxEXGRAPHLib._IGraphEvents_MouseMoveEvent) Handles AxGraph1.MouseMoveEvent With AxGraph1 Dim i As Integer, c As Integer, hit As EXGRAPHLib.HitTestInfoEnum i = .get_ItemFromPoint(e.x, e.y, c, hit) If (Not (i = 0) Or Not (c = 0)) Then Debug.WriteLine("Cell: " & .Items.CellValue(i, c) & " Hit: " & hit.ToString()) End If End With End Sub
The following C# sample displays the cell's from the point:
private void axGraph1_MouseMoveEvent(object sender, AxEXGRAPHLib._IGraphEvents_MouseMoveEvent e) { int c = 0; EXGRAPHLib.HitTestInfoEnum hit; int i = axGraph1.get_ItemFromPoint( e.x, e.y, out c,out hit ); if ( ( i != 0 ) || ( c != 0 ) ) { object cap = axGraph1.Items.get_CellValue(i, c); string s = cap != null ? cap.ToString() : ""; s = "Cell: " + s + ", Hit: " + hit.ToString(); System.Diagnostics.Debug.WriteLine(s); } }
The following VFP sample displays the cell's from the point:
*** ActiveX Control Event *** LPARAMETERS button, shift, x, y local c, hit c = 0 hit = 0 with thisform.Graph1 .Items.DefaultItem = .ItemFromPoint( x, y, @c, @hit ) if ( .Items.DefaultItem <> 0 ) or ( c <> 0 ) wait window nowait .Items.CellValue( 0, c ) + " " + Str( hit ) endif endwith