Autor Beitrag
Stevie
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 85

Windows 7
Delphi XE Professional
BeitragVerfasst: Do 11.09.03 11:28 
Hi,

ich versuche verzweifelt eine Komponente abzuleiten und einem bereits vorhandenen Ereignis eine Methode zuzuweisen, die standardmäßig ausgeführt wird. Wie mache ich das?
maximus
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 896

Win XP, Suse 8.1
Delphi 4/7/8 alles prof
BeitragVerfasst: Do 11.09.03 16:10 
hi,

wenn du eine compo ableitest, dann würde ich kein event zuweisen, da es ja vom 'user' wieder überschrieben werden kann. SOndern du 'overridest' eine der vielen virtuellen methoden:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
TBla = class(TWinControl)
...
public
  paint; override;
...
end;

...
procedure TBla.paint;
begin
  inherited paint;
  // hier was zeichnen...was du willst -> und schon wird deine compo anders aussehen
end;


verstehst du?

_________________
mfg.
mâximôv
Stevie Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 85

Windows 7
Delphi XE Professional
BeitragVerfasst: Fr 12.09.03 08:37 
Den wahren Sachverhalt jetzt hier zu erläutern, würde zu weit führen (Indy-Komponenten) Aber nehmen wir an, ich möchte ein neuen Button erstellen, der beim Draufklicken immer irgendwas macht, muss ich dann nicht dem OnClick-Ereignis eine Routine irgendwas zuweisen???
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Fr 12.09.03 09:41 
Hallo,

es gibt zu fast jedem Event eine entsprechende Procedure die nur das Event aufruft. Beim OnClick-Event wäre das die Click Procedure. Diese Proceduren sind in der Protected Sektion als Virtual definiert. Das heißt du kannst diese Proceduren überschreiben um z. B. in abgeleiteten Komponeten auf das Click reagieren. Vergiss nicht das Inherited aufzurüfen damit das vom User definierte OnClick-Event auch aufgerufen wird.

Gruß
Tino