Hallo Oliver,
die Antwort auf Frage 1 kennst Du eigentlich schon. Du mußt eigentlich nur das nachprogrammieren, was Borland bei Komponenten in der
VCL macht.
Delphi-Quellcode:
type
TMyFrame = class (TFrame)
private
FOnChange : TNotifyEvent;
protected
procedure Changed;
public
property OnChange: TNotifyEvent
read FOnChange write FOnChange;
end;
procedure TMyFrame.Changed;
begin
if Assigned(FOnChange) then
FOnChange (Self);
end;
Innerhalb des Frames kannst Du nun bei Änderungen die Methode
Changed aufrufen. Diese ruft dann die Ereignisbehandlung auf, sofern eine mit dem Frame verbunden wurde.
Im benutzenden Formular verbindest Du das Frame mit einer geeigneten Methode des Formulars:
Delphi-Quellcode:
procedure TForm.FormCreate (Sender: TObject);
begin
Frame1.OnChange := FrameChanged;
end;
procedure TForm.FrameChanged (Sender: TObject);
begin
// Reaktion auf Änderung im Frame
end;
Zu Frage 3: beim benutzten(!) Frame gibt es im Kontextmenü der Komponenten und des Objektinspektors einen Menüeintrag "Geerbte Einstellungen wiederherstellen". Dieser kann aber auch sehr tückisch sein, weil er auch die gewollten Änderungen rückgängig macht...
Gruß Hawkeye