Uso de cookies

Utilizamos cookies propias y de terceros para mejorar nuestros servicios y mostrarle publicidad relacionada con sus preferencias mediante el análisis de sus hábitos de navegación. Si continúa navegando, consideramos que acepta su uso. Para obtener más información o bien conocer cómo cambiar la configuración lea nuestra Política de cookies

Revisión a fecha de 10:37 27 may 2015; Salva (Discusión | contribuciones)

(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)

Eventos del teclado en OOo Basic

Apache OpenOffice Basic registra los siguientes eventos de teclado:


Evento Descripción

Tecla pulsada

El usuario ha pulsado una tecla

Tecla soltada (Después de haber pulsado la tecla)

El usuario ha soltado la tecla pulsada


Ambos eventos se producen como consecuencia de pulsaciones de tecla lógicas y no físicas; así, si un usuario precisa pulsar varias teclas para obtener un sólo carácter (por ejemplo, para una letra acentuada) el evento sólo se produce una vez (por el carácter, no por las pulsaciones).


Pulsar solamente las teclas Mayúsculas, Bloqueo mayúsculas, Ctrl, Alt, AltGr, Fn, F11, F12... no producen ningún evento, ya que no producen ningún carácter; algunas de ellas si se pulsan conjuntamente con una tecla que lo produzca, sí que afectan al evento (por ejemplo, entregando un valor distinto en las propiedades KeyChar o Modifiers).


No ocurre lo mismo con las teclas de función F1 a F10, Esc, etc., que sí los producen.


El objeto Evento entregado al procedimiento muestra las siguientes propiedades:


Propiedad Tipo Descripción

Modifiers

Short Código de la tecla de modificación pulsada, en concordancia con la enumeración com.sun.star.awt.KeyModifier. (Ver Constants group KeyModifier)

SHIFT

Short = 1 El usuario mantiene pulsada la tecla Mayúsculas
Señal Nota.png

Que la tecla Bloqueo mayúsculas esté o no pulsada no produce ningún cambio en este valor

MOD1

Short = 2 El usuario mantiene pulsada la tecla Ctrl (Cmd en MacOs)

MOD2

Short = 4 El usuario mantiene pulsada la tecla Alt

MOD3

Short = 8 El usuario mantiene pulsada la tecla Ctrl en MacOs
Señal Nota.png

Combinaciones de las teclas producen un resultado suma de los valores de las mismas; por ejemplo, pulsar la tecla AltGr produce un valor 6 (equivalente a mantener pulsadas Ctrl+Alt), mientras que Shift+Ctrl produce un valor 3

KeyCode

Short Código de la tecla pulsada: un valor en concordancia con la enumeración com.sun.star.awt.Key. (Ver Constants group Key)

KeyChar

String Carácter producido, teniendo en cuenta las teclas de modificación.

Function

Short Código de función en concordancia con la enumeración com.sun.star.awt.KeyFunction. (Ver Constants group KeyFunction). Por ejemplo:
COPY El usuario ha pulsado la combinación de teclas Ctrl+C o Ctrl+Insert (o las que el sistema utilice para copiar)
PASTE El usuario ha pulsado la combinación de teclas Ctrl+V o Shift+Insert (o las que el sistema utilice para pegar)
UNDO El usuario ha pulsado la combinación de teclas Ctrl+Z (o las que el sistema utilice para deshacer)
REDO El usuario ha pulsado la combinación de teclas Ctrl+Y (o las que el sistema utilice para rehacer)


Los siguientes ejemplos examinan las propiedades entregadas por el objeto Evento, y depositan la información en un control Label del diálogo. Deben asignarse a los eventos correspondientes de un control (por ejemplo, un TextBox):


Sub Tecla_Pulsada( oEv As Object )
'--------------------------------------------------------------------------
   oEv.Source.Context.getControl("Label4").Text = _
   "Pulsada Modificador=" & oEv.Modifiers & _
   " Código=" & oEv.KeyCode & _
   " Carácter=" & oEv.KeyChar & _
   " Función=" & oEv.KeyFunc
End Sub


Sub Tecla_Soltada( oEv As Object )
'--------------------------------------------------------------------------
   oEv.Source.Context.getControl("Label4").Text = _
   "Soltada Modificador=" & oEv.Modifiers & _
   " Código=" & oEv.KeyCode & _
   " Carácter=" & oEv.KeyChar & _
   " Función=" & oEv.KeyFunc
End Sub



Señal CopyRight.png

Texto, imágenes y código bajo licencia CC BY-SA.png

Basado en el documento Getting Started with Base. Apache OpenOfficetm Database Component, de Drew Jensen Copyright 2013 liberado bajo licencia Apache Software License 2.0, que incluye material de:
  • OpenOffice.org 3.3 Getting Started Guide, Chapter 8 - Getting Started with Base, Copyright 2010 Dan Lewis, Iain Roberts, Magnus Adielsson, Jean Hollis Weber, JiHui Choi
  • OpenOffice.org 3.2 BASIC Guide · March 2010, Copyright Oracle Corp.
Modificada el 27 may 2015 10:37.   Visitas: 5474