KeyboardShortcut Controlo
Um controlo utilizado para capturar e agir em eventos de teclado.
Nota
A documentação completa e o código de origem encontram-se no repositório de componentes de código do GitHub.
Description
Este componente de código regista processadores de eventos de premir teclas para permitir a utilização de atalhos de teclado dentro de aplicações de tela ou páginas personalizadas. Não se destina a utilização em aplicações condicionadas por modelo ou portal.
_Propriedades
Property | Description |
---|---|
KeyConfig |
Uma matriz de cadeias que indica a que atalhos de teclado estar atento. A cadeia tem de ser serializada utilizando JSON (exemplo dado na secção seguinte). |
OnKey |
O código da tecla do teclado que foi detetada. |
Depois de adicionar o componente de código KeyboardShortcuts
ao formulário, configure a propriedade KeyConfig
com uma matriz de combinações de teclas.
Por exemplo:
["alt + r","alt + a","alt + d","alt + b","alt + p","alt + l","alt + t","alt + k"]
Para obter mais informações sobre as cadeias de combinação de teclado, aceda à biblioteca KeyboardJS.
Comportamento
Responder aos eventos de premir teclas
Quando é utilizada uma combinação de teclas, o evento OnChange
é criado. A propriedade OnKey
contém a combinação.
Poderá ter um evento OnChange
semelhante a:
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 processador de eventos define o foco em vários controlos tendo em conta a combinação de teclas utilizada.
Limitações
Alguns atalhos de teclado são utilizados pelo Power Apps Studio ao editar a aplicação e outros são utilizados pelo browser. Por este motivo, este componente não funcionará para todos os atalhos de teclado até que o utilizador coloque o foco dentro da aplicação.
Este componente de código só pode ser utilizado em aplicações de tela e páginas personalizadas.
Consulte mais notas de limitação na secção desafios de design de componentes da documentação do GitHub.