AGB  ·  Datenschutz  ·  Impressum  







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

DblClick-Erreignis einer Komponente abfangen

Ein Thema von padavan · begonnen am 5. Nov 2009 · letzter Beitrag vom 5. Nov 2009
Antwort Antwort
padavan

Registriert seit: 12. Jan 2005
271 Beiträge
 
Delphi 7 Enterprise
 
#1

DblClick-Erreignis einer Komponente abfangen

  Alt 5. Nov 2009, 07:34
Guten Morgen,

ich habe ein Verständnisproblem, wie ich den Doppelclick einer benutzten Komponente abfangen kann.

Folgendes habe ich bereits umgesetzt:

Habe eine Komponente 'TmyMachine' geschrieben welche sich von TPanel ableitet.
Soweit so gut. Diese TmyMachine habe ich in einem anderen Formular benutzt. Ich erzeuge n Instanzen dieser Klasse, je nachdem wieviel gebraucht werden. Dazu benutze ich eine TObjectlist. Dieser füge ich dann dynamisch die TmyMachine Objekte hinzu.

Delphi-Quellcode:
type
  TmyForm = class(TForm)
...
private
    fMachines: TObjectlist;

...

fmyMachines.Add(TmyMachine.Create(self, parameter, usw));
...
(fmyMachines.Last as TmyMachine).Show;
Wenn ich nun in dem Formular, in welchem jetzt diverse Instanzen von TmyMachine liegen, einen Doppelklick auf eine dieser myMachines mache, möchte ich das Doppelklick Erreigniss in der Form bearbeiten und nicht im Klassencode von TmyMachine. Also muss ich doch den Eventhanlder von TmyMachine beim Erzeugen des jeweiligen Objekts irgenwie in mein Formular bekommen. Nur wie stelle ich das an?

Wenn super, wenn mir jemand helfen könnte.

Danke schon mal
Padavan

PS: Im Anhang habe ich mir ein mini Beispiel gemacht, bei welchem ich das Grundsätzlich hinkriege, aber eben nicht dynamisch und schon gar nicht aus einer anderen Unit...
Angehängte Dateien
Dateityp: pas eventhandlerbespiel_620.pas (648 Bytes, 2x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: DblClick-Erreignis einer Komponente abfangen

  Alt 5. Nov 2009, 07:38
(fmyMachines.Last as TmyMachine).onDblClick:=methode aus FormX
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
padavan

Registriert seit: 12. Jan 2005
271 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: DblClick-Erreignis einer Komponente abfangen

  Alt 5. Nov 2009, 08:40
Vielen vielen Dank,

zwischenzeitlich war es mir auch aufgefallen.
Manchmal muss man es einfach mal "laut denken".

Gruß
Padavan
  Mit Zitat antworten Zitat
padavan

Registriert seit: 12. Jan 2005
271 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: DblClick-Erreignis einer Komponente abfangen

  Alt 5. Nov 2009, 09:56
Hm,

ursprungsproblem zwar gelöst, aber da kommt schon das nächste.

Gleiche Bausstelle, allerdings benötige ich jetzt noch OnMouseDown.

(fmyMachines.Last as TmyMachine).OnMouseDown := myMachineMouseDown; Wenn ich gleiches mit Schema F durchziehe meckert der Delphi mit
Zitat:
Incompatible types: 'TObject' and 'TMouseButton'

Code in TmyMachine

Delphi-Quellcode:
protected
procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X: Integer; Y: Integer); override;
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.541 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: DblClick-Erreignis einer Komponente abfangen

  Alt 5. Nov 2009, 10:00
Der Sender-Parameter fehlt.
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
  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 13:59 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