Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   aktuellen Focus eines TEdit verlieren (Android / iOS) (https://www.delphipraxis.net/215410-aktuellen-focus-eines-tedit-verlieren-android-ios.html)

Stewag 27. Jun 2024 08:46

aktuellen Focus eines TEdit verlieren (Android / iOS)
 
Moin, der letzte Beitrag zu diesem Thema war aus 2018:
https://www.delphipraxis.net/197935-...-loeschen.html

Seit 10.x scheint sich am Verhalten unter Android wieder etwas verändert zu haben.
Habe verschiedene Möglichkeiten ausprobiert, u.a. diesen Code:

Code:
procedure TfMain.TabControl1Gesture(Sender: TObject;
  const EventInfo: TGestureEventInfo; var Handled: Boolean);
begin
 if Assigned(Focused) then
  begin
    if Focused.GetObject is TEdit then
      Handled:=true;

    if Handled then
      SetFocused(nil);
  end;
end;
... klappt aber nicht.

Hat jemand eine Idee?

Delphianer111 27. Jun 2024 10:29

AW: aktuellen Focus eines TEdit verlieren (Android / iOS)
 
Hallo,

vielleicht hilft dir diese Funktion weiter

TControl.ResetFocus

Stewag 27. Jun 2024 11:07

AW: aktuellen Focus eines TEdit verlieren (Android / iOS)
 
... leider nein, hatte ich auch schon probiert.

Code:
 ActiveControl.ResetFocus;

Rollo62 27. Jun 2024 11:53

AW: aktuellen Focus eines TEdit verlieren (Android / iOS)
 
Also ich nutze Gestures immer nur mit den entsprechenden Begin/End Flags, TInteractiveGestureFlag.gfBegin in EventInfo.Flags, um irgendwelche wilden Events zu vermeiden.
https://stackoverflow.com/questions/...an-or-igirotat
http://steema.com/wp/narcis/category/android/

Redeemer 28. Jun 2024 09:31

AW: aktuellen Focus eines TEdit verlieren (Android / iOS)
 
Oder das hier?
Delphi-Quellcode:
Control.Enabled := False;
Control.Enabled := True;

himitsu 28. Jun 2024 09:47

AW: aktuellen Focus eines TEdit verlieren (Android / iOS)
 
In der VCL kann man auch einfach
Delphi-Quellcode:
{Self.}SetFocus;
machen,
also die Form fokussieren, womit der Fokus vom Edit weg geht. (k.A. ob es auch im FMX so geht)

Würde man dort den Fokus auf 0/nil setzen, dann würde die ganze Anwendung den Fokus verlieren und sie verschwindet im Hintergrund (nächste Anwendung bekommt den Fokus und kommt hoch)
Delphi-Quellcode:
Winapi.Windows.SetFocus(0);

Stewag 28. Jun 2024 17:57

AW: aktuellen Focus eines TEdit verlieren (Android / iOS)
 
Code:
Delphi-Quellcode:
Control.Enabled := False;
Control.Enabled := True;
geht leider auch nicht, führt zu einer Zugriffsverletzung.

Stewag 28. Jun 2024 17:58

AW: aktuellen Focus eines TEdit verlieren (Android / iOS)
 
Zitat:

In der VCL kann man auch einfach {Self.}SetFocus; machen,
also die Form fokussieren, womit der Fokus vom Edit weg geht. (k.A. ob es auch im FMX so geht)
geht nicht in FMX

ZYLAGON 28. Jun 2024 20:24

AW: aktuellen Focus eines TEdit verlieren (Android / iOS)
 
Ich würde einfach den Fokus auf ein anderes Element setzen.
Dann ist es vom Edit weg.

VG ZYL

Stewag 1. Jul 2024 14:33

AW: aktuellen Focus eines TEdit verlieren (Android / iOS)
 
Zitat:

Ich würde einfach den Fokus auf ein anderes Element setzen.
Dann ist es vom Edit weg.
Nicht einmal das habe ich unter Android mit Edit1.SetFocus oder ActiveControl:= Edit1 hinbekommen:?


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:09 Uhr.
Seite 1 von 2  1 2      

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