AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fokus von TEdit aufheben

Ein Thema von Scurra · begonnen am 16. Feb 2015 · letzter Beitrag vom 25. Feb 2015
Antwort Antwort
hathor
(Gast)

n/a Beiträge
 
#1

AW: Fokus von TEdit aufheben

  Alt 16. Feb 2015, 19:22
Setze den Focus einfach auf den EXIT-Button:

Delphi-Quellcode:
procedure TForm1.FormClick(Sender: TObject);
begin
bnExit.SetFocus;
end;
  Mit Zitat antworten Zitat
Scurra

Registriert seit: 19. Jan 2015
81 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Fokus von TEdit aufheben

  Alt 19. Feb 2015, 17:57
Sorry, es hat etwas länger gedauert.

Der Vorschlag klappt zwar, wenn ich irgendwo auf das Formular klicke, aber wenn ich auf eine Komponente, die sich auf dem Formular befindet, klicke, dann wird das OnClick-Event des Formulars nicht ausgelöst. Ich habe jetzt die am wenigsten elegante Lösung gewählt, die ich eigentlich vermeiden wollte: Ich habe einfach bei allen Komponenten, bei denen sich bei einem Klick der Fokus nicht ändert, in der Click-Prozedur den Fokus auf das Formular bzw. auf eine Scrollbox, die sich auf dem Formular befindet, gesetzt.
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#3

AW: Fokus von TEdit aufheben

  Alt 19. Feb 2015, 19:13
Delphi-Quellcode:
procedure TForm1.Edit1MouseLeave(Sender: TObject);
begin
bnExit.SetFocus;
end;
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Fokus von TEdit aufheben

  Alt 19. Feb 2015, 20:29
Delphi-Quellcode:
procedure TForm1.Edit1MouseLeave(Sender: TObject);
begin
bnExit.SetFocus;
end;
Dann sollte man aber beim Schreiben in das Edit die Maus festnageln, sonst gibt das lustige Effekte
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Fokus von TEdit aufheben

  Alt 19. Feb 2015, 21:20
Erstmal solltest du definieren was "aufheben" eigentlich heißen soll.
  • Fokus weg vom Edit ... irgendwo hin
    irgendeinAnderesControl.SetFocus;
  • Fokus weg vom Edit, aber auch nicht zu einem anderem Control (hier bekommt die Form selber den Fokus)
    {Self.}ActiveControl := nil;
  • Fokus weg vom Edit und auch gleich weg von der Form (bei nur einer Form wie Letzteres)
    andereForm.SetFocus;
  • Fokus weg vom Edit und auch gleich weg vom ganzen Programm
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Scurra

Registriert seit: 19. Jan 2015
81 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: Fokus von TEdit aufheben

  Alt 23. Feb 2015, 18:22
Zitat:
Erstmal solltest du definieren was "aufheben" eigentlich heißen soll.
Es genügt, wenn der Fokus weg vom Edit ist. Genauer: In meinem Programm verwende ich das OnExit-Event und das soll ausgelöst werden. Wenn der Fokus vom Edit weg ist, dann wird das aber ausgeführt.

Inzwischen vermute ich, dass es für mein Vorhaben keine Möglichkeit zur Umsetzung gibt, denn woher soll das Edit wissen, wenn ich wo anders hinklicke? Diese Information muss ich eben in den OnClick-Events der anderen Komponenten im Formular weitergeben, was bedeutet, dass ich in jedes OnClick-Event der anderen Komponenten extra etwas schreiben muss, um es dem Edit mitzuteilen (beispielsweise den Fokus auf ein anderen Element setzen, wodruch das Edit weiß, dass es nicht mehr den Fokus hat).

Da ich nicht soo viele Elemente auf meinem Formular habe, war es nicht so viel Aufwand, das zu programmieren. Trotzdem bin ich nach wie vor daran interessiert zu wissen, ob es doch eine andere Möglichkeit gibt.

Trotzdem vielen Dank an alle Poster mit deren Anregungen.
  Mit Zitat antworten Zitat
BadenPower

Registriert seit: 17. Jun 2009
616 Beiträge
 
#7

AW: Fokus von TEdit aufheben

  Alt 23. Feb 2015, 19:14
Zitat:
Erstmal solltest du definieren was "aufheben" eigentlich heißen soll.
Es genügt, wenn der Fokus weg vom Edit ist. Genauer: In meinem Programm verwende ich das OnExit-Event und das soll ausgelöst werden. Wenn der Fokus vom Edit weg ist, dann wird das aber ausgeführt.
Das Edit-Feld verliert doch automatisch den Focus, sobald Du auf einen Button, anderes Editfeld, Stringgrid usw.. klickst. Und dann wird auch das OnExit Deines Editfeldes aufgerufen.

Zeig' einmal etwas Code von dem was Du vor hast.
Programmieren ist die Kunst aus Nullen und Einsen etwas sinnvollen zu gestalten.
Der bessere Künstler ist allerdings der Anwender, denn dieser findet Fehler, welche sich der Programmierer nicht vorstellen konnte.
  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 08:00 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 by Thomas Breitkreuz