kann focus nicht ändern.

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
haderlump
Beiträge: 185
Registriert: Fr 18. Jan 2013, 09:29
OS, Lazarus, FPC: Windows 10, Windows XP, Lazarus 1.6
CPU-Target: Celeron

kann focus nicht ändern.

Beitrag von haderlump »

Hallo zusammen
Ich habe ein Formular. Da gibt es u.A. einen Button (der verschiedene Werte löscht), der standardmäßig den Focus hat.
Nun habe ich auch noch ein paar Editfelder. Ich würde gern den Focus, jeweils beim Anklicken dieser Felder, auf dieses jeweilige Feld verlagern. Eines hat die Bezeichnung zwischenzaehler1.
Ich habe das mit

Code: Alles auswählen

zwischenzaehler1.setfocus ;

probiert, aber es rührt sich nichts, der Focus bleibt auf dem alten Button.
Wenn ich nun Werte im Editfeld verändere und gewohnheitsmäßig auf Enter drücke, sind die ganzen anderen Werte gelöscht.
Muß ich da den Focus vom Button explitit löschen, und wenn ja wie geht das. Ich habe zwar eine Methode "setfocus" gefunden aber nicht clear oder lost oder ähnlich.
Gruß Fritz

MacWomble
Lazarusforum e. V.
Beiträge: 999
Registriert: Do 17. Apr 2008, 01:59
OS, Lazarus, FPC: Mint 21.1 Cinnamon / FPC 3.2.2/Lazarus 2.2.4
CPU-Target: Intel i7-10750 64Bit
Wohnort: Freiburg

Re: kann focus nicht ändern.

Beitrag von MacWomble »

Vermutlich liegt dein Fokus auf dem Textfeld, der Button ist zusätzlich aktiv, da er auf Default=True gesetzt ist, Damit ist er der Defaultbutton, der beim Drücken von Return ausgelöst wird.
Alle sagten, dass es unmöglich sei - bis einer kam und es einfach gemacht hat.

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2636
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: kann focus nicht ändern.

Beitrag von m.fuchs »

Wenn ich dich richtig verstehe, setzt du den Focus in dem Moment wo der User in das entsprechende TEdit klickt?
Warum eigentlich? In dem Moment sollte das Control doch automatisch den Focus erhalten.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Benutzeravatar
h-elsner
Lazarusforum e. V.
Beiträge: 259
Registriert: Di 24. Jul 2012, 15:42
OS, Lazarus, FPC: LINUX Mint21.1, Win10, Lazarus 2.2.4, FPC3.2.2
CPU-Target: X86-64; arm 32bit
Wohnort: Illertissen
Kontaktdaten:

Re: kann focus nicht ändern.

Beitrag von h-elsner »

haderlump hat geschrieben:, der Focus bleibt auf dem alten Button.


Hallo Fritz,
der Button bekommt doch automatisch den Focus (zurück), selbst wenn du nur die Maus drüber bewegst. Das macht ja auch Sinn, denn sonst könntest du den Button ja nicht drücken.
Du musst dir im Programm 'merken', welches Control vorher den Focus hatte und dieses dann im OnClick Event das Buttons löschen.
Ich weiß nicht, ob das elegant ist, aber ich mache das mit dem .Tag des jeweiligen Controls. Densetzt du auf einen definierten Wert, wenn das Control den Focus erhält und zurück auf Null, wenn du löschst oder wenn ein anders Control, das du seperat löschen wills, den Focus erhält. Bei dieser Vorgensweise musst du aber den Überblick behalten, was wann gesetzt/zurückgesetzt wird. --> Ausgiebig testen...

Gruß HE

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2636
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: kann focus nicht ändern.

Beitrag von m.fuchs »

h-elsner hat geschrieben:der Button bekommt doch automatisch den Focus (zurück), selbst wenn du nur die Maus drüber bewegst

Nein.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Bitschubser
Beiträge: 61
Registriert: Mo 27. Aug 2012, 15:43

Re: kann focus nicht ändern.

Beitrag von Bitschubser »

Möglicherweise wird hier "focused" und "default" verwechselt?
Ist ja auch bei "modernen" OS alles kaum noch/gar nicht mehr zu erkennne.

haderlump
Beiträge: 185
Registriert: Fr 18. Jan 2013, 09:29
OS, Lazarus, FPC: Windows 10, Windows XP, Lazarus 1.6
CPU-Target: Celeron

Re: kann focus nicht ändern.

Beitrag von haderlump »

Und da fiel es ihm wie Schuppen von den Haaren.
Bitschubser, du hast den Kopf auf den Nagel getroffen. Ich habe den Focus mit default verwechselt.
Jetzt geht es so wie ich es mir vorgestellt habe.

ich liebe euch alle :P :P :P :P

Antworten