OnKeyPress

Delphi

22/09/2005

Olá, tenho um stringgrid e no evento OnKeyPress dele coloquei o seguinte código:
procedure TFManutPrevEqui2.sgCompressorKeyPress(Sender: TObject;
var Key: Char);
begin
if key = #13 then begin
if sgCompressor.Col <> sgCompressor.ColCount - 1 then
sgCompressor.Col := sgCompressor.Col + 1
else begin
sgCompressor.Col := 1;
sgCompressor.Row := sgCompressor.Row + 1;
end ;
end ;
end;

Só que nao esta funcionando como eu quero: quando chego na última linha da última coluna ele da erro: ´Grid out of index´, na verdade queria que ele voltasse para a primeira coluna na primeira linha, mas não estou conseguindo...
Espero que alguém possa me ajudar!


Daia

Daia

Curtidas 0

Respostas

Massuda

Massuda

22/09/2005

...queria que ele voltasse para a primeira coluna na primeira linha
Faça assim...
procedure TFManutPrevEqui2.sgCompressorKeyPress(Sender: TObject;
  var Key: Char);
begin
   if key = #13 then begin
      if sgCompressor.Col < sgCompressor.ColCount - 1 then
         sgCompressor.Col := sgCompressor.Col + 1
      else begin
         sgCompressor.Col := 1;
         if sgCompressor.Row < sgCompressor.RowCount - 1 then
           sgCompressor.Row := sgCompressor.Row + 1
         else 
           sgCompressor.Row := 1; // ou 0?
      end ;
   end ;
end;



GOSTEI 0
Daia

Daia

22/09/2005

valeu!!!!!! Funcionou bem como eu precisava, pensei em usar mais um if também, mas queria tentar fazer sem o if, mas acho q não teria solução!!!
Muito obrigada!!


GOSTEI 0
POSTAR