Thema: Delphi Eigener OnExit - wie?

Einzelnen Beitrag anzeigen

David Martens

Registriert seit: 29. Sep 2003
205 Beiträge
 
Delphi XE Enterprise
 
#4

Re: Eigener OnExit - wie?

  Alt 27. Apr 2010, 23:42
Vielleicht gehts ja so: http://www.delphipraxis.net/internal...t.php?t=112420

So hab ich (allerdings in Delphi 2006) ein OnAfterCreate und ein OnAfterShow implementiert. Die Sieht man aber nicht im Objektinspektor dazu muß man das Ganze in eine neue Komponente gießen.

Was da nicht steht: WM_AFTERSHOW ist eine eigene Konstante mit WM_USER + 1; Zu WM_USER halt deinen eigenen Offset draufrechnen, da die Nummer eindeutig sein muß. Ich hab z.B.: 300 und 301 genommen.

Im Grunde setzt du mit PostMessage eine Programmweite "Nachricht" ab, die sich in die Systemnachrichten einreiht:

Delphi-Quellcode:
interface
type
  Txyz = class(...)
  public
    property OnAfterShow : TNotifyEvent read FOnAfterShow write FOnAfterShow;
  end;

const
  WM_AFTERSHOW = WM_USER + 300;

implementation

procedure Txyz.WndProc(var Msg: TMessage);
begin
  case Msg.Msg of
    WM_AFTERSHOW:
      begin
        if assigned(FOnAfterShow) then
          FOnAfterShow(Self); // hier wird die zugewiesene Funktion ausgeführt
      end;
  end;
  inherited;
end;
Das geht natürlich auch für alle möglichen anderen Events.
  Mit Zitat antworten Zitat