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.