KeyboardShortcut controlar
Um controle usado para capturar e atuar em eventos de teclado.
Nota
Documentação completa e código-fonte encontrados no repositório de componentes de código GitHub.
Description
Este componente de código registra manipuladores de eventos de pressionamento de tecla para permitir que atalhos de teclado sejam usados em aplicativos de tela ou páginas personalizadas. Ele não se destina ao uso em aplicativos baseados em modelo ou de portal.
Propriedades
Propriedade | Description |
---|---|
KeyConfig |
Uma matriz de cadeias de caracteres indicando quais atalhos de teclado devem ser usados. A cadeia de caracteres deve ser serializada usando JSON (exemplo fornecido na seção a seguir). |
OnKey |
O atalho do teclado que foi detectado. |
Depois de adicionar o componente de código KeyboardShortcuts
para o 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 caracteres de combinação do teclado, vá para a biblioteca KeyboardJS.
Comportamental
Respondendo aos eventos de pressionamento de tecla
Quando uma combinação de teclas é usada, o evento OnChange
é gerado. A propriedade OnKey
mantém a combinação.
Você pode 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()) })
);
Esse manipulador de eventos define o foco em vários controles, de acordo com a combinação de teclas usada.
Limitações
Alguns atalhos de teclado são usados pelo Power Apps Studio ao editar o aplicativo, e alguns são usados pelo navegador. Por esse motivo, esse componente não funcionará para todos os atalhos de teclado até que o usuário foque no aplicativo.
Esse componente de código só pode ser usado em aplicativos de tela e páginas personalizadas.
Veja mais notas de limitação na seção desafios de design de componentes da documentação do GitHub.