GARANTIR DESCONTO

Fórum Send Key - Text Box #228022

26/04/2004

0

Tenho dois Forms, A e B
Quero enviar a tecla precionada (On KeyPress do Form B) no Form B para um Edit que está no form A.

Tentei da seguinte forma:
no evento OnKeyPress do FormB
Begin
Close;
FormA.Edit1.SetFocus;
FormA.Edit1.Text:=Key;
End.

Isso Funciona, mais não completamente. O edit recebe a tecla prescionada, porém o cursor fica possicionado à esquerda do caracter enviado para o edit. Precisso que o cursor fique posicionado à direita do caracter que foi enviado ao edit1 através do comando ´FormA.Edit1.Text:=Key;´ ...
Se alguém tiver uma idéia melhor de como fazer agradeço...


Ederbond

Ederbond

Responder

Posts

27/04/2004

Bon Jovi

[color=darkblue:f2bbb549a5]Poste a mensagem WM_KEYUP ou WM_KEYDOWN/etc pro edit. Exemplo:[/color:f2bbb549a5]

procedure TForm1.Button1Click(Sender: TObject);
const
  LETRA_A: word = 65;
begin
  if not Edit1.Focused then
    Edit1.SetFocus;
  PostMessage(Edit1.Handle, WM_KEYUP, LETRA_A, 0);
end;

procedure TForm1.SpeedButton1Click(Sender: TObject);
const
  LETRA_A: word = 65;
begin
  if not Edit1.Focused then
    Edit1.SetFocus;
  PostMessage(Edit1.Handle, WM_KEYUP, LETRA_A, 0);
end;

end.

[color=darkblue:f2bbb549a5]Com SpeedButton, por ele não ganhar foco, consegue-se receber seguidamente o WM_KEYUP no Edit.[/color:f2bbb549a5]


Responder

Gostei + 0

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

Aceitar