AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi TabOrder einer Komponente lässt sich nicht setzen
Thema durchsuchen
Ansicht
Themen-Optionen

TabOrder einer Komponente lässt sich nicht setzen

Ein Thema von Jerry · begonnen am 6. Apr 2006 · letzter Beitrag vom 7. Apr 2006
Antwort Antwort
Jerry

Registriert seit: 24. Feb 2005
Ort: Schweiz/Thurgau
138 Beiträge
 
Delphi 2010 Professional
 
#1

TabOrder einer Komponente lässt sich nicht setzen

  Alt 6. Apr 2006, 16:26
Hallo zusammen

Folgendes Problem:

Ich habe eine GroupBox in einem TabSheet.

Ich ändere von dieser GroupBox den Parent auf ein anderes Tabsheet.
Danach möchte ich den TabOrder dieser Groupbox auf dem neuen TabSheet anpassen, doch der neue Wert für TabOrder
lässt sich nicht setzen.
Die GroupBox behält immer den "alten TabOrder" des "alten TabSheets".
Woran könnte das liegen?

Delphi-Quellcode:
begin
  with gb_Bewilligungen do
  begin
    Parent := tbs_Ware;
    Top := 335;
    // Taborder setzen
    TabOrder := 48; // hier lässt sich der Taborder nicht setzen ???? TabOrder bleibt immer 1
  end;
  pgc_DetailDaten.Pages[1].TabVisible := False;
 end;
Vielen Dank jetzt schon für Euren Input!
Grüsse vom Bodensee
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#2

Re: TabOrder einer Komponente lässt sich nicht setzen

  Alt 6. Apr 2006, 19:58
Hallo Jerry,

nicht alle sichtbaren Komponenten können den Tastaturfokus erhalten. Wenn also auf dem "neuen" TabSheet nach dem Verschieben nur zwei Komponenten liegen, deren TabOrder gesetzt werden kann, so ist der höchstmögliche Wert für TabOrder 1.

Könnte das eine Erklärung für Dein Problem sein?

Gruß Hawkeye
  Mit Zitat antworten Zitat
Jerry

Registriert seit: 24. Feb 2005
Ort: Schweiz/Thurgau
138 Beiträge
 
Delphi 2010 Professional
 
#3

Re: TabOrder einer Komponente lässt sich nicht setzen

  Alt 7. Apr 2006, 08:00
Hallo Hawkey219

Leider nein. Diese Komponente ist eine von sehr vielen auf dem Tabsheet. Ich habe es auch in einem kleinen Testprojekt versucht den TabOrder zu setzen. Auch erfolglos. Wenn ich von bestehenden Komponenten den TabOrder setze, das geht problemlos.

Sobald eine Komponente hinzukommt (also Parent geändert wurde von einem anderen Tabsheet) kann der TabOrder nicht gesetzt werden.

Auch im Debbugging Mode, behält die Komponente den TabOrder.

Wenn ich die ganze Maske "durch-Tabe", bekomme ich schon irgend wann mal den Fokus auf die Komponente, aber ich möchte diesen eben bewusst setzen können.

Habt Ihr andrere Ideen?

Danke vielmals!
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: TabOrder einer Komponente lässt sich nicht setzen

  Alt 7. Apr 2006, 08:28
Guten Morgen Jerry.

Wenn du den TabOrder-Wert nicht größer als 1 setzen kannst, dann versuche ihn mal auf 0 zu setzen. Wenn das funktioniert, dann hast du einen falschen Parent zugewiesen. Grundsätzlich funktioniert das Verschieben und Neupositionieren so wie du es vorhast. Lasse dir nach dem Verschieben mal die Controls im von dir gesetzten neuen Parent (Name, TabOrder) auflisten - das sollte Klarheit bringen.

Grüße vom marabu
  Mit Zitat antworten Zitat
Jerry

Registriert seit: 24. Feb 2005
Ort: Schweiz/Thurgau
138 Beiträge
 
Delphi 2010 Professional
 
#5

Re: TabOrder einer Komponente lässt sich nicht setzen

  Alt 7. Apr 2006, 09:19
Hallo Marabu

Danke für den Tipp. Du hattest Recht! Ich habe den Parent 1 Stufe zu hoch gesetzt.
Wäre ich jetzt nicht drauf gekommen.

Danke, Problem somit erledischt.

Grüsse von Jerry
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:16 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