Fórum TECLAS DE ATALHO #374036
25/08/2009
0
Utilizando o TAction, setei todos os botões com seus respectivos SHORTCUR,
no meu formulário modelo, mas os mesmos não estão funcionando...
Preciso ativa algo mais?
Tentei utilizar pelo OnKeyDown, mas como definiria se pressionado por exemplo, CTRL+(uma letra)????
Lenasi
Curtir tópico
+ 0Posts
25/08/2009
Leufmt
begin
if key = vk_F1 then begin
{ instrucoes a serem executadas }
end;
end;
- OBSERVAÇÃO:
Não se esqueça de colocar a propriedade ´KeyPreview´ do formulário em ´True´.
Você também pode usar as variáveis VK_F1 até VK_F12 referentes as outras teclas de função.
Gostei + 0
25/08/2009
Lenasi
Caro amigo,
Mas, precisaria com as letras além das teclas de funções..
E também saber o porque as já definidas pela propriedade SHURTCUT não funcionou...
Gostei + 0
25/08/2009
Emerson Nascimento
procedure TFormX.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if (Shift = [ssCtrl]) then Label1.Caption := ´[CTRL] + ´+Chr(Key) else if (Shift = [ssAlt]) then Label1.Caption := ´[ALT] + ´+Chr(Key) else if (Shift = [ssShift]) then Label1.Caption := ´[SHIFT] + ´+Chr(Key) else if (Shift = [ssCtrl, ssAlt]) then Label1.Caption := ´[CTRL] + [ALT] + ´+Chr(Key) else if (Shift = [ssShift, ssAlt]) then Label1.Caption := ´[SHIFT] + [ALT] + ´+Chr(Key) else if (Shift = [ssCtrl, ssShift]) then Label1.Caption := ´[CTRL] + [SHIFT] + ´+Chr(Key) else if (Shift = [ssCtrl, ssShift, ssAlt]) then Label1.Caption := ´[CTRL] + [ALT] + [SHIFT] + ´+Chr(Key); // avaliando os ´atalhos´... if (Shift = [ssCtrl]) and (Chr(Key)=´A´) then Label1.Caption := ´o atalho [CTRL] + A NÃO FOI DEFINIDO´ else if (Shift = [ssCtrl]) and (Chr(Key)=´B´) then ShowMessage(´[CTRL] + B chama esta mensagem´); if (Shift = [ssCtrl, ssAlt]) and (Chr(Key)=´C´) then ShowMessage(´[CTRL] + [ALT] + C chama esta mensagem´); end;
Gostei + 0
25/08/2009
Lenasi
procedure TFormX.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if (Shift = [ssCtrl]) then Label1.Caption := ´[CTRL] + ´+Chr(Key) else if (Shift = [ssAlt]) then Label1.Caption := ´[ALT] + ´+Chr(Key) else if (Shift = [ssShift]) then Label1.Caption := ´[SHIFT] + ´+Chr(Key) else if (Shift = [ssCtrl, ssAlt]) then Label1.Caption := ´[CTRL] + [ALT] + ´+Chr(Key) else if (Shift = [ssShift, ssAlt]) then Label1.Caption := ´[SHIFT] + [ALT] + ´+Chr(Key) else if (Shift = [ssCtrl, ssShift]) then Label1.Caption := ´[CTRL] + [SHIFT] + ´+Chr(Key) else if (Shift = [ssCtrl, ssShift, ssAlt]) then Label1.Caption := ´[CTRL] + [ALT] + [SHIFT] + ´+Chr(Key); // avaliando os ´atalhos´... if (Shift = [ssCtrl]) and (Chr(Key)=´A´) then Label1.Caption := ´o atalho [CTRL] + A NÃO FOI DEFINIDO´ else if (Shift = [ssCtrl]) and (Chr(Key)=´B´) then ShowMessage(´[CTRL] + B chama esta mensagem´); if (Shift = [ssCtrl, ssAlt]) and (Chr(Key)=´C´) then ShowMessage(´[CTRL] + [ALT] + C chama esta mensagem´); end;
PERFEITO AMIGO. DEU CERTO.
MAIS UM RESOLVIDO....
MAIS UM ADQUIRIDO COMO APRENDIZADO...
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)