AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Zustand eines Buttons erkennen

Ein Thema von Luckner · begonnen am 20. Okt 2015 · letzter Beitrag vom 23. Okt 2015
Antwort Antwort
Seite 1 von 4  1 23     Letzte » 
Luckner

Registriert seit: 28. Nov 2006
Ort: Berlin
418 Beiträge
 
Delphi 7 Enterprise
 
#1

Zustand eines Buttons erkennen

  Alt 20. Okt 2015, 13:14
Hallo,

folgendes Problem. Ich habe ein Editfeld und einen Abbruch-Button. Im Editfeld sollen und müssen nur Zahlen eingetragen werden. Diese Überprüfung habe ich realisiert im OnExit-Ereigniss und es funktioniert auch. Wenn ich jedoch auf den Abbruch-Button drücke, dann kommen entsprechende Fehlermeldung, weil das OnExit-Ereigniss natürlich aktiv wird. Wenn ich jedoch einen Klick-Zustand des Button auslesen könnte, dann würde ich mit einer Abfrage gleich rausspringen. Geht das? (Bestimmt, nur ich weiß nicht wie).

Gruß, Luckner
  Mit Zitat antworten Zitat
Sailor

Registriert seit: 20. Jul 2008
Ort: Balaton
112 Beiträge
 
Delphi 2010 Professional
 
#2

AW: Zustand eines Buttons erkennen

  Alt 20. Okt 2015, 13:17
Im OnClick-Ereignis des Buttons ein Flag setzen, das den Abbruch signalisiert
  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
 
#3

AW: Zustand eines Buttons erkennen

  Alt 20. Okt 2015, 13:27
Im OnClick-Ereignis des Buttons ein Flag setzen, das den Abbruch signalisiert
Was nichts bringt, denn erst kommt TEdit.OnExit , TButton.OnEnter und dann TButton.OnClick . Und hier ist bei TEdit.OnExit schon Schluss (so wird es jedenfalls beschrieben)
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 baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Zustand eines Buttons erkennen

  Alt 20. Okt 2015, 13:29
Ein OnExit wird nur aufgerufen, wenn das Feld den Fokus verliert. Ein Buttonklick holt sich nicht immer den Fokus, deswegen wundert mich das beschriebene Verhalten. Vielleicht wäre es sinnvoller die Validierung zu einem anderen Zeitpunkt zu machen.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  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
 
#5

AW: Zustand eines Buttons erkennen

  Alt 20. Okt 2015, 13:31
Ein OnExit wird nur aufgerufen, wenn das Feld den Fokus verliert. Ein Buttonklick mit der Maus holt sich im Normalfall nicht den Fokus, deswegen wundert mich das beschriebene Verhalten. Vielleicht wäre es sinnvoller die Validierung zu einem anderen Zeitpunkt zu machen.
Das ist bei einem TSpeedButton richtig ... ein TButton bekommt aber den Fokus (vor dem Klick)
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 baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Zustand eines Buttons erkennen

  Alt 20. Okt 2015, 13:34
Ist der Button z.B. Default, Cancel oder per Shortcut erreichbar und es wird die entsprechende Taste gedrückt, bekommt der Button keinen Fokus.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  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
 
#7

AW: Zustand eines Buttons erkennen

  Alt 20. Okt 2015, 13:38
Ist der Button z.B. Default, Cancel oder per Shortcut erreichbar und es wird die entsprechende Taste gedrückt, bekommt der Button keinen Fokus.
Der TE drückt aber keine Taste, sondern den Button ... und das geht nur mit der Maus, bzw. dieses angesprochene Problem bekommt er nur in der Kombination mit einem TButton und einem Mausklick.

Wäre es anders hätte er nicht gefragt, weil er kein Problem hätte
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 baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Zustand eines Buttons erkennen

  Alt 20. Okt 2015, 13:39
Ja vielleicht nicht verständlich genug ausgedrückt. Wichtig war mir zu sagen, dass das OnExit-Ereignis nicht zuverlässig genug für eine Validierung ist.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  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
 
#9

AW: Zustand eines Buttons erkennen

  Alt 20. Okt 2015, 13:43
Ja vielleicht nicht verständlich genug ausgedrückt. Wichtig war mir zu sagen, dass das OnExit-Ereignis nicht zuverlässig genug für eine Validierung ist.
Gegen die Validierung spricht nichts ... aber eben nur eine Validierung und eben kein zwanghaftes Festhalten an dem Control.
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 frankyboy1974
frankyboy1974

Registriert seit: 7. Apr 2015
Ort: SH
169 Beiträge
 
Delphi XE7 Professional
 
#10

AW: Zustand eines Buttons erkennen

  Alt 20. Okt 2015, 13:48
hallo,

also ich würde damit leben können. Der Anwender gibt in ein Zahlenfeld einen String ein und drückt anschliessend auf Abbrechen. Das Feld sagt nun geben "Geben Sie bitte einen Zahlenwert ein". Auch wenn der Anwender sowieso den Vorgang abbrechen möchte, könnte ich damit leben, das der Anwender erstmal einen Zahlenwert eingeben muss.
Valiediere ich also direkt bei der Eingabe oder erst wenn alle Eingaben vom Anwender getätigt wurden sind, egal wie du das progammierst, am Ende steht einer und sagt, dass hätte ich aber anders programmiert.

mfg
Java ist auch eine Insel.
Ist Delphi von Oracle?
In meiner Buchstabensuppen fehlt das C++!
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 19:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz