AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Ereignisse eines Events bei abgeleiteter Klasse Definieren
Thema durchsuchen
Ansicht
Themen-Optionen

Ereignisse eines Events bei abgeleiteter Klasse Definieren

Ein Thema von Hador · begonnen am 24. Nov 2005 · letzter Beitrag vom 24. Nov 2005
Antwort Antwort
Benutzerbild von Hador
Hador

Registriert seit: 11. Dez 2004
Ort: Recke
682 Beiträge
 
Turbo Delphi für Win32
 
#1

Ereignisse eines Events bei abgeleiteter Klasse Definieren

  Alt 24. Nov 2005, 20:22
Hallo Leute.

Ich habe dass Problem, dass ich eine Klasse von TImage ableiten möchte, jedoch schon vorgeben möchte, was z.B. bei einem OnMouseOver Ereignis getan wird.
Gibt es irgendeine Möglichkeit, einem Event beispielsweise eine feste Procedure zuzuweisen?
Lars Kiesow
http://www.larskiesow.de

Computer gehorchen deinen Befehlen, nicht deinen Absichten.
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.594 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Ereignisse eines Events bei abgeleiteter Klasse Definier

  Alt 24. Nov 2005, 20:25
weise doch in der abgeleiteten Klasse dem OnMouseOver Ereignis einfach eine Klassenprocedure zu. Oder versteh ich da was falsch?
Sven Harazim
--
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Ereignisse eines Events bei abgeleiteter Klasse Definier

  Alt 24. Nov 2005, 20:31
Zitat von sh17:
weise doch in der abgeleiteten Klasse dem OnMouseOver Ereignis einfach eine Klassenprocedure zu. Oder versteh ich da was falsch?
Dadurch unterbindest Du aber nicht, dass der Nutzer selbst noch was in OnMouseOver schreibt.

Es geht also darum, das OnMouseEvent in der neuen Komponente nach aussen hin ganz zu verstecken. Das geht so von TImage abgeleitet nicht. Die meisten Komponten sind aber selbst von einer Basisklasse abgeleitet, welche nach aussen hin noch keine Events offen legt, und in diesem Fall dürfte die TCustomImage heissen. Die gilt es dann als Vorfahren der eigenen Klasse zu wählen.
  Mit Zitat antworten Zitat
Benutzerbild von Hador
Hador

Registriert seit: 11. Dez 2004
Ort: Recke
682 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Ereignisse eines Events bei abgeleiteter Klasse Definier

  Alt 24. Nov 2005, 20:36
Danke dass werde ich dann mal versuchen
Lars Kiesow
http://www.larskiesow.de

Computer gehorchen deinen Befehlen, nicht deinen Absichten.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Ereignisse eines Events bei abgeleiteter Klasse Definier

  Alt 24. Nov 2005, 20:58
die meisten Klassen haben solche Funktionen wie MoudeDown etc. im Protected. Wenn dem nicht so ist kann man das Eregnis einfach neu definieren.
Delphi-Quellcode:
type
  TNewImage = class(TImage)
  private
    fOnMouseOver: TNotifyEvent;
    procedure FOnMouseOverProc(Sender: TObject);
  public
    constructor Create(AOwner: TComponent); override;
  published
    property OnMouseOver: TNotifyEvent read fOnMouseOver write fOnMouseOver;
  end;

constructor TNewImage.Create(AOwner: TComponent); override;
begin
  inherited Create(AOwner);
  inherited OnMouseOver := FOnMouseOverProc;
end;

procedure TNewImage.FOnMouseOverProc(Sender: TObject);
begin
  //Quelltext hier plazieren was vor auslösen des Events passieren soll
  if Assigned(fOnMouseOver) then
    fOnMouseOver(Sender);
  //Quelltext hier plazieren was nach auslösen des Events passieren soll
end;
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  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 11:10 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