![]() |
AW: Aktuellen Focus verlieren oder löschen
Zitat:
SetFocus(nil) klingt etwas weniger übersichtlich als ResetFocus. |
AW: Aktuellen Focus verlieren oder löschen
SetFocused(nil); <> SetFocus(nil)
SetFocused ist global. Es spielt keine rolle welches Control den Focus hat! während FMX.Controls.TControl.ResetFocus nur für ein spezifisches Control gilt. (Reine Vermutung bin kein FMX'ler) gruss |
AW: Aktuellen Focus verlieren oder löschen
Den Fokus komplett abzugeben ist keine gute Idee, denn wenn die Anwendung ihn nicht mehr hat, dann bekommt ihn ein anderes Fenster (falls es andere Fenster gibt) und dein Programm verschwindet im Hintergrund.
Du kannst aber den Fokus dem Fenster geben, oder dem ersten Control auf Diesem. (entsprechend der TabStops) Liegt der Fokus beim Umblättern im PageControl, dann wird beim Umblättern das erste Control auf dem neuen Tab fokusiert. Lag der Fokus außerhalb, dann bleibt er dort, also einfach vor dem umblättern den Fokus raussetzen, wenn er im Tab liegt. (Parent/Parent/Parent/... des aktiven Controls ist ein TabSheet des PageControls) TWinControl. ![]() ![]() ![]() |
AW: Aktuellen Focus verlieren oder löschen
Zitat:
Welches Fenster bekommt dann den Focus unter Android\FMX ? gruss |
AW: Aktuellen Focus verlieren oder löschen
Selbst Android kennt einen Desktop-Modus, wo mehrere Fenster/Programme gleichzeitig nicht im Vollbild aktiv sein können.
Aber OK ... gute Frage war im normalen Vollbild-OneApp-Modus dann passiert. |
AW: Aktuellen Focus verlieren oder löschen
@himitsu: interessanter gedanke auf jeden fall. bisher bleibt die app beim löschen des focus auf andoird und ios im vordergrund. sollte sich das aber mal ändern, habe ich das hier jetzt im hinterkopf. danke!
|
AW: Aktuellen Focus verlieren oder löschen
Zitat:
Zitat:
Zitat:
Zitat:
Mit Verlaub.. Die Annahme von @himitsu ist schlichtweg falsch. Denn das setzen des Focus ist nur gültig für den eigenen Prozess und kann nicht an übergeordnete Fenster die mit dem eigenen Prozess nichts zu tu haben übergeben werden. Teste es ganz einfach. Schicke eine Message an ein fremdes Fenster mit SetFocus(AnderesFensterHandleControl) und du wirst sehen es tut sich NICHTS. Zudem hat es keinerlei Einfluss auf irgendeine ZOrder in welcher form auch immer. Um den Focus auf einen anderen Prozess (Fenster (Zorder)) zu setzen gibt es als Beispiel diese Funktion SetForegroundWindow.. dann benötigst du kein SetFocus mehr da in diesem Fall deine Anwendung keinen Focus mehr hat. Und nochmal das setzen des SetFocus(0) oder wie unter Android SetFocused(nil) hat keinen Einfluss auf irgendeinen Parent. Weder in der ZOrder noch aktiviert es ein anderes Fenster außerhalb der eigenen Anwendung und setzt ihn dort. Nicht alles was @himitsu schreibt ist zwangsläufig auch richtig! gruss |
AW: Aktuellen Focus verlieren oder löschen
Zitat:
![]() So sind jedenfalls meine Erfahrungen damit, ansonsten gebe auch ich dem letzten part von EWeiss Recht. |
AW: Aktuellen Focus verlieren oder löschen
Zitat:
Nicht um Input.. Set Keyboard Focus als Beispiel. Das ist ebenfalls mit Verlaub etwas ganz anderes. gruss |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:45 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz