Als Erstes könnte man versuchen den Aufruf der Event-Funktion zu verhindern:
Delphi-Quellcode:
procedure NonClickSetChecked(Control: TCheckBox; NewChecked: Boolean);
var
Temp: TNotifyEvent;
begin
Temp := Control.OnClick;
Control.OnClick := nil;
Control.Checked := NewChecked;
Control.OnClick := Temp;
end;
und dann z.B. statt
CbAutorun.Checked := True; einfach nur
NonClickSetChecked(CbAutorun, True); aufrufen.
In deinem Fall könntest du auch einfach nur prüfen ob die Form grad angezeigt wird und wenn dieses nicht der Fall ist, dann führst du den Code nicht aus. (beim Aufruf von OnCreate wäre dieses noch der Fall)
Code:
procedure TGrundeinstellungen.CbAutorunClick(Sender: TObject);
begin
[b]if not IsWindowVisible(
Handle) then
exit;[/b]
if CbAutorun.Checked then
ShowMessage('Damit VPlan Plus nach einem Windowsstart autom. gestartet ...
else
ShowMessage('Registrierungsschlüssel wird nach einem Klick auf ''OK'' entfernt!');
end;