Einzelnen Beitrag anzeigen

Benutzerbild von Lannes
Lannes

Registriert seit: 30. Jan 2005
Ort: Münster
745 Beiträge
 
Delphi 3 Professional
 
#10

Re: Rekursiven Eventaufruf verhindern

  Alt 12. Jun 2006, 14:37
Hallo,

eine Möglichkeit ist hier in der Code-Library beschrieben:
Wert einer Checkbox ändern, ohne OnClick Handler auszulösen

Eine weitere Möglichkeit wird in einem Beitrag in der Entwickler-Ecke/Code-Library aufgezeigt:
Abhängigkeit mehrerer Checkboxen

Die dritte Möglichkeit besteht darin die CheckBox auf 'gechecked' zu setzen ohne die Eigenschaft Checked zu verändern, OnClick wird hierbei nicht ausgelöst:
CheckBox1.Perform(BM_SETCHECK,1,0); 'gechecked' aufheben:
CheckBox1.Perform(BM_SETCHECK,0,0); Da aber die Eigenschaft Checked nicht verändert wird,
kann folgende Abfrage nicht mehr genutzt werden:
Delphi-Quellcode:
if CheckBox1.Checked then
  //...
Zur Statusabfrage muss dann folgendes genutzt werden:
Delphi-Quellcode:
if CheckBox1.Perform(BM_GETCHECK,0,0) = BST_CHECKED then
  showmessage('checked')
  else
    showmessage('not checked');
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
  Mit Zitat antworten Zitat