Fórum criar componente em tempo de execução e evitar que uma tecla #262917
21/12/2004
0
Tem como criar um componente (TEdit) em tempo de execução e manipular o pressionamento de uma determinada tecla?
Balceiro
Curtir tópico
+ 0Posts
21/12/2004
Fer_nanda
procedure TForm1.FormClick(Sender: TObject); var b:TEdit; begin b:=TEdit.create(self); b.parent:=self; b.left:=250; b.top :=100; b.name:=´caixa´; b.text:=´Seu Texto Aqui´; end;
Como quer manipular a tecla? Não entendi, pode ser mais específico?
Até
Gostei + 0
21/12/2004
Balceiro
Gostei + 0
21/12/2004
Fer_nanda
No evento key press do componente coloque
if not(Key in[´0´..´9´, ´,´,´.´,8])then {8 permite que vc utilize o backspace}
begin
Beep;
Key := 0;
end;Espero que seja isso,
Até
Gostei + 0
21/12/2004
Paulo_amorim
Para colocar o código que a Fernanda falou, crie uma rotina do tipo TNotifyEvent (ou seja, que tenha o parâmetro Sender: TObject) e na hora de instanciar seu componente coloque
OnKeyPress := <sua rotina>;
Gostei + 0
21/12/2004
Balceiro
Gostei + 0
21/12/2004
Marcelo Saviski
coloque um edit, deixe com nome de ´Edit´ mesmo, e clique duplo no evento onkeypress
coloque o código que vc quer que seja executado quando teclar algo no edit
agora delete esse edit e deixe o código lá
depois quando criar o edit, faça
...OnKeyPress := EditKeyPress;
colocar e deletar o edit é só pra não ter que escrever todos os parametros a mão hehe
Gostei + 0
21/12/2004
Balceiro
Gostei + 0
21/12/2004
Paulo_amorim
Só pra começar, eu errei o tipo do método... confundi o KeyPress com o Click do botão, mas beleza...
Simplificadamente, seria:
procedure FazAlgo(Sender: TObject; var Key: Char); begin end; procedure CriaEdit; var edt: TEdit; begin edt := TEdit.Create(Self); edt.Parent := Self; edt.OnKeyPress := FazAlgo; end;
Espero que ajude
Até+
Gostei + 0
21/12/2004
Balceiro
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)