Einzelnen Beitrag anzeigen

Benutzerbild von Cosamia
Cosamia

Registriert seit: 27. Feb 2007
Ort: Emmendingen
221 Beiträge
 
Delphi 2007 Professional
 
#15

Re: TAB Reihenfolge = Verzweiflung ?

  Alt 8. Feb 2010, 14:00
Zitat von himitsu:
Zitat von Cosamia:
Da passieren dann ganz wilde Dinge.
vergiß nicht, daß auf der Form noch andere Controls liegen, welche ebenfalls in dieser TabOrder drinstecken und wenn nicht alle Zellen mit Panels versehen sind, dann kann das eh nichts werden.

Wie gesagt
Zitat:
0 <= TabOrder < Parant.ControlCount
Zitat:
Delphi-Quellcode:
procedure TWinControl.UpdateTabOrder(Value: TTabOrder);
begin
  ...
  if Value < 0 then Value := 0;
  if Value >= Count then Value := Count - 1;

Zitat von Cosamia:
Gibt es denn eine Möglichkeit das Grid Spaltenweisen zu durchlaufen, und abzufragen ob sich darauf ...
Nein, da diese Panels ja nicht an das StringGrid und schon garnicht an eine Zelle gebunden sind.

Zu könntest die Panels in MyControls sortieren
- Anhand ihrer aufsteigenden Position (Panel.Top * 10000 + Panel.Left)

Und dann den Panels über diese sortierte List von vorne nach hinten eine aufsteigende TabOrder verpassen.

Oder bessernoch du gehst diese Liste dann rückwärts durch und gibst allen Panels nacheinander StringGrid.TabOrder+1 als TabOrder ... dann sind sie alle sortiert und kommen direkt nach dem StringGrid.
Danke euch allen für eure Hilfe.

Ich habe jetzt ein Paar neu Lösungsansätze und werde meine Glück versuchen.
  Mit Zitat antworten Zitat