Você está na página 1de 15

ActiveDelphi

.: O site do programador Delphi! :.

FAQ Pesquisar Membros Grupos Registrar


Perfil Entrar e ver Mensagens Particulares Entrar

Código Teclas

ActiveDelphi - Índice do Fórum -> Delphi

Exibir mensagem anterior :: Exibir próxima mensagem

Autor Mensagem

marcianinho
Novato Enviada: Qui Ago 04, 2005 1:25 pm Assunto: Código Teclas

Galera, eu gostaria usar a tecla F5 para executar uma ação só que


não consigo descobrir o código da tecla.
Baixei alguns programas que me davam o código como 116 mas não
Registrado: Sexta-Feira, funcionou !!! gostaria de pedir a ajuda de vocês.
8 de Julho de 2005 Agradeço desde já !
Mensagens: 6

Abraços

Voltar ao Topo

beto1002005
Aprendiz Enviada: Qui Ago 04, 2005 1:38 pm Assunto: Código Teclas

Tenta assim!

if Key = VK_F5 then


Registrado: Segunda- showMessage(\'A Tecla F5 foi Pressionada\');
Feira, 23 de Mai de
2005
Mensagens: 110 _________________
Até cortar os próprios defeitos pode ser perigoso. Nunca se sabe qual
é o defeito que sustenta nosso edifício inteiro.
MSN: Beto1002004@hotmail.com

Voltar ao Topo

rafaelmart
Membro Junior Enviada: Qui Ago 04, 2005 1:42 pm Assunto: Código Teclas

amigo utilize as virtuail keys pra esse tipo de servico, coloque o


seguinte codigo no onkeypress do formulario

Registrado: Terça-Feira, if key = vk_F5 then begin


6 de Julho de 2004 { instrucoes a serem executadas }
Mensagens: 372
end;

**altere a propriedade \'KeyPreview\' do formulário em \'True\'.


pequise na internet pela lista de virtuail keys do delphi caso queria
utilizar outras teclas
_________________
Rafael Martins de Oliveira
Analista de Sistemas

Voltar ao Topo

ricars01
Colaborador Enviada: Qui Ago 04, 2005 1:43 pm Assunto: Código Teclas

Na verdade para as teclas de F1 até F12 tem uma amarração de


código diferente. Elas são manipuladas pelo Delphi (ou a API do
Windows, não sei ao certo) como Virtual Keys e portanto seu
mapeamento não é feito na Tabela ASC II da maneira como outras
Registrado: Quarta- teclas. Para verificar ou usar essas teclas como teclas de atalho vc
Feira, 25 de Agosto de deve usar a referência VK_F5 para a tecla F5.
2004
Mensagens: 1879 Essas teclas são usadas, segundo a ajuda do Delphi, para mapear as
Localização: Itu/SP
teclas não-alfanuméricas. Geralmente os eventos onde essas teclas
são suportadas são os eventos OnKeyUp e OnKeyDown.
_________________
<b>Nova assinatura em elaboração... ainda!! Esta é a versão
"alfa"</b>

Voltar ao Topo

ricars01
Colaborador Enviada: Qui Ago 04, 2005 1:45 pm Assunto: Código Teclas

Na verdade para as teclas de F1 até F12 tem uma amarração de


código diferente. Elas são manipuladas pelo Delphi (ou a API do
Windows, não sei ao certo) como Virtual Keys e portanto seu
mapeamento não é feito na Tabela ASC II da maneira como outras
Registrado: Quarta- teclas. Para verificar ou usar essas teclas como teclas de atalho vc
Feira, 25 de Agosto de deve usar a referência VK_F5 para a tecla F5.
2004
Mensagens: 1879 Essas teclas são usadas, segundo a ajuda do Delphi, para mapear as
Localização: Itu/SP
teclas não-alfanuméricas. Geralmente os eventos onde essas teclas
são suportadas são os eventos OnKeyUp e OnKeyDown.
_________________
<b>Nova assinatura em elaboração... ainda!! Esta é a versão
"alfa"</b>

Voltar ao Topo

VirtualC
Mestre Enviada: Qui Ago 04, 2005 2:51 pm Assunto: Código Teclas

No evento onKeyDown

if(key = 116)then //tecla f3


Registrado: Segunda- //faca algo
Feira, 27 de Setembro
de 2004
Mensagens: 796
Localização: Guaçuí-ES Qualquer cosia postae!!!!

Aguardo retorno
_________________
Caio Monteiro B. da Silva
Aluno de Mestrado
ITA - Instituto Tecnológico de Aeronáutica
Divisão de Ciência da Computação

Voltar ao Topo

ricars01
Colaborador Enviada: Qui Ago 04, 2005 3:28 pm Assunto: Código Teclas

Na verdade pessoal os eventos corretos para se usar as teclas de F1


à F12 são os eventos [i] OnKeyUp [/i]e [i] OnKeyDown [/i]onde o
parâmetro [b] Key [/b]já é do tipo [b] Word[/b]

Registrado: Quarta- Então siga os seguintes exemplos para usar as Tecla de Funções (F1
Feira, 25 de Agosto de à F12) em seu sistema: (estou amarrando apenas a um Form):
2004
Mensagens: 1879
Localização: Itu/SP
[b] Procedure [/b]TForm1.FormKeyUp(Sender: TObject; var Key:
Word;
Shift: TShiftState);
[b] Begin[/b]
if Key = VK_F5 then
ShowMessage(\'Pressionei [F5]\');
[b] End;[/b]

[b] Procedure [/b]TForm1.FormKeyUp(Sender: TObject; var Key:


Word;
Shift: TShiftState);
[b] Begin[/b]
if Key = VK_F4 then
ShowMessage(\'Pressionei [F4]\');
[b] End;[/b]

_________________
<b>Nova assinatura em elaboração... ainda!! Esta é a versão
"alfa"</b>

Voltar ao Topo

adriano_servitec
Colaborador Enviada: Qui Ago 04, 2005 3:35 pm Assunto: Código Teclas

Ola se vc quiser todo os codigos das teclas de atalho como F1, F2,
etc vc pode apontar para onkeydown do seu form e apertar a tecla
F1 do help do Delphi e no VIRTUAL KEY CODES vc tera toda os
Registrado: Sexta-Feira, codigos das teclas de atalhos, mais se vc quiser dar uma olhada eis
30 de Janeiro de 2004 ai os codigos:
Mensagens: 17100
Localização: Curitiba-PR
Virtual Key Code Corresponding key

VK_LBUTTON Left mouse button


VK_RBUTTON Right mouse button
VK_CANCEL Control+Break
VK_MBUTTON Middle mouse button
VK_BACK Backspace key
VK_TAB Tab key
VK_CLEAR Clear key
VK_RETURN Enter key
VK_SHIFT Shift key
VK_CONTROL Ctrl key
VK_MENU Alt key
VK_PAUSE Pause key
VK_CAPITAL Caps Lock key
VK_KANA Used with IME
VK_HANGUL Used with IME
VK_JUNJA Used with IME
VK_FINAL Used with IME
VK_HANJA Used with IME
VK_KANJI Used with IME
VK_CONVERT Used with IME

VK_NONCONVERT Used with IME


VK_ACCEPT Used with IME
VK_MODECHANGE Used with IME
VK_ESCAPE Esc key
VK_SPACE Space bar
VK_PRIOR Page Up key
VK_NEXT Page Down key
VK_END End key
VK_HOME Home key
VK_LEFT Left Arrow key
VK_UP Up Arrow key
VK_RIGHT Right Arrow key
VK_DOWN Down Arrow key
VK_SELECT Select key
VK_PRINT Print key (keyboard-specific)
VK_EXECUTE Execute key
VK_SNAPSHOT Print Screen key
VK_INSERT Insert key
VK_DELETE Delete key
VK_HELP Help key

VK_LWIN Left Windows key (Microsoft keyboard)


VK_RWIN Right Windows key (Microsoft keyboard)
VK_APPS Applications key (Microsoft keyboard)
VK_NUMPAD0 0 key (numeric keypad)
VK_NUMPAD1 1 key (numeric keypad)
VK_NUMPAD2 2 key (numeric keypad)
VK_NUMPAD3 3 key (numeric keypad)
VK_NUMPAD4 4 key (numeric keypad)
VK_NUMPAD5 5 key (numeric keypad)
VK_NUMPAD6 6 key (numeric keypad)
VK_NUMPAD7 7 key (numeric keypad)
VK_NUMPAD8 8 key (numeric keypad)
VK_NUMPAD9 9 key (numeric keypad)

VK_MULTIPLY Multiply key (numeric keypad)


VK_ADD Add key (numeric keypad)
VK_SEPARATOR Separator key (numeric keypad)
VK_SUBTRACT Subtract key (numeric keypad)
VK_DECIMAL Decimal key (numeric keypad)
VK_DIVIDE Divide key (numeric keypad)
VK_F1 F1 key
VK_F2 F2 key
VK_F3 F3 key
VK_F4 F4 key
VK_F5 F5 key
VK_F6 F6 key
VK_F7 F7 key
VK_F8 F8 key
VK_F9 F9 key
VK_F10 F10 key
VK_F11 F11 key
VK_F12 F12 key
VK_F13 F13 key
VK_F14 F14 key
VK_F15 F15 key

VK_F16 F16 key


VK_F17 F17 key
VK_F18 F18 key
VK_F19 F19 key
VK_F20 F20 key
VK_F21 F21 key
VK_F22 F22 key
VK_F23 F23 key
VK_F24 F24 key
VK_NUMLOCK Num Lock key
VK_SCROLL Scroll Lock key
VK_LSHIFT Left Shift key (only used with GetAsyncKeyState and
GetKeyState)
VK_RSHIFT Right Shift key (only used with GetAsyncKeyState and
GetKeyState)
VK_LCONTROL Left Ctrl key (only used with GetAsyncKeyState and
GetKeyState)
VK_RCONTROL Right Ctrl key (only used with GetAsyncKeyState and
GetKeyState)

VK_LMENU Left Alt key (only used with GetAsyncKeyState and


GetKeyState)
VK_RMENU Right Alt key (only used with GetAsyncKeyState and
GetKeyState)
VK_PROCESSKEY Process key
VK_ATTN Attn key
VK_CRSEL CrSel key
VK_EXSEL ExSel key
VK_EREOF Erase EOF key
VK_PLAY Play key
VK_ZOOM Zoom key
VK_NONAME Reserved for future use
VK_PA1 PA1 key
VK_OEM_CLEAR Clear key

_________________
Quer uma bateria musical profissional completa em seu smartphone?
Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.hhop
drum
https://play.google.com/store/apps/details?id=br.com.couldsys.rock
drum

Voltar ao Topo

Todas as mensagens Antigas primeiro Ir


Mostrar os tópicos anteriores:
Todos os horários são GMT - 3 Horas
ActiveDelphi - Índice do Fórum -> Delphi

Página 1 de 1

Delphi Ir
Ir para:
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.

Powered by phpBB © 2001, 2005 phpBB Group


Traduzido por: Suporte phpBB

DEVMEDIA
Login
Mostrar menu

Criar Tecla de Atalho F2, F3, F4...


18/05/2006

Olá Pessoal!

No meu sistema tenho uma tela de cadastro com uma toolbar e


preciso criar teclas de atalho para acessar os seus botões.
Se tento usar o ´ALT + alguma coisa´ estarei acessando o menu do
meu form principal. Então minha idéia seria usar as teclas de função
(F2, F3, F4...)
Como faço isso? Alguém poderia me dar uma dica?
Estou usando Delphi 7...

Obrigado!

Delphi
Tomew

MELHOR RESPOSTA
18/05/2006

mude a propriedade do formulario keypreview para true.


no evento on keydown faça o teste, como por exemplo:
if key = vk_f2 then
begin
ToolButton1Click(self);
end;
ToolButton1Click(self); apenas chama o evento de clicar no botão
cujo name é ToolButton1 da ToolBar.
Atenção se o name de seus ToolButton´s for diferente, substitua pelo
name corespondente.
Espero ter ajudado.
Atenciosamente
Eriley

Erileyvb

RESPONDER CITAR
Melhor Resposta+ 1
OUTRAS RESPOSTAS
18/05/2006

Martins

Olá Pessoal! No meu sistema tenho uma tela de cadastro com uma
toolbar e preciso criar teclas de atalho para acessar os seus botões.
Se tento usar o ´ALT + alguma coisa´ estarei acessando o menu do
meu form principal. Então minha idéia seria usar as teclas de função
(F2, F3, F4...) Como faço isso? Alguém poderia me dar uma dica?
Estou usando Delphi 7... Obrigado!

Não sei se já lhe responderam, mas vc pode usar a estrutura abaixo e


adaptar para sua necessidade.

Inclua esse código no OnKeyDown do FORM.


1 case key of
2 vk_f2: ShowMessage(´Teclou F2..´);
3 vk_f3: ShowMessage(´Teclou F3..´);
4 vk_f4: ShowMessage(´Teclou F4..´);
5 vk_f5: ShowMessage(´Teclou F5..´);
end;
6

Lembre-se de passar KeyPreview para true.

Boa sorte e bons códigos!

RESPONDER CITAR
Melhor Resposta+ 0

18/05/2006
Tomew

Muito obrigado!
Funcionou perfeitamente.

RESPONDER CITAR
Melhor Resposta+ 0

18/05/2006

Martins

Muito obrigado! Funcionou perfeitamente.

:D

É sempre um prazer ajudar os colegas do fórum, sucesso em seus


códigos.

[]´s

RESPONDER CITAR
Melhor Resposta+ 0

12/04/2007

Daia

tentei fazer, mas p mim não funcionou da erro em ´vk_f2´... é


preciso declarar alguma coisa no Uses...??
Obrigada!

RESPONDER CITAR
Melhor Resposta+ 0

23/09/2017
Gabriel

Cara muito Obrigado esclareceu minha duvida. Vlw


RESPONDER CITAR
Melhor Resposta+ 0

11/02/2018

Meks

Eu concordo completamente com você, eu também ajudei muito)


http://www.deviceranking.pt/smartwatch/9527/no.1-f4
RESPONDER CITAR
Melhor Resposta+ 0

RevistasBaixe o AppAPIsJobsFale conosco


Hospedagem web por Porta 80 Web Hosting

Pessoal preciso utilizar a tecla enter e passar por um radiogroup nativo do delphi, mas como
este componente não achei um evento para tratar isso usando o ENTER, então resolvi utilizar
assim

Código:

procedure TfrmPesTomador.FormKeyPress(Sender: TObject; var Key: Char);


begin
inherited;
//verifica se a tecla pressionada é a tecla ENTER, conhecida pelo Delphi
como #13
if key = #13 then
begin
//se for, passa o foco para o próximo campo, zerando o valor da
variável Key
Key:= #0;
Perform(Wm_NextDlgCtl,0,0);
end;
end;

Propriedade do form KeyPreview esta True.


Funciona, mas tem um porém....

Na hora que o radiogroup recebe o foco ele não fica com aquele realce (acho que é este o
nome) em volta do texto, agora se eu usar o TAB ai sim realçar em volta do texto. Ai fica
estranho, da a entender que não esta focado em lugar algum...

Para melhor entendimento, estou msotrando duas imagens, a primeira imagem é da forma
que eu preciso que mostre quando der um enter, ja a segunda é a forma que esta vindo
quando entra no foco do radiogroup


Delphi, Kylix

Fórum Script Brasil


 Entrar

 Cadastre-se

Entre para seguir isso


Seguidores 1

(Resolvido) Marcar items no checklistbox


Por cgm2k7, February 4 em Delphi, Kylix

 marcar items no checklistbox

cgm2k7

 Membros

 0
 8 posts

 Denunciar post

Postado February 4
olá a todos preciso de ajuda de novo

tenho um checklistbox1 e um listbox1, no checklistbox1 tem 5 items e no listbox1 tem 3 como faço
para que no evento oncreate do form somente os items existente no listbox seja marcados no
checklistbox1.

Este codigo abaixo marca os 3 primeiros items do checklistbox1

for I := 0 to ListBox1.Items.Count -1 do begin


if CheckListBox1.Items.IndexOf(ListBox1.Items.Strings[i]) > 0
then
CheckListBox1.Checked[i] := true
end;
Jhonas

 Monitores

 0
 9.324 posts
 Gender:Male
 Location:São Paulo

 Denunciar post

Postado February 4
exemplo:

procedure TForm1.BitBtn1Click(Sender: TObject);


var i, j : integer;
begin
for I := 0 to ListBox1.Items.Count -1 do
for j := 0 to CheckListBox1.Items.Count -1 do
if CheckListBox1.Items.Strings[j] =
ListBox1.Items.Strings[i] then
CheckListBox1.Checked[j] := true;

end;

CheckListBox ---- ListBox

X AAA AAA
BBB CCC
X CCC EEE
DDD
X EEE

OBS: O código está em um botão, mas não coloque no evento OnCreate e sim no OnActive

Para voce entender:

voce faz a leitura do conteudo de um indice do ListBox e com depois varre todos os indices do
CheckListBox

achando o mesmo valor, voce marca o CheckListBox pelo seu proprio indice

abraço
cgm2k7

 Membros

 0
 8 posts

 Denunciar post

Postado February 5
vlw irmão muito obrigado, deu certo aqui. Agora uma duvida

qual destas duas função é mais eficaz? consome menos processos


if LisB.Items.Count > 0 then begin
for I := 0 to LisB.Items.Count -1 do
for j := 0 to CListB.Items.Count -1 do
if CListB.Items.Strings[j] = LisB.Items.Strings[i] then
CListB.Checked[j] := true;
end;

if LisB.Items.Count > 0 then begin
for I := 0 to LisB.Items.Count -1 do begin
s := LisB.Items.Strings[i] ;
if CListB.Items.IndexOf(LisB.Items.Strings[i]) > 0 then
CListB.Checked[CListB.Items.IndexOf(s)] := true;
end;
end;

a 1ª que você postou ou a 2ª?


Jhonas

 Monitores

 0
 9.324 posts
 Gender:Male
 Location:São Paulo

 Denunciar post

Postado February 5
não existe diferença em termos de processamento .. é somente outra maneira de se programar para
obter o mesmo resultado

mas só para tirar a sua duvida

Items.IndexOf

Retorna a posição da string na lista pelo valor do indice

ou seja, voce esta apenas suprimindo o uso de outro indice para pegar a posição da string na lista

abraço

Crie uma conta ou entre para comentar


Você precisar ser um membro para fazer um comentário
Criar uma conta
Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar
Já tem uma conta? Faça o login.
Entrar Agora

IR PARA A LISTA DE TÓPICOSDelphi, Kylix

 Política De Privacidade

 Contato

Licenciado para Script BrasilPowered by Invision Community

Você também pode gostar