Selecao DevMedia QUERO SER PRIME

Fórum Chamando um evento OnKeyDown #335755

06/01/2007

0

Boa Tarde Galera!

Gostaria de saber como que eu faço para chamar um evento onKeyDown através de outro procedimento. Na verdade eu não sei o que colocar no parâmetro Shift: TShiftState.


Desde já Obrigado!


Ruyoutor

Ruyoutor

Responder

Posts

06/01/2007

Raserafim

o TShiftState pode ser:
ssShift, ssAlt, ssCtrl, ssLeft, ssRight, ssMiddle, ssDouble


Responder

Gostei + 0

07/01/2007

Ruyoutor

É depois que eu postei a dúvida eu vi essas opções mas quando eu declaro ele me retorna um erro relacionando a variavle Key que é passada como parâmetro.

teria como alguem declarar uma chamada desse tipo para que eu possa vêr

Na verdade o q eu quero é inserir um valor de uma tecla num edit sem precisar clicar na mesma.

Desde de já obrigado


Responder

Gostei + 0

10/01/2007

Rodc

O parâmetro Key deve ser uma variável.
Não sei a sintaxe está toda correta, mas segue um exemplo.

var MeuKey: word;
begin
    MeuKey := VK_RETURN;
    Edit1KeyDown(Edit1, MeuKey, ssCtrl);
end;



Responder

Gostei + 0

10/01/2007

Ruyoutor

Muito obrigado meu amigo!

Acho que é isso mesmo por causa dessa chamada eu procurei saber um pouco mas sobre passagem de parametros por referêrencia e tinha chagado a essa conclusão também


Responder

Gostei + 0

10/01/2007

Emerson Nascimento

Na verdade o q eu quero é inserir um valor de uma tecla num edit sem precisar [b:1ce54c346e]clicar[/b:1ce54c346e] na mesma.
sem clicar ou sem pressionar a tecla???

se eu entendi direito, você quer simular o pressionamento da tecla, certo? se for isso, faça assim:
var
   letra: word;
begin
   letra := ord(´A´);

   if not Edit1.Focused then Edit1.SetFocus;
//   Edit1.SelStart := length(Edit1.Text);
   keybd_event( letra, MapVirtualKey(letra, 0), 0, 0 );
end;
no exemplo acima a linha Edit1.SelStart está desabilitada porque o código está no evento de um speedbutton (que não recebe foco). se você puser esse código no evento de um componente que recebe foco, como um button ou bitbutton, essa linha deverá ser habilitada ou a propriedade AutoSelect do EditX deverá ser False.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar