Fórum Efeito digitação e seleção em TEdit. #366141
14/11/2008
0
Como faço pra simular um efito de digitação no TEdit?
Exemplo: Tenho uma variavel tipo string:
variável:=´Bom dia garotada!´
Edit1.text:=Variavel //mas quero que apareça como se estivesse sendo digitado, letra por letra.
Outra dúvida: Quando dbclicar em ´Bom´ ou em ´dia´, quero que seja selecionado ´Bom dia´, e não somente ´bom´, ou somente ´dia´.
Alguem ajuda? Obrigado.
Abelha
Curtir tópico
+ 0Posts
14/11/2008
Abelha
Gostei + 0
14/11/2008
Wdrocha
Vc pod fazer um for....Assim...
For I := 0 To Length (Variável) - 1 Do KeyBdEvent (VkKeyScan(Variavel[I]), 0, KEYEVENTF_EXTENDEDKEY, 0); KeyBdEvent (VkKeyScan(Variavel[I]), 0, KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0);
O q este código faz???
ele envia letras para o buffer do teclado....conforme o layout do seu teclado...
por isso eu disse q o resto vc vai ter q procurar...por exemplo...se o seu teclado for Internacional....não tem o Cedilha....logo qdo uma letra for cedilha....ele não vai encontrar e enviar outra....
mas isso...é tratável...
vc pod emular um outro layout d teclado....
Outro dia...eu precisei disso...e criei uma matriz com o número da letra no mapa de caracteres do Windows em uma linha...e na outra linha...eu coloquei a letra correspondente....por exemplo o número do Cedilha....e emulava Alt + o número q estava na matriz....q seria o número do Cedilha para mostrar na tela esta letra...
qdo eu precisava de qualquer outra letra....
eu apenas buscava na minha matriz....
Enfim....existem N maneiras....
esse é o começo...
espero ter ajudado...
Gostei + 0
14/11/2008
Wdrocha
dentro do laço For....
coloca um begin e End...q eu esqueci e tbm....
para q mostre letra a letra...
usa o Sleep (100), por exemplo....ele vai segurar o laço por um tempinhow antes q ele passe para a outra volta....
espero ter ajudado.....flw
Gostei + 0
14/11/2008
Abelha
[i:1567718eaa][Error] Undeclared identifier: ´KeyBdEvent´[/i:1567718eaa]
Esse KeyBdEvent tem que ser daclarado?
Gostei + 0
15/11/2008
Wdrocha
só agora q eu vi sua resposta...
Desculpa colega...
mas é KeyBd_Event.....tah na unit Windows.pas...
espero q ajude vc..
qualquer coisa....diz aew..
Bom fds..
Flw
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)