Falls du das Form mit verschiedenen Controls beenden willst :
- ActionList/ActionManager auf's Form
- eine Action definiert
- die Action allen Controls (die das Close enthalten sollen) zuweisen
- Jetzt kannst du im im OnExecute einfach "Close" eintippen.
- Im OnCloseQuery des Forms geht dann das
Delphi-Quellcode:
With DeineAction Do
If Assigned(ActionComponent) Then
Begin
CanClose := Not ((ActionComponent Is TMenuItem) Or
(ActionComponent Is TCustomButtonControl));
If Not CanClose Then
ShowMessage('Upps (' + ActionComponent.ClassName + ')')
Else
ShowMessage('Fump...');
ActionComponent := Nil;
End
Else
CanClose := True;
Das ist jetzt nur mal schnell zurecht gezimmert.
Da
IMHO alle UI Funktionen in eine/mehrere ActionLists gehören, halte ich das für sauberer als eine bool'sche Variable im Private des Forms.
Ich verstehe aber nicht warum beim Klicken auf Close nix passieren soll
.