Foco completo em objeto MaskEdit
14/04/2003
0
Gente, estou usando leitor de código de barras para escrita em um objeto MaskEdit. A leitura está normal, só que, após a leitura e a respectiva procura dentro da base de dados, preciso que o objeto MaskEdit receba novamente o foco para a próxima pesquisa. Estou comandando o foco para este objeto, só que o foco fica pocicionado apenas no primeiro caracter e não em todo o conteúdo do objeto MaskEdit para que possa ser inteiramente substituido pela próxima leitura. Como faço para que o foco marque todo o conteúdo do MaskEdit?
procedure TF_Acesso.MEditBarrasChange(Sender: TObject);
begin
if Length(MEditBarras.Text) = 7 then
begin
TabAcesso.FindKey([MEditBarras.text]);
MEditBarras.SetFocus;
end;
end;
O [color=blue:9061a4c8b7]TheoFernandes[/color:9061a4c8b7] me sugeriu usar um MEditBarras.SelectAll após o SetFocus, más não deu certo (ele só marca o primeiro caracter do objeto).
Me ajudem, estou precisando finalizar esta rotina!
Obrigada,
Isadora.
[img]C:\Provisorio\IsadoraOzeiaOna_10.jpg[/img]
procedure TF_Acesso.MEditBarrasChange(Sender: TObject);
begin
if Length(MEditBarras.Text) = 7 then
begin
TabAcesso.FindKey([MEditBarras.text]);
MEditBarras.SetFocus;
end;
end;
O [color=blue:9061a4c8b7]TheoFernandes[/color:9061a4c8b7] me sugeriu usar um MEditBarras.SelectAll após o SetFocus, más não deu certo (ele só marca o primeiro caracter do objeto).
Me ajudem, estou precisando finalizar esta rotina!
Obrigada,
Isadora.
[img]C:\Provisorio\IsadoraOzeiaOna_10.jpg[/img]
Isadora
Curtir tópico
+ 0
Responder
Posts
14/04/2003
Hatrix
faz o seguinte:
MaskEdit.SelStart := 0;
MaskEdit.SelLength := Length(MaskEdit.Text);
tenta isso, eu fiz aqui e deu certo, mas vc deve colocar isso depois do SETFOCUS;
MaskEdit.SelStart := 0;
MaskEdit.SelLength := Length(MaskEdit.Text);
tenta isso, eu fiz aqui e deu certo, mas vc deve colocar isso depois do SETFOCUS;
Responder
14/04/2003
Demian Soares
Gente, estou usando leitor de código de barras para escrita em um objeto MaskEdit. A leitura está normal, só que, após a leitura e a respectiva procura dentro da base de dados, preciso que o objeto MaskEdit receba novamente o foco para a próxima pesquisa. Estou comandando o foco para este objeto, só que o foco fica pocicionado apenas no primeiro caracter e não em todo o conteúdo do objeto MaskEdit para que possa ser inteiramente substituido pela próxima leitura. Como faço para que o foco marque todo o conteúdo do MaskEdit?
procedure TF_Acesso.MEditBarrasChange(Sender: TObject);
begin
if Length(MEditBarras.Text) = 7 then
begin
TabAcesso.FindKey([MEditBarras.text]);
MEditBarras.SetFocus;
end;
end;
O [color=blue:678a9aff7c]TheoFernandes[/color:678a9aff7c] me sugeriu usar um MEditBarras.SelectAll após o SetFocus, más não deu certo (ele só marca o primeiro caracter do objeto).
Me ajudem, estou precisando finalizar esta rotina!
Obrigada,
Isadora.
[img]C:\Provisorio\IsadoraOzeiaOna_10.jpg[/img]
uma solucao simples seria vc limpar o conteudo de MEditBarras da seguinte forma...
antes da linha
MEditBarras.SetFocus;
coloque
MEditBarras.text := ´´;
MEditBarras.SetFocus;
pronto, quando o foco voltar para meditbarras estaria limpo....
e o que aconteceu com vc nao consegui simular aqui.. entao resolvi desta maneira...
Responder
Clique aqui para fazer login e interagir na Comunidade :)