OnBeforeDrop
Event: OnBeforeDrop (i_nXPos as Long, i_nYPos as Long, i_ipRange as AuthenticRange, i_ipData as cancelBoolean
XMLSpy scripting environment - VBScript:
Function On_AuthenticBeforeDrop(nXPos, nYPos, objRange, objData)
' On_AuthenticBeforeDrop = False ' to disable operation
End Function
XMLSpy scripting environment - JScript:
function On_AuthenticBeforeDrop(nXPos, nYPos, objRange, objData)
{
// return false; /* to disable operation */
}
XMLSpy IDE Plugin:
IXMLSpyPlugIn.OnEvent (11, ...) // nEventId = 11
Description
This event gets triggered whenever a previously dragged object gets dropped inside the application window. All event related information gets passed as parameters.
The first two parameters specify the mouse position at the time when the event occurred. The parameter objRange passes a range object that selects the XML element below the mouse position. The value of this parameter might be NULL. Be sure to check before you access the range object. The parameter objData allows to access information about the object being dragged.
Return False to cancle the drop operation. Return True (or nothing) to continue normal operation.
Examples
' ----------------------------------------------------------------------------
' VB code snippet - connecting to object level events
' ----------------------------------------------------------------------------
' access XMLSpy (without checking for any errors)
Dim objSpy As XMLSpyLib.Application
Set objSpy = GetObject("", "XMLSpy.Application")
' this is the event callback routine connected to the OnBeforeDrop
' event of object 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 VBA keyword WithEvents to connect to object-level event
Dim WithEvents objView As XMLSpyLib.AuthenticView
Set objView = objSpy.ActiveDocument.AuthenticView
' continue here with something useful ...
' and serve the windows message loop