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]


Isadora

Isadora

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;


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

14/04/2003

Aroldo Zanela

  MaskEdit1.SelectAll;
  MaskEdit1.SetFocus;



Responder

APRENDA A PROGRAMAR DO ZERO AO PROFISSIONAL

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar