Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi RadioButton.OnClick wird ausgelöst (https://www.delphipraxis.net/89379-radiobutton-onclick-wird-ausgeloest.html)

hsbc 30. Mär 2007 10:18


RadioButton.OnClick wird ausgelöst
 
Hallo allerseits,

ich lese meine Sprach-Einstellungen aus einer INI-Datei wie folgt aus:

Delphi-Quellcode:
rbEnglish.Checked := Sprache='english';
rbDeutsch.Checked := Sprache='deutsch';
wobei rbEnglish bzw. rbDeutsch je ein RadioButton ist.

Soweit, so gut.

Ich will dadurch nur einen von zwei RadioButtons (deutsch oder english) setzen (Checked), was auch funktioniert. Seltsamerweise wird dadurch aber auch die OnClick-Methode des RadioButtons ausgelöst, was in diesem Fall aber nicht geeignet ist.

Kann ich dies irgendwie verhindern ?

mfg
Herbert

Sharky 30. Mär 2007 10:21

Re: RadioButton.OnClick wird ausgelöst
 
Zitat:

Zitat von hsbc
... Seltsamerweise wird dadurch aber auch die OnClick-Methode des RadioButtons ausgelöst, was in diesem Fall aber nicht geeignet ist.
...

Hai Herbert,

"seltsam" ist das nicht. Das OnClick wird immer ausgelöst wenn sich die Eigenschaft Checked geändert wird.
Am einfachsten den Eventhändler kurz "abschalten" wenn Du die Eigenschaften von Hand änderst.

hsbc 30. Mär 2007 11:35

Re: RadioButton.OnClick wird ausgelöst
 
Hallo Sharky,

danke erst mal für die rasche Antwort. Wie kann ich den Event-Handler ab- bzw. wieder anschalten ?

mfg
Herbert

SirThornberry 30. Mär 2007 11:56

Re: RadioButton.OnClick wird ausgelöst
 
in dem du das OnClick auf nil setzt und danach wieder auf deine Methode
Delphi-Quellcode:
var
  lOldEvent: TNotifyEvent;
begin
  lOldEvent := RadioButton.OnClick;
  RadioButton.OnClick := nil;
  //Do Anything
  RadioButton.OnClick := lOldEvent;

hsbc 30. Mär 2007 12:09

Re: RadioButton.OnClick wird ausgelöst
 
Hallo,

klingt ja ganz einfach - werde ich gleich mal probieren.

Danke euch beiden für die rasche Hilfe.

mfg
Herbert


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:40 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