Fórum Criar Teclado "Virtual" com Delphi #378511
28/05/2010
0
Não sei se esta questão já foi solucionada, então aí vai:
Tenho 2 forms (FPrinc e FSec).Em FPrinc eu tenho vários edits (ednome, edrua, edcasa, etc...).Em FSec eu acrescentei 25 botões que correspondem as letras do alfabeto.
O que eu estou pretendendo fazer é uma espécie de "Teclado Virtual". Se o usuário estiver com problemas no teclado, este chamará FSec para preencher o campo que estiver focado em Fprinc.EX:O usuário está preenchendo "ednome", ao chamar FSec o aplicativo fará o seguinte comando:
Fprinc.ednome.text := Fprinc.ednome.text + Tbutton(sender).caption;
Onde o caption do Tbutton é justamente as letras do alfabeto.
O código funciona perfeitamente, o problema é que não posso colocar esse mesmo comando para todos os edits de FPrinc. Existe alguma forma de generalizar este comando para todos os edits e maskedits que existam em FPrinc ?
Grato pela atenção.
Hacson Alexandre
Curtir tópico
+ 0Posts
09/06/2010
Carlos Mazzi
var i:integer;
begin
for i := 0 to ComponentCount -1 do
begin
if (Components[i] is TEdit) then
begin
if TEdit(Components[i]).tag = 1 then
begin
TEdit(Components[i]).Text:= TEdit(Components[i]).Text +'A';
end;
end;
end;
A rotina, conta quantos componentes sao Tedit, marca e visualiza a qual esta com a propriedade tag =1 , (ou vc pode mudar colocando diferente de 0...) e adiciono o string nela. O caminho das pedras ta ai.. agora pode ficar muito mas facil abstraindo mais esse metodo, para nao ter q criar campo a campo... Sugiro que passe a String por parametro. Abracos++
Gostei + 0
09/06/2010
Marco Salles
Não sei se esta questão já foi solucionada, então aí vai:
Tenho 2 forms (FPrinc e FSec). Em FPrinc eu tenho vários edits (ednome, edrua, edcasa, etc...). Em FSec eu acrescentei 25 botões que correspondem as letras do alfabeto.
O que eu estou pretendendo fazer é uma espécie de "Teclado Virtual". Se o usuário estiver com problemas no teclado, este chamará FSec para preencher o campo que estiver focado em Fprinc. EX: O usuário está preenchendo "ednome", ao chamar FSec o aplicativo fará o seguinte comando:
Fprinc.ednome.text := Fprinc.ednome.text + Tbutton(sender).caption;
Onde o caption do Tbutton é justamente as letras do alfabeto.
O código funciona perfeitamente, o problema é que não posso colocar esse mesmo comando para todos os edits de FPrinc. Existe alguma forma de generalizar este comando para todos os edits e maskedits que existam em FPrinc ?
Grato pela atenção.
Fprinc.ednome.text := Fprinc.ednome.text + Tbutton(sender).caption;
Gostei + 0
09/06/2010
Saulo Benvenutti
para as outras versões ... tbm existe na biblioteca da TMS ...
mas se quizer fazer na unha mesmo tera que usar hooks de teclado ...
ex.: keybd_event(222, 0, 0, 0); a função keydb_event chama a api de teclado e simula uma tecla pressionada ...procure na web sobre esta função e vc terá as informações que necessida para implementar o teclado ...
minha sugestão é vincular a tag de um sppedbutton ... na chamada !!!
espero ter ajudado
Gostei + 0
09/06/2010
Marco Salles
para as outras versões ... tbm existe na biblioteca da TMS ...
mas se quizer fazer na unha mesmo tera que usar hooks de teclado ...
ex.: keybd_event(222, 0, 0, 0); a função keydb_event chama a api de teclado e simula uma tecla pressionada ... procure na web sobre esta função e vc terá as informações que necessida para implementar o teclado ...
minha sugestão é vincular a tag de um sppedbutton ... na chamada !!!
espero ter ajudado
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)