![]() |
Hinzufügen von neuen Ereignissen zu Komponenten
Hi,
wie kann ich neue (von mir programmierte) Ereignisse in eine vorhandene Komponente mit rein bringen, oder eine Neue Komponente mit den neuen Ereignissen erstellen?; MfG DelphiUser7 |
Re: Hinzufügen von neuen Ereignissen zu Komponenten
Over and out; Selbst gelöst; :-D
Für alle, die es nicht wissen: Menü -> Datei -> Neu -> Weitere -> 'Komponente' auswählen => have fun; :mrgreen: :mrgreen: :mrgreen: Gruss DelphiUser7 |
Re: Hinzufügen von neuen Ereignissen zu Komponenten
Oh nein! :shock: ;
Ich weiss nicht, wie ich die Properties der neuen Komponente verwenden kann!, dabei gibt es gar keine neuen Properties, sondern nur neue Ereignisse; Weiss jemand, wie ich die Properties (=Eigenschaften) der neuen Komponenten in Procedures verwenden kann, z.B. in 'OnClick' von 'Button1' oder so? Im OI werden sie alle aufgelistet, und sollten demnach auch verwendbar sein; aber in der Liste, die angezeigt wird, sobald man einen '.' hinter eine Komponente setzt, gibt es nur 2 Eigenschaften; In Hoffnung DelphiUser7 |
Re: Hinzufügen von neuen Ereignissen zu Komponenten
Hallo DelphiUser7,
zeig mal ein bisschen Code... |
Re: Hinzufügen von neuen Ereignissen zu Komponenten
zeig uns doch mal ein bisschen code. zb wie werden die ereignisse erstellt und was sollen sie machen?
|
Re: Hinzufügen von neuen Ereignissen zu Komponenten
Hier:
Delphi-Quellcode:
Die Ereignisse sind ja der eigentliche Grund, wieso ich überhaupt diese neue Komponente erstellt habe; ich habe sie erstellt, wie oben beschrieben und dann, wie im Quellcode zu sehen ist, die nötigen Procedures 'dazudeklariert'!;
unit MouseTrackBar;
interface uses SysUtils, Classes, Controls, ComCtrls; type TMouseTrackBar = class(TTrackBar) private { Private-Deklarationen } protected procedure MouseUp(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override; procedure MouseDown (Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override; procedure MouseMove (Shift: TShiftState; X, Y: Integer); override; { Protected-Deklarationen } public { Public-Deklarationen } published property OnMouseUp; property OnMouseDown; property OnMouseMove; { Published-Deklarationen } end; procedure Register; implementation procedure Register; begin RegisterComponents('Beispiele', [TMouseTrackBar]); end; procedure TMouseTrackBar.MouseUp(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin inherited; end; procedure TMouseTrackBar.MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin inherited; end; procedure TMouseTrackBar.MouseMove(Shift: TShiftState; X, Y: Integer); begin inherited; end; end. darum geht es momentan aber eigentlich weniger, als darum, wie ich diese Online-Hilfe, oder wie diese Liste auch immer, richtig vererben kann, und nicht nur so, dass man sie lediglich im OI benutzen kann!; MfG DelphiUser7 |
Re: Hinzufügen von neuen Ereignissen zu Komponenten
du überschreibst dort etwas, was es in der TTrackbar nicht gibt?
|
Re: Hinzufügen von neuen Ereignissen zu Komponenten
was heißt in diesem Fall 'überschreiben'? Ich habe die doch selbst deklariert; d.h. nicht 'ich' sondern 'Gandalfus', von dem ich den Code habe;
|
Re: Hinzufügen von neuen Ereignissen zu Komponenten
ist richtig ttrackbar ist von twincontrol und da gibt es die ereignisse. du mußt denen baer noch das auslösende event geben . suche mal nach cm_mouseleave und cm_mouseenter, das müsste es sein was du zuweisen musst.
|
Re: Hinzufügen von neuen Ereignissen zu Komponenten
Neeee :shock: , das hat doch nichts mit den Ereignissen zu tun, ich rede bzw. schreibe doch gerade von Eigenschaften, '.Max','.Length' etc., die ich anderen Eigenschaften nicht in einer Procedure zuweisen kann :shock: , weil der Compiler sie nicht erkennt;
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:08 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