AGB  ·  Datenschutz  ·  Impressum  







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

OnExit bei RadioButton unterdrücken

Ein Thema von Jerry · begonnen am 24. Aug 2011 · letzter Beitrag vom 26. Aug 2011
Antwort Antwort
Jerry

Registriert seit: 24. Feb 2005
Ort: Schweiz/Thurgau
138 Beiträge
 
Delphi 2010 Professional
 
#1

OnExit bei RadioButton unterdrücken

  Alt 24. Aug 2011, 12:33
Delphi-Version: 2010
Servus an alle!

Folgende Situation:

Ich habe 2 RadioButtons. Bei einem RadioButton ist beim onExit ein Setfocus auf ein anderes Feld programmiert. (bei Tab-geht er in ein bestimmtes Feld)
Wenn ich nun von diesen 2 Radio-Buttons die andere Option anwählen möchte, dann wird immer der OnExit des einen RadioButtons ausgeführt, und logischerweise springt der Cursor
in das falsche Feld...

Wie bekomme ich es hin, dass bei einem Mausklick z.B: in ein anderes Feld der OnExit nicht ausgeführt wird?

Bin dankbar für Tipps.

Grüsse Jerry
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: OnExit bei RadioButton unterdrücken

  Alt 24. Aug 2011, 12:36
Wieso löst Du das nicht einfach über die Tabulatorreihenfolge? Im OnExit den Fokus irgendwo hin zu setzen ist zumindest unelegant, wie Du selbst gerade bemerkst.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Jerry

Registriert seit: 24. Feb 2005
Ort: Schweiz/Thurgau
138 Beiträge
 
Delphi 2010 Professional
 
#3

AW: OnExit bei RadioButton unterdrücken

  Alt 24. Aug 2011, 12:39
geht in diesem Fall nicht, da der RadioButton mit der speziellen Option nach dem Tab in ein Feld eines neuen Tabsheets springen muss.

Grüsse Jerry
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: OnExit bei RadioButton unterdrücken

  Alt 24. Aug 2011, 12:43
Aber nur, wenn man die Tabulatortaste drückt?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Jerry

Registriert seit: 24. Feb 2005
Ort: Schweiz/Thurgau
138 Beiträge
 
Delphi 2010 Professional
 
#5

AW: OnExit bei RadioButton unterdrücken

  Alt 24. Aug 2011, 12:44
jep. Es ist eben ein grosses Formular auf 2 Seiten verteilt. Der User soll somit bestmöglichst mit Tab durch die Maske kommen.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: OnExit bei RadioButton unterdrücken

  Alt 24. Aug 2011, 13:08
Mein D2007 spinnt gerade ein wenig, aber wenn Du die RadioButtons z.B. auf ein Panel setzt und dann dessen OnExit nimmst, klappt es dann?
Delphi-Quellcode:
procedure TForm1.Panel1Exit(Sender: TObject);
begin
  if RadioButton2.Checked then
    Button1.SetFocus;
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Jerry

Registriert seit: 24. Feb 2005
Ort: Schweiz/Thurgau
138 Beiträge
 
Delphi 2010 Professional
 
#7

AW: OnExit bei RadioButton unterdrücken

  Alt 25. Aug 2011, 07:34
leider nein, bringt nicht den gewünschten Effekt. Ich könnte ja auch auf ein anderes Feld mit der Maus drücken, als der andere Button.

Es müsste eine Möglichkeit geben, dass ich den OnExit des einen Buttons unterdrücken könnte, sobald ich die Maustaste gedrückt habe.

Kennt da jemand eine Möglichkeit?

Grüsse Jerry
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: OnExit bei RadioButton unterdrücken

  Alt 25. Aug 2011, 07:51
Nein, kenn keine "schöne" und praktikable Möglichkeit.

Tipp: Nimm einen "Next"-Button, welche in der Tabreihenfolge am Ende steht und ins OnEnter kommt das SetFokus zur nächsten Seite.

Ich überlege geade, wie der Befehl war, um eine Mausaktion abzubrechen, da ja auch im OnClick (also mit der Maus) der Fokus an ein anderes Control weitergereicht wird.



PS: Dieser Next-Button kann auch ganz klein sein (0 Pixel), bzw. außerhalb des sichtbaren Bereichs liegen, dann reagiert er nur noch auf den Tabulator, da ihn die Maus natürlich nicht erreichen kann.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (25. Aug 2011 um 07:54 Uhr)
  Mit Zitat antworten Zitat
Jerry

Registriert seit: 24. Feb 2005
Ort: Schweiz/Thurgau
138 Beiträge
 
Delphi 2010 Professional
 
#9

AW: OnExit bei RadioButton unterdrücken

  Alt 25. Aug 2011, 08:21
Deine Aussage mit:

"Ich überlege geade, wie der Befehl war, um eine Mausaktion abzubrechen, da ja auch im OnClick (also mit der Maus) der Fokus an ein anderes Control weitergereicht wird."

Wäre cool, wenn Du hier diesen Befehl finden würdest...
  Mit Zitat antworten Zitat
Jerry

Registriert seit: 24. Feb 2005
Ort: Schweiz/Thurgau
138 Beiträge
 
Delphi 2010 Professional
 
#10

AW: OnExit bei RadioButton unterdrücken

  Alt 26. Aug 2011, 08:00
So ich habe selber eine Lösung erarbeitet...

Folgende Procedur geschrieben:

Delphi-Quellcode:
procedure Tfrm_TestUnit.OnAppMessage(var M: TMsg; var Handled: Boolean);
begin
  if (M.Message = WM_LBUTTONDOWN) or (M.Message = WM_RBUTTONDOWN) then
  begin
    MyMouseKlick := True;
  end;
end;
Somit kann ich bei dem Ereignis onExit vorgängig eingreifen.
Jeweils beim OnEnter des Feldes MyMouseKlick auf False stellen.

und dann beim OnExit mit if MyMouseKlick = False .....


Vielleichts hilfs mal jemandem weiter..

Gruss Jerry
  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 21:52 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