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...
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
Curtir tópico
+ 0
Responder
Posts
27/04/2004
Bon Jovi
[color=darkblue:f2bbb549a5]Poste a mensagem WM_KEYUP ou WM_KEYDOWN/etc pro edit. Exemplo:[/color:f2bbb549a5]
[color=darkblue:f2bbb549a5]Com SpeedButton, por ele não ganhar foco, consegue-se receber seguidamente o WM_KEYUP no Edit.[/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
Clique aqui para fazer login e interagir na Comunidade :)