Sometimes you want to disable an event handler after the FIRST time that the event is "fired". Example: you want to disable all clicks on Label1 after it has been clicked: procedure TForm1.Label1OnClick(Sender: TObject); begin // Code to execute, e.g.: Label1.Caption := 'Label1 has been clicked'; //... // Disable future clicks on Label1: Label1.OnClick := nil; end; Maybe at some later time, you want to re-enable the label's OnClick event handler. Code it like this: procedure TForm1.Button1OnClick(Sender: TObject); begin // Code to execute, e.g.: Label1.Caption := 'Click on this text'; //... // Re-enable click events for Label1: Label1.OnClick := Label1OnClick; end; For a Button, Checkbox, RadioGroup... you can obtain the same effect by disabling the component itself, for example: Button1.Enabled := FALSE; -- at the same time, you give visual feedback to the user. The trick above makes only sense for other components, such as Panel, Label, Form,... |
TOP DelphiLand Club Membership DC Library Forum Forum Archives Crash Course Delphi Tips Source Code Downloads Links