Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Zustand eines Buttons erfahren (https://www.delphipraxis.net/188716-zustand-eines-buttons-erfahren.html)

Sir Rufo 30. Mär 2016 15:25

AW: Zustand eines Buttons erfahren
 
Dann prüfe einfach in
Delphi-Quellcode:
OnExit
des Edits nicht auf eine gültige Nummer, sondern erst dann, wenn der Anwender eine bestimmte Aktion auslöst (erst dann will er ja etwas mit der Eingabe anfangen)

Luckner 30. Mär 2016 15:38

AW: Zustand eines Buttons erfahren
 
Hmm, leider kann ich das Feld auch nicht leer lassen, dass wäre ein mögliches Abbruchskriterium, eber es darf nicht leer bleiben, weil mit einer gültigen Artikelnr. auch andere Artikeleigenschaften ausgelesen werden.

baumina 30. Mär 2016 15:41

AW: Zustand eines Buttons erfahren
 
Mache einen OK-Button, der beim OnClick alle Prüfungen macht, bei nicht OK, den Fokus aufs Edit setzen und mache einen Abbruch-Button, der beim OnClick irgendwas anderes macht.

Sir Rufo 30. Mär 2016 15:47

AW: Zustand eines Buttons erfahren
 
Zitat:

Zitat von Luckner (Beitrag 1334214)
Hmm, leider kann ich das Feld auch nicht leer lassen, dass wäre ein mögliches Abbruchskriterium, eber es darf nicht leer bleiben, weil mit einer gültigen Artikelnr. auch andere Artikeleigenschaften ausgelesen werden.

Soviel zu deiner genauen Beschreibung wo wir uns jetzt alle genau vorstellen können, was du eigentlich willst :roll:

Luckner 30. Mär 2016 15:49

AW: Zustand eines Buttons erfahren
 
Ja. Muß ich mir was überlegen in dieser Richtung. Chef ist aber nicht begeistert von so vielen Mausgeklicke. Ich dachte, es gäbe einen einfacheren Weg.:(

Mavarik 30. Mär 2016 15:58

AW: Zustand eines Buttons erfahren
 
Zitat:

Zitat von Luckner (Beitrag 1334218)
Ja. Muß ich mir was überlegen in dieser Richtung. Chef ist aber nicht begeistert von so vielen Mausgeklicke. Ich dachte, es gäbe einen einfacheren Weg.:(

Natürlich gibt es den... Nimm nicht das Edit Feld für die Datenspeicherung der Nr... und schon ist egal was da drin steht...

Oder merk die den Status
Oder merk dir die Maus position
Oder weiß der Geier...

Ohne Infos keine Lösung.

Medium 30. Mär 2016 19:28

AW: Zustand eines Buttons erfahren
 
Wie wäre es denn, das Edit nach Eingabe einer ungültigen Zahl und "Exiten" farblich zu markieren? Oder ein Icon daneben an dem man erkennt, dass die Eingabe nicht gültig ist. Die restlichen abhängigen Daten werden dann halt einfach nicht geladen, und der OK-Button disabled. Das würde ich als übliches Vorgehen ansehen.

jaenicke 30. Mär 2016 22:07

AW: Zustand eines Buttons erfahren
 
Zitat:

Zitat von Luckner (Beitrag 1334198)
Leider kennt Delphi7 Ent. kein ActiveControl. Sorry habe vergessen das zu schreiben.

Mein Delphi 7 Enterprise kennt ActiveControl... und mein Delphi 1 (!) ebenfalls. ;-)
An der Funktionalität hat sich zwischen Delphi 3 und Delphi 10 Seattle auch nichts Grundlegendes geändert, SetFocusedControl sieht noch recht ähnlich aus.

SetFocusedControl könntest du übrigens auch überschreiben und das OnExit vor dem Aufruf von inherited auf nil setzen, wenn der gewünschte Button gerade fokussiert wird (wird als Parameter übergeben).

Es funktioniert hier aber auch in Delphi 7 wunderbar mit der Prüfung im OnExit des Edits, ob ActiveControl der Button ist. Dort steht da schon das neu fokussierte Control drin.

Jasocul 31. Mär 2016 06:40

AW: Zustand eines Buttons erfahren
 
Zitat:

Zitat von jaenicke (Beitrag 1334268)
Zitat:

Zitat von Luckner (Beitrag 1334198)
Leider kennt Delphi7 Ent. kein ActiveControl. Sorry habe vergessen das zu schreiben.

Mein Delphi 7 Enterprise kennt ActiveControl... und mein Delphi 1 (!) ebenfalls. ;-)

Hatte ich mir schon gedacht, konnte es nur nicht überprüfen, da mir im Moment nur XE2 zur Verfügung steht.

ActiveControl ist übrigens eine Eigenschaft von TForm (bzw. TCustomForm).

In der Delphi-Hilfe steht unter Anderem:
Zitat:

Anmerkung: Wenn der Fokus zu einem anderen Steuerelement wechselt, wird ActiveControl aktualisiert, bevor das Ereignis OnExit ausgelöst wird.
Deswegen funktioniert mein Tipp unter #3.

Luckner 27. Apr 2016 11:25

AW: Zustand eines Buttons erfahren
 
Hallo,

es ist schon länger her, jedoch wollte ich mich für die Tips noch bedanken. Aktuell stand ich wieder vor diesem Problem und habe festgestellt dass jaenicke hier völlig richtig lag.
Delphi-Quellcode:
if Form1.ActiveControl <> JvHTButtonAbbrechen) then
    JvEditRohwareNr.SetFocus;
ActiveControl ist natürlich eine Eigenschaft von TForm und nicht des TButton. Damit funktioniert es dann.

Danke.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:56 Uhr.
Seite 2 von 3     12 3      

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