Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi seltsames Verhalten bei Stringgrid auf Form (https://www.delphipraxis.net/11250-seltsames-verhalten-bei-stringgrid-auf-form.html)

Hansa 2. Nov 2003 20:50


seltsames Verhalten bei Stringgrid auf Form
 
Hi,

ich habe hier etwas sehr merkwürdiges: mit Enter will ich von einem Editfeld in ein Stringgrid springen und da wieder mit Enter in die nächste Zelle. KeyPreview ist auf true gesetzt.

Delphi-Quellcode:
procedure TForm1.StringGrid1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var aendern : boolean;
begin
  if not (key in [48..57,8,13,27]) then
    key := 0;
  with StringGrid1 do begin
    case key of
      VK_TAB,
      VK_RETURN :
So wandere ich durch das Grid. Und mit folgendem:

Delphi-Quellcode:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  EnterTab(Sender,Key,Shift,[],[],true);
end;
soll erreicht werden, daß ich auch mit Enter aus dem Editfeld in das Grid komme. Nun passiert folgendes: So wie es jetzt da steht komme ich mit Enter aus dem Edit in das Grid, von da an gehts nicht mehr mit Enter weiter.

Kommentiere ich das EnterTab aus, so kome ich nur mit Tab ins Grid, aber dann kann ich da mit Enter rumwandern. Das Entertab ist übrigens das berühmte von PaulJr. :mrgreen:

Sharky 3. Nov 2003 08:00

Re: seltsames Verhalten bei Stringgrid auf Form
 
Hai Hansa,

Zitat:

Zitat von Hansa
..... KeyPreview ist auf true gesetzt.

bedeutet also das alle Key-Ereignisse zuerst an die Form gesendet werden. Also auch wenn Du in deinem StringGrid bist.

Prüfe doch mal in deinen FormKeyDown ob SENDER ein TEdit gewesen ist und springe nur dann in dein StringGrid.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:22 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