Atribui um bloco de código a à uma tecla. Sintaxe
SetKey ( < nCodInkey>, [ bAcao] ) --> bRet Parâmetros/Elementos
Nome | Tipo | Descrição | Obrigatório | Referência | nCodInkey | Numérico | Indica o | valor, da função InKey(), código da tecla que será associada | ou questionada |
| bAcao | Bloco de código | Indica o bloco de código | que será, automaticamente, executado sempre que a tecla especificada for acionada durante o estado de espera. | | bReta ser executado ao pressionar a tecla definida. |
|
|
RetornoNome | Tipo | Descrição | bRet | Bloco de código |
(codeblock) | Retorna o bloco de código |
corretamente associado "anteriormente" definido para a tecla |
especificada ou nulo a tecla especificada não esteja associada a um bloco de código.não houver atribuição anterior o retorno será NIL. |
Observação- O limite de atribuição de teclas é de 32.
- A tecla F1 é associada automaticamente como Help de campos, é possível sua alteração (como no exemplo da função), porém essa prática não é aconselhada
SetKey() é uma funçao de tratamento de teclado utilizada para configurar ou questionar a ação automática associada a um tecla específica durante um estado de espera. Um estado de espera é qualquer modo que espera por uma teclagem, exceto InKey(), mas incluíndo ACHOICE(), DBEDIT(), MEMOEDIT(), ACCEPT, INPUT, READ e WAIT. Podem ser atribuídas no máximo 32 teclas por vez. Na inicialização, o sistema automaticamente atribui à tecla F1 a execução de uma rotina ou função definida pelo usuário chamada Help. Quando uma tecla atribuída for pressionada durante um estado de espera, a associada recebe ProcName(), ProcLine(), e ReadVar() como parâmetros e é executada, através da função EVal(). Não é necessário, porém, relacionar os argumentos ao se especificar a se não planeja usá-los no bloco de código- .
- SetKey() é semelhante ao comando Set Key
, o qual associa a chamada de uma rotina a uma tecla.- .
- SetKey() tem restrições no SmartClient HTML. para mais informações clique aqui
code | theme | Eclipse | language | cpp |
---|
title | Exemplo |
---|
linenumbers | true |
---|
| #INCLUDE "TOTVS.CH"
function u_Key()
private aKeys := {}
DEFINE DIALOG oDlg TITLE "SetKey" FROM 180, 180 TO 550, 700 PIXEL
// Ao Inseredefinir um bloco de código no SetKey (no exemplo F1)
// é retornado o bloco de código definido anteriormente
cKey := SetKey(VK_F12F1, {|| MsgAlert( "A tecla F12 foi pressionada Alert( "F1 pressionado" )})
conout("", "Bloco de codigo Anterior do F1:", cKey, "")
// 2a definição de bloco de código para o tecla F1
// apenas para demonstração do retorno da função
cKey := SetKey(VK_F1, {|| Alert( "F1 pressionado" )})
// Apaga um SetKey
conout("", "Bloco de codigo Anterior do F1:", cKey, "")
// Limpa definição de bloco de código para tecla F1
SetKey(VK_F12F1, {||}) | Protheus 10 , TOTVS Application Server 10 , ByYou Application Server
ACTIVATE DIALOG oDlg CENTERED
return
// Output:
Bloco de codigo Anterior do F1:
{|P, L, V|HELPROG(P, L, V)}
Bloco de codigo Anterior do F1:
{ || ALERT( "F1 PRESSIONADO" )} |
Códigos para as teclas de atalho disponíveis:
Tecla | S/ Combinação | Shift | Alt | Ctrl | Ctrl+Keypad | A |
|
| K_ALT_A 286 | K_CTRL_A 1 |
| B |
|
| K_ALT_B 304 | K_CTRL_B 2 |
| C |
|
| K_ALT_C 302 | K_CTRL_C 3 |
| D |
|
| K_ALT_D 288 | K_CTRL_D 4 |
| E |
|
| K_ALT_E 274 | K_CTRL_E 5 |
| F |
|
| K_ALT_F 289 | K_CTRL_F 6 |
| G |
|
| K_ALT_G 290 | K_CTRL_G 7 |
| H |
|
| K_ALT_H 291 | K_CTRL_H 8 |
| I |
|
| K_ALT_I 279 | K_CTRL_I 9 |
| J |
|
| K_ALT_J 292 | K_CTRL_J 10 |
| K |
|
| K_ALT_K 293 | K_CTRL_K 11 |
| L |
|
| K_ALT_L 294 | K_CTRL_L 12 |
| M |
|
| K_ALT_M 306 | K_CTRL_M 13 |
| N |
|
| K_ALT_N 305 | K_CTRL_N 14 |
| O |
|
| K_ALT_O 280 | K_CTRL_O 15 |
| P |
|
| K_ALT_P 281 | K_CTRL_P 16 |
| Q |
|
| K_ALT_Q 272 | K_CTRL_Q 17 |
| R |
|
| K_ALT_R 275 | K_CTRL_R 18 |
| S |
|
| K_ALT_S 287 | K_CTRL_S 19 |
| T |
|
| K_ALT_T 276 | K_CTRL_T 20 |
| U |
|
| K_ALT_U 278 | K_CTRL_U 21 |
| V |
|
| K_ALT_V 303 | K_CTRL_V 22 |
| W |
|
| K_ALT_W 273 | K_CTRL_W 23 |
| X |
|
| K_ALT_X 301 | K_CTRL_X 24 |
| Y |
|
| K_ALT_Y 277 | K_CTRL_Y 25 |
| Z |
|
| K_ALT_Z 300 | K_CTRL_Z 26 |
| 1 |
|
|
| K_CTRL_1 50 | K_CTRL_KEYPAD_1 62 | 2 |
|
|
| K_CTRL_2 51 | K_CTRL_KEYPAD_2 63 | 3 |
|
|
| K_CTRL_3 52 | K_CTRL_KEYPAD_3 64 | 4 |
|
|
| K_CTRL_4 53 | K_CTRL_KEYPAD_4 65 | 5 |
|
|
| K_CTRL_5 54 | K_CTRL_KEYPAD_5 66 | 6 |
|
|
| K_CTRL_6 55 | K_CTRL_KEYPAD_6 67 | 7 |
|
|
| K_CTRL_7 56 | K_CTRL_KEYPAD_7 68 | 8 |
|
|
| K_CTRL_8 57 | K_CTRL_KEYPAD_8 69 | 9 |
|
|
| K_CTRL_9 58 | K_CTRL_KEYPAD_9 70 | 0 |
|
|
| K_CTRL_0 59 | K_CTRL_KEYPAD_0 71 | Underscore |
|
|
| K_CTRL_UNDERSCORE 60 |
| Equal |
|
|
| K_CTRL_EQUAL 61 |
| Left |
|
|
| K_CTRL_LEFT 72 | K_CTRL_KEYPAD_LEFT 76 | Up |
|
|
| K_CTRL_UP 73 | K_CTRL_KEYPAD_UP 77 | Right |
|
|
| K_CTRL_RIGHT 74 | K_CTRL_KEYPAD_RIGHT 78 | Down |
|
|
| K_CTRL_DOWN 75 | K_CTRL_KEYPAD_DOWN 79 | F1 | VK_F1 112 | K_SH_F1 -10 | K_ALT_F1 -30 | K_CTRL_F1 -20 |
| F2 | VK_F2 113 | K_SH_F2 -11 | K_ALT_F2 -31 | K_CTRL_F2 -21 |
| F3 | VK_F3 114 | K_SH_F3 -12 | K_ALT_F3 -32 | K_CTRL_F3 -22 |
| F4 | VK_F4 115 | K_SH_F4 -13 | K_ALT_F4 -33 | K_CTRL_F4 -23 |
| F5 | VK_F5 116 | K_SH_F5 -14 | K_ALT_F5 -34 | K_CTRL_F5 -24 |
| F6 | VK_F6 117 | K_SH_F6 -15 | K_ALT_F6 -35 | K_CTRL_F6 -25 |
| F7 | VK_F7 118 | K_SH_F7 -16 | K_ALT_F7 -36 | K_CTRL_F7 -26 |
| F8 | VK_F8 119 | K_SH_F8 -17 | K_ALT_F8 -37 | K_CTRL_F8 -27 |
| F9 | VK_F9 120 | K_SH_F9 -18 | K_ALT_F9 -38 | K_CTRL_F9 -28 |
| F10 | VK_F10 121 | K_SH_F10 -19 | K_ALT_F10 -39 | K_CTRL_F10 -29 |
| F11 | VK_F11 122 | K_SH_F11 -42 | K_ALT_F11 -46 | K_CTRL_F11 -44 |
| F12 | VK_F12 123 | K_SH_F12 -43 | K_ALT_F12 -47 | K_CTRL_F12 -45 |
| F13 | VK_F13 124 |
|
|
|
| F14 | VK_F14 125 |
|
|
|
| F15 | VK_F15 126 |
|
|
|
| F16 | VK_F16 127 |
|
|
|
| F17 | VK_F17 128 |
|
|
|
| F18 | VK_F18 129 |
|
|
|
| F19 | VK_F19 130 |
|
|
|
| F20 | VK_F20 131 |
|
|
|
| F21 | VK_F21 132 |
|
|
|
| F22 | VK_F22 133 |
|
|
|
| F23 | VK_F23 134 |
|
|
|
| F24 | VK_F24 135 |
|
|
|
|
|