Efeito digitação e seleção em TEdit.
Olá.
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.
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
Curtidas 0
Respostas
Abelha
14/11/2008
sobe
GOSTEI 0
Wdrocha
14/11/2008
Boa tarde....vou t dar um pequeno exemplo de como enviar letras para o edit q vc quer...não entrarei em mts detalhes....o resto é com vc...
Vc pod fazer um for....Assim...
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...
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
Wdrocha
14/11/2008
Já ia esquecendo....
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
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
Abelha
14/11/2008
Obrigado colega, mas na hora de compilar deu erro:
[i:1567718eaa][Error] Undeclared identifier: ´KeyBdEvent´[/i:1567718eaa]
Esse KeyBdEvent tem que ser daclarado?
[i:1567718eaa][Error] Undeclared identifier: ´KeyBdEvent´[/i:1567718eaa]
Esse KeyBdEvent tem que ser daclarado?
GOSTEI 0
Wdrocha
14/11/2008
Boa noite....desculpa a demora em responder...
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
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