Einzelnen Beitrag anzeigen

Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#7

Re: Wozu braucht man Frames? Hat jemand ein HowTo?

  Alt 12. Apr 2006, 19:16
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
  Mit Zitat antworten Zitat