OnMouseEvent
Evento: OnMouseEvent (nXPos as Long, nYPos as Long, eMouseEvent as SPYMouseEvent, objRange as AuthenticRange) as Boolean
Entorno de scripting de XMLSpy: VBScript:
Function On_AuthenticMouseEvent(nXPos, nYPos, eMouseEvent, objRange)
' On_AuthenticMouseEvent = True ' para cancelar la propagación del evento
End Function
Entorno de scripting de XMLSpy: JScript:
function On_AuthenticMouseEvent(nXPos, nYPos, eMouseEvent, objRange)
{
// devolver false; /* para cancelar la propagación del evento */
}
Complemento de XMLSpy para entornos IDE:
IXMLSpyPlugIn.OnEvent (31, ...) // nEventId = 31
Descripción
Este evento se desencadena cada vez que se mueve el ratón y con cada mensaje de Windows para los botones del ratón.
El tipo de mensaje y el estado del botón del ratón está disponible en el parámetro eMouseEvent. Use las máscaras de bits definidas en el tipo de datos de enumeración SPYMouseEvent para probar los diferentes mensajes, el estado del botón y sus combinaciones.
El parámetro objRange identifica la parte del documento donde se encuentra el cursor del ratón. Los objetos de intervalo siempre seleccionan una etiqueta entera del documento. (Esto puede cambiar en futuras versiones del producto que ofrezcan un mecanismo de posicionamiento más preciso.) Si en la posición actual del cursor no se encuentra una parte del documento que se pueda seleccionar, el objeto de intervalo es null.
NOTA: estos eventos del entorno de scripting y del complemento de Altova XMLSpy para entornos IDE son compatibles pero se vuelven obsoletos con este evento:
On_AuthenticMouseMove() IXMLSpyPlugIn.OnEvent (15, ...) // nEventId = 15
On_AuthenticButtonUp() IXMLSpyPlugIn.OnEvent (16, ...) // nEventId = 16
On_AuthenticButtonDown() IXMLSpyPlugIn.OnEvent (17, ...) // nEventId = 17
On_AuthenticButtonDoubleClick() IXMLSpyPlugIn.OnEvent (24, ...) // nEventId = 24
Ejemplos
' ----------------------------------------------------------------------------
' fragmento de código VB: conectarse a eventos a nivel de objeto
' ----------------------------------------------------------------------------
' acceder a XMLSpy (sin buscar errores)
Dim objSpy As XMLSpyLib.Application
Set objSpy = GetObject("", "XMLSpy.Application")
' esta es la rutina de devolución de llamada
' conectada al evento OnMouseEvent del objeto objView. Si hace clic con el botón izquierdo del ratón
' mientras pulsa la tecla Ctrl, la selección actual se asignará
' a la etiqueta en la que está el cursor
Private Function objView_OnMouseEvent(ByVal i_nXPos As Long, ByVal i_nYPos As Long, ByVal i_eMouseEvent As XMLSpyLib.SPYMouseEvent, ByVal i_pRange As XMLSpyLib.IAuthenticRange) As Boolean
If (i_eMouseEvent = (XMLSpyLib.spyLeftButtonDownMask Or XMLSpyLib.spyCtrlKeyDownMask)) Then
On Error Resume Next
i_pRange.Select
objView_OnMouseEvent = True
Else
objView_OnMouseEvent = False
End If
End Function
' use la palabra clave de VBA WithEvents para conectarse al evento a nivel de objeto
Dim WithEvents objView As XMLSpyLib.AuthenticView
Set objView = objSpy.ActiveDocument.AuthenticView
' continuar con más código ...
' y servir el bucle de mensajes