AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zwei OnClick-Events in einer Klasse

Offene Frage von "cYaONE"
Ein Thema von cYaONE · begonnen am 19. Jan 2004 · letzter Beitrag vom 20. Jan 2004
Antwort Antwort
cYaONE

Registriert seit: 18. Mai 2003
Ort: Sand am Main
192 Beiträge
 
Delphi 7 Personal
 
#1

Zwei OnClick-Events in einer Klasse

  Alt 19. Jan 2004, 15:09
Servus,

Folgendes Problem:

Ich habe eine eigene Klasse von TScrollBox abgeleitet. Jetzt möchte ich, dass ich einer Methode meiner eigenen Klasse das OnClick-Event der TScrollBox zuweisen kann. Allerdings soll später, wenn die Komponente benutzt wird, das zuweisen einer anderen OnClick Funktion ebenfalls möglich sein ...

Könnt ihr mir helfen?

Danke schonmal!
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.610 Beiträge
 
#2

Re: Zwei OnClick-Events in einer Klasse

  Alt 19. Jan 2004, 15:13


Ich würde sagen: MeineKompo.OnClick := Form1.meinOnClick(Sender: TObject); Wenn es eine 'meinOnClick' - methode gibt sollte das klappen.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
cYaONE

Registriert seit: 18. Mai 2003
Ort: Sand am Main
192 Beiträge
 
Delphi 7 Personal
 
#3

Re: Zwei OnClick-Events in einer Klasse

  Alt 19. Jan 2004, 15:22
Ich weise intern der Komponente eine OnClick Methode zu - und außerhalb will ich das ich so machen - also praktisch 2 Funktionen auf ein Ereignis.

Ich würde das gerne folgendermaßen lösen:

Delphi-Quellcode:
procedure TMeineKomponente.OnClick(Sender: TObject);
begin
  // Zuerst das externe Ereignis aufrufen
  inherited OnClick(Sender);
  
  // ...
end;
Aber das geht ja so nicht
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.610 Beiträge
 
#4

Re: Zwei OnClick-Events in einer Klasse

  Alt 19. Jan 2004, 15:24
Andersrum gehts aber.

Du schreibst zuerst das, was intern passieren soll in die reguläre OnClick - Methode.

Dann erzeugst Du eine externe:

Delphi-Quellcode:
procedure TForm1.DeineKompoOnClick(Sender: TObject);
begin
  // .. hier ne Menge Code

  // ..und zuletzt die interne aufrufen:
  inherited;
end;
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von maximov
maximov

Registriert seit: 2. Okt 2003
Ort: Hamburg
548 Beiträge
 
Delphi 2005 Professional
 
#5

Re: Zwei OnClick-Events in einer Klasse

  Alt 20. Jan 2004, 10:02
Ich bin mir sicher, dass onClick aus der dynamischen methode Click aufgerufen wird:

siehe da
Delphi-Quellcode:
TControl = class(TComponent)
...
procedure Click; dynamic;
...
dh. einfach overriden:

Delphi-Quellcode:

type
  TDeineKompoOnClick = class(...)
    ...
    procedure Click; override;
  end;


procedure TDeineKompoOnClick .Click;
begin
  // .. hier ne Menge Code

  inherited; // original aufrufen ... unter anderem auch OnCLick generieren
end;
sollte gehen

mfg.
mâxîmôv.

{KDT}
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz