Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.166 Beiträge
 
Delphi 12 Athens
 
#4

Re: OnChange-Verarbeitung bei eigenem Edit-Objekt

  Alt 20. Apr 2010, 20:36
Zitat von jokeBB:
Zu dem doppelten TEdit und dem Panel als Owner: zunächst hatte ich mein Objekt nur von TObject abgeleitet.
Eine Komponente sollte natürlich von TComponent abgeleitet sein.

Leite deinen TInputBlock von TPanel ab und positioniere seine Objekte (Edit, Label und Co.) in diesem.
(vielleicht noch den Rahmen des Panels im Constructor verstecken)

Dann verpaß deinem TInputBlock ein neues öffentliches Property OnChange und eine interne Methode Change.

Das Edit wird dann im Constructor erstellt und Owner, sowie Parent auf Self gesetzt.
(freigeben mußt du das Edit nicht, denn darum kümmert sich ja der Owner, also die Inputbox selber, wenn diese freigegeben wird)

Change wird dann den eigenen Edits (also denen innerhalb der InputBox) als Edit.OnChange zugewiesen.

In TInputBlock.Change kommt dannnoch ein
if Assigned(FOnChange) then FOnChange(Self); Wird nun eines der Edits verändert, dann kann die Komponente (TInputBlock) dort darauf reagieren und falls der TInputBlock ein OnChange von außerhalb zugewiesen wurde, dann wird auch dieses aufgerufen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat