Buscar

Utilizando o esc p/ voltar casa anterior.

Código

{Precisei utilizar o Esc para retornar a casa anterior e criei uma procedure com varia linhas até que descobri numa dica sobre a utilização do Sender um exemplo que diminiu sensivelmente este nº de linhas. O artigo não fazia referencia a esta utilização, mas com uma pequena modificação funcionou muito bem. Espere que ajude alguém.}


{No campo edit, ou dbedit, no evento OnKeyPres adicione }
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
      if key=#27 then
      begin
            if Sender is TWinControl then
                if (TWinControl(Sender).ComponentIndex + 1) <= ComponentCount +1 then
                    Control(Components[TWinControl(Sender).ComponentIndex -1]).SetFocus;

    end;
     // se quiser utilizar o enter para passer a casa seguinte acrescente
      if key=#13 then
      begin
             if Key=#13 then
             begin
                   if Sender is TWinControl then
                        if (TWinControl(Sender).ComponentIndex + 1) <= ComponentCount -1 then
                              TWinControl(Components[TWinControl(Sender).ComponentIndex + 1]).SetFocus;
             end;
    end;

end;

{em seguida selecione todos os campos utilizados no form e no evento OnKeyPress coloque o campo que que foi gerado (edit1.KeyPress)


Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Arquivos
Adicionada dia: 18/02/07
Por: Devair F Furtado
Visualizada: 4434 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009