Der Frame bekommt ein Event und schon kann man sich da in der Form dranhängen.
Delphi-Quellcode:
type
TMyFrame = class(TFrame)
private
//FOnChange: procedure(Sender: TObject) of object;
FOnChange: TNotifyEvent;
procedure DoChange;
published
property OnChange: TNotifyEvent read FOnChange write FOnChange;
end;
procedure TMyFrame.DoChange;
begin
if Assigned(FOnChange) then
FOnChange(Self);
end;
Wenn sich was ändert, dann rufst du einfach DoChange auf.
Alternativ kann man auch Events weiterleiten.
Delphi-Quellcode:
type
TMyFrame = class(TFrame)
TheCheckBox: TCheckBox;
private
function GetOnChange: TNotifyEvent;
procedure SetOnChange(Value: TNotifyEvent);
published
property OnChange: TNotifyEvent read GetOnChange write SetOnChange;
end;
function TMyFrame.GetOnChange: TNotifyEvent;
begin
Result := TheCheckBox.OnChange;
end;
procedure TMyFrame.SetOnChange(Value: TNotifyEvent);
begin
TheCheckBox.OnChange := Value;
end;
Natürlich kann man auch im OnCreate der Form sich manuell an das Event hängen, aber sowas macht man doch nicht.
TheFrame.TheCheckBox.OnChange := DeinEvent;