OnKeyboardEvent
Evento: OnKeyboardEvent (eKeyEvent as SPYKeyEvent, nKeyCode as Long, nVirtualKeyStatus as Long) as Boolean
Entorno de scripting de XMLSpy: VBScript:
Function On_AuthenticKeyboardEvent(eKeyEvent, nKeyCode, nVirtualKeyStatus)
' On_AuthenticKeyboardEvent = True ' to cancel bubbling of event
End Function
Entorno de scripting de XMLSpy: JScript:
function On_AuthenticKeyboardEvent(eKeyEvent, nKeyCode, nVirtualKeyStatus)
{
// devolver false; /* to cancel bubbling of event */
}
Complemento de XMLSpy para entornos IDE:
IXMLSpyPlugIn.OnEvent (30, ...) // nEventId = 30
Descripción
Este evento se desencadena para los mensajes de Windows WM_KEYDOWN, WM_KEYUP y WM_CHAR.
El tipo de mensaje está disponible en el parámetro eKeyEvent. El estado de las teclas virtuales está en el parámetro nVirtualKeyStatus. Utilice las máscaras de bits definidas en el tipo de datos de enumeración SPYVirtualKeyMask para probar las distintas claves y sus combinaciones.
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_AuthenticKeyUp() IXMLSpyPlugIn.OnEvent (13, ...) // nEventId = 13
On_AuthenticKeyDown() IXMLSpyPlugIn.OnEvent (12, ...) // nEventId = 12
On_AuthenticKeyPressed() IXMLSpyPlugIn.OnEvent (14, ...) // nEventId = 14
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 OnKeyboard del objeto objView
Private Function objView_OnKeyboardEvent(ByVal i_keyEvent As Long, ByVal io_pnKeyCode As Long, ByVal i_nVirtualKeyStatus As Long) As Boolean
If ((i_keyEvent = XMLSpyLib.spyKeyUp) And ((i_nVirtualKeyStatus And XMLSpyLib.spyCtrlKeyMask) <> 0)) Then
MsgBox ("Ctrl " & io_pnKeyCode & " pressed")
objView_OnKeyboardEvent = True
Else
objView_OnKeyboardEvent = 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