![]() |
Parameterliste beim Zuweisen von Ereignissen
Moin.
Wie kann ich die Parameterliste von Ereignissen herausbekommen, um ihnen eine Methode zuweisen zu können? In einem konkreten Fall ging es um OnMouseDown. Erst sagte mir der Compiler ständig: Zitat:
Zitat:
Delphi-Quellcode:
habe ich nur durch längere Suche hier im Forum herausgefunden.
type
TMyTrayIcon = class(TTrayIcon) private procedure MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); ... ... end; implementation constructor TMyTrayIcon.Create(Owner: TComponent); begin inherited; self.OnMouseDown := MouseDown; end; procedure TMyTrayIcon.MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin end; Wo genau finde ich sowas in der Hilfe? |
AW: Parameterliste beim Zuweisen von Ereignissen
Wieso braucht man dazu die Hilfe :gruebel:
Ein Doppelklick im OI auf das Event und alles ist gut |
AW: Parameterliste beim Zuweisen von Ereignissen
F1 (OH) :?:
![]() ![]() Oder einfach mal im OI doppelt draufklicken und sich eine Standardmethode erstellen lassen. Oder Strg+Linksklick (Kontextmenü > zur Codestelle spingen) (falls man jetzt wüste welche Delphiversion du nutzt und ob bei dir die VCL-Quellcodes vorhanden sind). > da landet man bei der Deklaration, klickst sich eventuell noch weiter bis zur übergeordneten Klasse, wo sich die Typdeklaration dieses Property befindet, da dann nochmal auf den Typ geklickt und schon ist man bei dessen Deklaration Oder man schreibt sich aus dem Hint den Typ ab, klickt da drauf (Strg+Linksklick) und landet direkt beim Typ. PS: Das geht übigens mit fast allem > Property, Methoden, Klassen, Variablen, ........ |
AW: Parameterliste beim Zuweisen von Ereignissen
Zitat:
Okay, selbst dann kann man sich natürlich eben ein VCL Projekt erstellen, die Komponente auf die Form ziehen und dort dann den OI benutzen... Habe ich nicht dran gedacht und ist in dem Fall etwas umständlich... Zitat:
Zitat:
Hätte nur gedacht dass ich sowas dann auch bei der mitgelieferten Hilfe (Delphi XE) finden kann... |
AW: Parameterliste beim Zuweisen von Ereignissen
Für sowas überschreibt man aber nicht das Property.
Delphi-Quellcode:
Was ist, wenn man nun OnMouseDown deines TMyTrayIcon nutzen will?
TMyTrayIcon = class(TTrayIcon)
protected procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override; end; procedure TMyTrayIcon.MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin inherited; ... end; (dort stünde ja nun schon schon deine Methode drin) MouseDown wird intern aufgerufen und dieses TControl.MouseDown ruft dann OnMouseDown auf. PS: Meckert Delphi eigentlich nicht rum, da du eine gleichnamige Methode "MouseDown" verdeckst? Und jupp, die mitglieferte OH ist ein Graus. Startseite der DP > Nachschlagewerke > Delphi-Referenz > und da suchen > dieses kann man sich z.B. auch als Suchprovider in seinem Firefox einrichten und darin versteckt sich auch die aktuellste OH-Version und ![]() |
AW: Parameterliste beim Zuweisen von Ereignissen
Zitat:
Dein Codebeispiel sieht gut aus. Nur ist wieder die Frage wie ich mit der mitgelieferten OH dahinterkomme, dass es MouseDown gibt :stupid: Aber deswegen werde ich mir dann gleich mal das von Dir empfohlene DP Nachschlagewerk ansehen :-) |
AW: Parameterliste beim Zuweisen von Ereignissen
Wenn man von einer Vorgängerklasse etwas ableiten möchte, dann hilft (sehr oft) auch folgendes:
Delphi-Quellcode:
TMyPanel = class( TPanel )
{hier jetzt mit dem Cursor hin und dann STRG-LEERTASTE drücken und aus der Liste das Gewünschte auswählen} {ENTER drücken und STRG-C fertig} {Diese Kommentarzeilen sind natürlich nicht notwendig :o) } end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz