criar componente em tempo de execução e evitar que uma tecla
Olá,
Tem como criar um componente (TEdit) em tempo de execução e manipular o pressionamento de uma determinada tecla?
Tem como criar um componente (TEdit) em tempo de execução e manipular o pressionamento de uma determinada tecla?
Balceiro
Curtidas 0
Respostas
Fer_nanda
21/12/2004
Para criar o edit
Como quer manipular a tecla? Não entendi, pode ser mais específico?
Até
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
Balceiro
21/12/2004
é que estou criando um componente que mostra o valor atual de venda de um produto e se o cliente quiser ele pode alterar este valor, mas ele não pode digitar outro valor senão número, ponto e virgula.
GOSTEI 0
Fer_nanda
21/12/2004
é que estou criando um componente que mostra o valor atual de venda de um produto e se o cliente quiser ele pode alterar este valor, mas ele não pode digitar outro valor senão número, ponto e virgula.
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
Paulo_amorim
21/12/2004
Olá
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
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
Balceiro
21/12/2004
teria como vc passar um exemplo?
GOSTEI 0
Marcelo Saviski
21/12/2004
bem, tente dessa foma pra poupar trabalho...
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
colocar e deletar o edit é só pra não ter que escrever todos os parametros a mão hehe
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
Balceiro
21/12/2004
deu certo não.
GOSTEI 0
Paulo_amorim
21/12/2004
Olá
Só pra começar, eu errei o tipo do método... confundi o KeyPress com o Click do botão, mas beleza...
Simplificadamente, seria:
Espero que ajude
Até+
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
Balceiro
21/12/2004
ok... resolvido, muito obrigado a todos.
GOSTEI 0