TECLAS DE ATALHO
OLá pessoal,
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)????
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
Curtidas 0
Respostas
Leufmt
25/08/2009
procedure Tform1.FormKeyDown(Sender:TObject; var Key: Word; Shift: TShifState);
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.
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
Lenasi
25/08/2009
procedure Tform1.FormKeyDown(Sender:TObject; var Key: Word; Shift: TShifState);
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.
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
Emerson Nascimento
25/08/2009
tente assim:
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
Lenasi
25/08/2009
tente assim:
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