Thema: Delphi Sender unterscheiden

Einzelnen Beitrag anzeigen

Robert_G
(Gast)

n/a Beiträge
 
#5

Re: Sender unterscheiden

  Alt 30. Apr 2004, 17:17
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 .
  Mit Zitat antworten Zitat