Einzelnen Beitrag anzeigen

Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
 
Delphi XE2 Professional
 
#3

Re: StringGrid: Nach Eingabe eines Zeichens weiterspringen

  Alt 19. Jan 2007, 09:56
Hallo,

ich hab mich gestern noch an dieses Problem gewagt und hab folgendes gemacht:
Delphi-Quellcode:
procedure TForm2.StringGridKeyPress(Sender: TObject; var Key: Char);
var
  Zeile : Integer;
  Spalte: Integer;

begin
  with StringGrid do
    begin
      //
      Zeile := Selection.Top;
      Spalte := Selection.Left;

      If not (Key in ['a'..'z', 'A'..'Z', '0'..'9', #8, #32]) then
        exit;

      If Key = #8 then
        begin
          If (Pred(Spalte) > 0) then
            Spalte := Spalte - 1
          else
            If (Spalte = 1) and (Zeile > 1) then
              begin
                Zeile := Zeile - 1;
                Spalte := 40;
              end;

          StringGrid.Cells[Spalte, Zeile] := '';
          StringGrid.Col := Spalte;

          StringGrid.Row := Zeile;

          exit;
        end;

      If (Zeile > 0) and (Spalte > 0) then
        begin
          StringGrid.Cells[Spalte, Zeile] := Key;

          If Spalte < 40 then
            StringGrid.Col := Spalte + 1
          else
            If Zeile <= 3 then
              begin
                StringGrid.Col := 1;
                StringGrid.Row := Zeile + 1;
              end;
        end;
    end;
end;
Die Option "goEditing" hab ich wieder auf false gesetzt - brauch ich ja jetzt nicht mehr!
Jetzt hab ich nur noch das Problem, dass ich auf die "Entf"-Taste u. a. reagieren muss, aber dazu siehe meinen anderen Thrad
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat