Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
Delphi 12 Athens
|
AW: Überwachen von Objekteigenschaften
26. Nov 2010, 12:02
Was mir jetzt spontan einfällt: die Message CM_ENABLEDCHANGED abzufangen.
Delphi-Quellcode:
type
TButton = class(StdCtrls.TButton)
private
FOnEnabledChanged: TNotifyEvent;
procedure CMEnabledChanged(var Message: TMessage); message CM_ENABLEDCHANGED;
public
property OnEnabledChanged: TNotifyEvent read FOnEnabledChanged write FOnEnabledChanged;
end;
TFormTest = class(TForm)
...
private
{ Private-Deklarationen }
procedure DoOnChange(Sender: TObject);
...
procedure TButton.CMEnabledChanged(var Message: TMessage);
begin
inherited;
if Assigned(FOnEnabledChanged) then
FOnEnabledChanged(Self);
end;
procedure TFormTest.DoOnChange(Sender: TObject);
begin
if Sender is TButton then
ShowMessage(TButton(Sender).Name + ' hat sich geändert');
end;
procedure TFormTest.FormCreate(Sender: TObject);
begin
Button1.OnEnabledChanged := DoOnChange;
end;
Detlef "Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
|