Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Problem mit der Tastensteuerung und DBGrid's (https://www.delphipraxis.net/25934-problem-mit-der-tastensteuerung-und-dbgrids.html)

-tobi- 15. Jul 2004 08:03


Problem mit der Tastensteuerung und DBGrid's
 
Hallo,

ich möchte das mein DBGird die gleichen Funktionen bei Pfeil nach oben oder unten ausführt, wie wenn ich in eine neue Zeile klicke.

Problem:
Ich weiß nicht welche Methode/Funktion wird beim Drücken der Pfeiltasten ausgeführt?
Gibt es vielleicht eine Möglichkeit beides auf einmal abzufangen? :?:

Stand:
Ich habe das Abfangen des Tastendruckes schon mit "OnColEnter" und "OnColumnMoved" probiert und es geht nicht. :gruebel:
Das Klickereignis fange ich mit "OnCellClick" ab.

Grüße
tobi

Sharky 15. Jul 2004 08:11

Re: Problem mit der Tastensteuerung und DBGrid's
 
Zitat:

Zitat von -tobi-
...Ich weiß nicht welche Methode/Funktion wird beim Drücken der Pfeiltasten ausgeführt?
...

Hai -tobi-,

schaue dir mal .OnKeyDown an.

-tobi- 15. Jul 2004 09:21

Re: Problem mit der Tastensteuerung und DBGrid's
 
Danke,

es funktioniert soweit ganz gut.

Problem:
Beispieltabelle:
Artikel
Bestellung
Girokonto
...

Wenn ich bei 'Artikel' beginne mit Pfeil nach unten, ändern sich die Daten nicht.
Die Daten ändern sich erst beim 2. Tastendruck.
Das heist:
Bei 'Girokonto' bekomme ich die Daten für 'Bestellung', bei 'Bestellung' bleiben die Daten von 'Artikel' stehen. Beim letzten Datensatz bin, muss ich ein 2. mal auf die Taste drücken, daß ich die richtigen Daten bekomme. Das gleiche gilt für Taste nach oben.

Delphi-Quellcode:
  with DatenModul.Abfr_DBDoku_Tab do
  begin
    if (Key in [VK_UP, VK_LEFT]) then
    begin
      Previous;
      if FieldByName('Tabellenname').Value <> null then
      begin
        {Aktionen;}
      end;
    end
    else if (Key in [VK_DOWN, VK_RIGHT]) then
    begin
      if FieldByName('Tabellenname').Value <> null then
      begin
        {Aktionen;}
      end;
    end
    {Hier steht 'Pos1' und 'Ende', dies funktioniert!}
  end;
Frage:
Wo liegt mein Fehler?

Gruß
tobi

-tobi- 15. Jul 2004 11:18

Re: Problem mit der Tastensteuerung und DBGrid's
 
Ich habe meinen Fehler.

Mit 'OnKeyDown' kommen die Fehler die ich oben erwähnt habe.

Mit 'OnKeyUp' macht er es richtig.

Gruß
tobi


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:36 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz