Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Taborder, wie richtig? (https://www.delphipraxis.net/74004-taborder-wie-richtig.html)

gmc616 26. Jul 2006 16:47


Taborder, wie richtig?
 
Hallo,
ich habe eine Form mit mehreren Panels drauf. Auf jedem Panel sind u.a. weitere Panels und Editfelder.
Schema, in Klammern die TabOrder:
Code:
-FORM
 +-PANEL1 (0)
 | +-EDIT1 (0)
 | | 
 | +-PANEL2 (1)
 |   +-EDIT2 (0)
 |   +-EDIT3 (1)
 |
 +-PANEL3 (1)
 | +-EDIT4 (0)
 | +-EDIT5 (1)
 | |
 | +-PANEL4 (2)
 |   +-EDIT6 (0)
 |   +-EDIT7 (1)
 |
 +-PANEL5 (2)
 | +-EDIT8 (0)
 | +-EDIT9 (1)
 |
 +-BUTTON1 (3)
 +-BUTTON2 (4)
Nun möchte ich von Edit1 nach Edit2 nach Edit3 ... bis Edit9 per Tabulator hüpfen. :bounce2:
Doch das funktioniert nicht so ganz.
Delphi fängt in jedem Panel neu an, die Taborder hoch zu zählen.
Jetzt habe ich allen Panels die direkt auf der Form liegen (Panel1,Panel3 und Panel5) durch nummeriert von 0 bis 2, Button1.taborder = 3 und Button2.taborder=4.
Dann auf jedem Panel die Taborder so gesetzt wie ich die Reihenfolge haben will.

Aber leider hüpft mein Cursor nicht so wie ich das will. :?
Z.Z. verhält er sich so: ausgehend von Edit1 -> Edit2 -> Edit3 -> Button1 -> Button2 -> Edit8 -> Edit9 -> Edit4 -> Edit5 -> Edit6 -> Edit7
Die derzeitige Reihenfolgen ist mir völlig unlogisch. :gruebel:
Ich möchte eigentlich das der Cursor dem Schema nach von oben nach unten hüpft. :bouncing4:

Gibt es mit dem TabOrder bei Panels was besonders zu beachten?

Grüße :hi:
gmc

Thorben77 26. Jul 2006 16:54

Re: Taborder, wie richtig?
 
Eigentlich müsste das ja gehen :gruebel: .

Mach mal 'nen Rechtsklick auf Dein Formular und Deine Panels und ordne die Reihenfolge unter dem Menüpunkt "Tabulatorreihenfolge...".
(Dürfte aber auch nix ändern.)

gmc616 26. Jul 2006 17:11

Re: Taborder, wie richtig?
 
Hab ich gemacht. Sie korrekt aus. :|

Wie würde sich die Taborder verändern, wenn ich zur Laufzeit z.B. das Panel4 auf visible:=false setze (gesehen davon, das Edit6 und Edit7 nicht mehr angegüpft werden kann)?
Könnte sie die Taborder dann derart verändern, das so ein Effect (w.o. beschrieben) auftritt? :?

Christian Seehase 26. Jul 2006 20:15

Re: Taborder, wie richtig?
 
Moin gmc,

ich habe mal nach Deinem Schema die Controls platziert.
Dabei habe ich genau darauf geachtet, die Reihenfolge einzuhalten, also erst Panel1, dann Edit1, dann Panel2, Edit2, Edit3 usw.
Dann stimmt die Reihenfolge. :?

Es fängt bei mir in Edit1 an, geht lückenlos bis Edit9, und dann, über Button1 und Button2 wieder zu Edit1.

Falls Du das Riskiko eingehen willst, könntest Du versuchen dies direkt in der DFM Datei (dem Formular) zu ändern.

Rechte Maustaste auf das Formular, als Text anzeigen lassen, und dann die Panels die direkt auf dem Formular liegen in die richtige Reihenfolge bringen, und anschliessend noch die Button nach unten.
(vorher am Besten die DFM sichern)

Oder die Controls einfach einmal neu auf dem Formular plazieren.

gmc616 27. Jul 2006 11:12

Re: Taborder, wie richtig?
 
Hallo Christian,
der Tipp die DFM zu editieren, hat mich auf den richtigen Weg bebracht. Danke :thumb:
Nach dem auch meine Test-Anwendung nach meinem Schema korrekt funktioniert hat, bin ich stutzig geworden. :coder2:

Jedenfalls hat sich beim DFM-editieren herraus gestellt, das zwei meiner Controls von anderen Controls überdeckt waren, und ich sie bei Neuverteilen der Taborder einfach übersehen habe. :wall:
Ich habe die Reihenfolge der Controls im DFM so angeordnet wie ich sie anhüpfen will. Zusätzlich habe ich alle TabOrder-Properties aus dem DFM gelöscht. Dann mit Delphi neu eingeladen, durch compiliert, und zack, es funktioniert! :coder:

Zu meiner Entschuldigung, (oder auch als Ausrede :angel2: ) muß ich sagen ,dass ich dieses Fenster seit ca. 1/2 Jahr nicht mehr angefasst habe und ich in meinem Projekt immer mehr die Übersicht verliere, bzw. mich nicht mehr an alle Kleinigkeiten erinnern kann. :drunken:


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