OnDragOver
Evento: OnDragOver (nXPos as Long, nYPos as Long, eMouseEvent as SPYMouseEvent, objRange as AuthenticRange, objData as AuthenticDataTransfer) as Boolean
Entorno de scripting de XMLSpy: VBScript:
Function On_AuthenticDragOver(nXPos, nYPos, eMouseEvent, objRange, objData)
' On_AuthenticDragOver = False ' para deshabilitar la operación
End Function
Entorno de scripting de XMLSpy: JScript:
function On_AuthenticDragOver(nXPos, nYPos, eMouseEvent, objRange, objData)
{
// devolver false; /* para deshabilitar la operación */
}
Complemento de XMLSpy para entornos IDE:
IXMLSpyPlugIn.OnEvent (10, ...) // nEventId = 10
Descripción
Este evento se desencadena cada vez que se arrastra un objeto desde fuera de la vista Authentic por encima de la ventana de la aplicación. Toda la información relacionada con el evento se pasa en forma de parámetros.
Los tres primeros parámetros especifican la posición del ratón, el estado del botón del ratón y el estado de las claves virtuales en el momento en que tiene lugar el evento. El parámetro objRange pasa un objeto de intervalo que selecciona el elemento XML situado bajo la posición del ratón. El valor de este parámetro puede ser NULL. El parámetro objData permite acceder a la información disponible sobre el objeto que se está arrastrando.
Devolver False para cancelar la operación de arrastrar. Devolver True (o nada) para continuar con la operación.
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 OnDragOver del objeto objView
Private Function objView_OnDragOver(ByVal i_nXPos As Long, ByVal i_nYPos As Long,
ByVal i_eMouseEvent As SPYMouseEvent,
ByVal i_ipRange As IAuthenticRange,
ByVal i_ipData As IAuthenticDataTransfer) As Boolean
If (((i_eMouseEvent And spyShiftKeyDownMask) <> 0) And
(Not i_ipRange Is Nothing)) Then
MsgBox ("Floating over element " & i_ipRange.FirstXMLData.Parent.Name);
End If
Return True;
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