OnBeforeDrop
Evento: OnBeforeDrop (i_nXPos as Long, i_nYPos as Long, i_ipRange as AuthenticRange, i_ipData as cancelBoolean
Entorno de scripting de XMLSpy: VBScript:
Function On_AuthenticBeforeDrop(nXPos, nYPos, objRange, objData)
' On_AuthenticBeforeDrop = False ' para deshabilitar la operación
End Function
Entorno de scripting de XMLSpy: JScript:
function On_AuthenticBeforeDrop(nXPos, nYPos, objRange, objData)
{
// devolver false; /* para deshabilitar la operación */
}
Complemento de XMLSpy para entornos IDE:
IXMLSpyPlugIn.OnEvent (11, ...) // nEventId = 11
Descripción
Este evento se desencadena cada vez que arrastra y coloca un objeto dentro de la ventana de la aplicación. Toda la información relacionada con el evento se pasa en forma de parámetros.
Los dos primeros parámetros especifican la posición del ratón cuando ocurre el evento. El parámetro objRange pasa un objeto de intervalo que selecciona el elemento XML situado en la posición del ratón. El valor de este parámetro puede ser NULL. Compruébelo antes de acceder al objeto de intervalo. 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 Colocar. 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 comprobar si hay errores)
Dim objSpy As XMLSpyLib.Application
Set objSpy = GetObject("", "XMLSpy.Application")
' esta es la rutina de devolución de llamada del evento
' conectada al evento OnBeforeDrop del objeto objView
Private Function objView_OnBeforeDrop(ByVal i_nXPos As Long, ByVal i_nYPos As Long,
ByVal i_ipRange As IAuthenticRange,
ByVal i_ipData As IAuthenticDataTransfer) As Boolean
If (Not i_ipRange Is Nothing) Then
MsgBox ("Dropping on content is prohibited");
Return False;
Else
Return True;
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