Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#11

Re: TAB Reihenfolge = Verzweiflung ?

  Alt 8. Feb 2010, 14:01
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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat