KeyboardShortcut control
Un control utilizado para capturar y actuar sobre eventos de teclado.
Nota
La documentación completa y el código fuente se encuentran en el repositorio de componentes de código GitHub.
Descripción
Este componente de código registra controladores de eventos de pulsación de tecla para permitir que se utilicen atajos de teclado en aplicaciones de lienzo o páginas personalizadas. No está diseñado para su uso en aplicaciones de portal o basadas en modelos.
Propiedades
Property | Descripción |
---|---|
KeyConfig |
Una matriz de cadenas que indica qué métodos abreviados de teclado escuchar. La cadena debe serializarse mediante JSON (ejemplo dado en la siguiente sección). |
OnKey |
El método abreviado de teclado que se detectó. |
Después de agregar el componente de código KeyboardShortcuts
al formulario, configure la propiedad KeyConfig
con una matriz de combinaciones de teclas.
Por ejemplo:
["alt + r","alt + a","alt + d","alt + b","alt + p","alt + l","alt + t","alt + k"]
Para obtener más información sobre las cadenas de combinación de teclado, vaya a la biblioteca KeyboardJS.
Behavior
Cómo responder a los eventos de pulsación de tecla
Cuando se utiliza una combinación de teclas, se genera el evento OnChange
. Después, la propiedad OnKey
aguanta la combinación.
Podría tener un evento OnChange
similar a lo siguiente:
If( Self.OnKey = "alt + a",
SetFocus(txtTextbox1)
);
If( Self.OnKey = "alt + r",
UpdateContext({ ctxResizableTextareaEvent:"SetFocus" & Text(Rand()) })
);
If( Self.OnKey = "alt + b",
SetFocus(txtTextbox2)
);
If( Self.OnKey = "alt + k",
UpdateContext({ ctxPickerEvent:"SetFocus" & Text(Rand()) })
);
If( Self.OnKey = "alt + d",
UpdateContext({ ctxDropdownEvent:"SetFocus" & Text(Rand()) })
);
If( Self.OnKey = "alt + l",
UpdateContext({ ctxTagListEvent:"SetFocus" & Text(Rand()) })
);
If( Self.OnKey = "alt + t",
UpdateContext({ ctxTableEvent:"SetFocusOnRow" & Text(Rand()) })
);
Este controlador de eventos se enfoca en varios controles según la combinación de teclas utilizada.
Limitaciones
Algunos métodos abreviados de teclado son utilizados por Power Apps Studio al editar la aplicación cuando se usa Estudio de creador, y algunos son usados por el navegador. Por esta razón, este componente no funcionará para todos los atajos de teclado hasta que el usuario se enfoque dentro de la aplicación.
Este componente de código solo se puede usar en aplicaciones de lienzo y páginas personalizadas.
Vea más notas de limitación en la sección de desafíos de diseño de componentes de la documentación de GitHub.