event MouseMove (Button as Integer, Shift as Integer, X as OLE_XPOS_PIXELS, Y as OLE_YPOS_PIXELS)

Occurs when the user moves the mouse.

 TypeDescription 
   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 ItemFromPoint property to get the item from cursor. Use the ColumnFromPoint property to get the column from point. Use the Background(exHoverColumn) property to change the visual appearance of the column's header when the cursor hovers it. Use the AnchorFromPoint property to retrieve the identifier of the anchor from the point.

The following VB sample prints the cell from the caption and the hit test code:

Private Sub ComboBox1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    With ComboBox1
        Dim i As Long, c As Long, hit As EXCOMBOBOXLibCtl.HitTestInfoEnum
        i = .ItemFromPoint(X / Screen.TwipsPerPixelX, Y / Screen.TwipsPerPixelY, c, hit)
        If Not (i = 0) Then
            With .Items
                Debug.Print .CellCaption(i, c) & " HT = " & hit
            End With
        End If
    End With
End Sub

The following C++ sample prints the cell from the caption and the hit test code:

void OnMouseMoveCombobox1(short Button, short Shift, long X, long Y) 
{
	long c = 0, hit = 0, i = m_combobox.GetItemFromPoint( X, Y, &c, &hit );
	if ( i != 0 )
	{
		CString strOutput = V2S( &m_combobox.GetItems().GetCellCaption(COleVariant(i), COleVariant(c) ) );
		strOutput += " HT = ";
		strOutput += V2S(COleVariant(hit));
		strOutput += "\r\n";
		OutputDebugString( strOutput );
	}
}

The following VB.NET sample prints the cell from the caption and the hit test code:

Private Sub AxComboBox1_MouseMoveEvent(ByVal sender As Object, ByVal e As AxEXCOMBOBOXLib._IComboBoxEvents_MouseMoveEvent) Handles AxComboBox1.MouseMoveEvent
    With AxComboBox1
        Dim i As Integer, c As Integer, hit As EXCOMBOBOXLib.HitTestInfoEnum
        i = .get_ItemFromPoint(e.x, e.y, c, hit)
        If (i >= 0) Then
            Debug.WriteLine(.Items.CellCaption(i, c) & " HT = " & hit.ToString())
        End If
    End With
End Sub

The following C# sample prints the cell from the caption and the hit test code:

private void axComboBox1_MouseMoveEvent(object sender, AxEXCOMBOBOXLib._IComboBoxEvents_MouseMoveEvent e)
{
	EXCOMBOBOXLib.HitTestInfoEnum hit;
	int c = 0, i = axComboBox1.get_ItemFromPoint(e.x, e.y, out c, out hit);
	if (i != 0)
		System.Diagnostics.Debug.WriteLine(axComboBox1.Items.get_CellCaption(i, c).ToString() + " HT = " + hit.ToString() );
}

The following VFP sample prints the cell from the caption and the hit test code:

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

With thisform.ComboBox1
        local c, hit
        c = 0
        hit = 0
        .Items.DefaultItem = .ItemFromPoint(X , Y, @c, @hit)
        If (.Items.DefaultItem >= 0) Then
            wait window nowait .Items.CellCaption(0, c) + " HT = " + str(hit)
        EndIf
EndWith

 


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