Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi TabOrder / TabStop funktioniert nicht (https://www.delphipraxis.net/176154-taborder-tabstop-funktioniert-nicht.html)

HolgerCW 15. Aug 2013 10:55

Delphi-Version: 2006

TabOrder / TabStop funktioniert nicht
 
Hallo zusammen,

ich habe verschiedene Forms auf denen verschiedene Edit-Felder etc sind.

Auf einer Form funktioniert nur das weiterschalten per Tab nicht ?

Habe dort drei GroupBoxen und in denen dann die Felder, welche ich alle mit Tab-Order von 0 ... betitelt habe.

Was habe ich eventuell falsch gemacht das das mit dem Tabulator weiterschalten nicht mehr geht ?

Gruss

Holger

Loki77 15. Aug 2013 11:59

AW: TabOrder / TabStop funktioniert nicht
 
Hallo Holger,

kenne das Problem von RadioGroups, da ist TabStop/TabOrder so lange nicht möglich bis der ItemIndex <> -1 ist,
d.h. ein Item muss per Default ausgewählt sein um die Komponente per Tab anzuspringen.
Sieht bei der GroupBox ähnlich aus.
Bin leider noch auf keine Lösung gestoßen die mich nicht zwingt ein Item vorzubelegen.

Gruß Philipp

HolgerCW 16. Aug 2013 13:38

AW: TabOrder / TabStop funktioniert nicht
 
Das heisst ich kann auf allen Forms, wo mehr als eine GroupBox ist, das weiterspringen von Tabs nicht nutzen ?

Da muss es doch eine Lösung geben ?

Bei mir gibt es manche Forms die haben auch mehrere GroupBoxen und da geht der Tab, bei anderen wieder nicht. Finde nur nicht den unterschied wodran es leigen könnte ?

Gruss

Holger

DeddyH 16. Aug 2013 13:43

AW: TabOrder / TabStop funktioniert nicht
 
Das hat er nicht gesagt, sondern dass je Gruppe ein Element ausgewählt, der ItemIndex also > -1 sein muss. Eine Gruppe mit einem ItemIndex von -1 kann per Tab nicht angesprungen werden.

[edit] Da es sich bei Dir aber um Groupboxen handelt und nicht um Radiogroups: Du hast die betreffenden Groupboxen nicht versehentlich disabled oder sie auf disablete Panels gelegt? Das Dumme daran ist, dass man das gar nicht sieht, sich aber dafür umso mehr wundert. [/edit]

HolgerCW 16. Aug 2013 14:25

AW: TabOrder / TabStop funktioniert nicht
 
Hallo,

ein Panel ist dort nicht und die GroupBoxen sind auch alle Enabled = TRUE

Ist da eventuell noch eine andere Einstellung die das mit den Tabs verhindern kann ?

Gruss

Holger

DeddyH 16. Aug 2013 14:28

AW: TabOrder / TabStop funktioniert nicht
 
Dann fällt mir nur noch ein, dass für die Elemente einer betreffenden Groupbox Tabstop auf false steht, da zeigt sich dann auch das geschilderte Verhalten.

HolgerCW 19. Aug 2013 11:16

AW: TabOrder / TabStop funktioniert nicht
 
Die Groupbox hatte zwar TabStop = FALSE aber auch ein setzen auf TRUE hat nichts bewirkt.

Weiß echt nciht wodran das liegen könnte ...

DeddyH 19. Aug 2013 12:17

AW: TabOrder / TabStop funktioniert nicht
 
Nicht die GroupBox an sich, sondern die enthaltenen Komponenten waren gemeint. Wenn es das auch nicht ist, gehen mir die Ideen aus.

HolgerCW 20. Aug 2013 10:56

AW: TabOrder / TabStop funktioniert nicht
 
Die enthaltenen Komponenten stehen alle auf TabStop = TRUE.

HolgerCW 20. Aug 2013 11:22

AW: TabOrder / TabStop funktioniert nicht
 
Hallo,

ich habe den Fehler gefunden. Nur verstehe ich Ihn nicht. Ich habe auf der Form ein StringGrid in das ich eine ComboBox integriert habe.

Nun gibt es dort unter den privaten proceduren folgende procedure:
Delphi-Quellcode:
...
private

    procedure CMDialogKey(var msg: TCMDialogKey); message CM_DIALOGKEY;

public
    { Public-Deklarationen }
end;


...
procedure TForm_bearb.CMDialogKey(var msg: TCMDialogKey);
begin

 {if ActiveControl = CB_Einheit then begin

  if msg.CharCode = VK_TAB then begin
   // setzt den Fokus zurück auf das StringGrid
   StringGrid.SetFocus;
   StringGrid.Perform(WM_KEYDOWN, msg.CharCode, msg.KeyData);
   msg.Result := 1;
   exit;

  end;

 end;}

end;
Auch wenn ich so wie oben dargestellt den Code ausklammere funktioniert der TabStop nicht. Erst wenn ich die procedure komplett entferne geht der TabStop wieder ?

Die Funktion ist dafür da, das wenn der TabStop in der implementierten ComboBox gedrückt wird, dann wieder auf das StringGrid springt, aber leider funktionieren dadurch alle anderen TabStops nicht mehr.

Was kann ich tuen ?

Gruss

Holger


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:37 Uhr.
Seite 1 von 2  1 2      

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