Hallo,
ich möchte gern die TButtons etwas pimpen und wollte daher eine eigene Klasse davon ableiten. Das hier ist
meine Inspirationsquelle. Ich hatte eine weile gebraucht, die Deklaration/Definition von
OnMouseDown
. Jetzt scheitere ich aber dran, dass mir der Compiler beharrlich erklärt, mein MouseDown würde sich von der vorherigen Deklaration unterscheiden (E2037).
Da ich die Procedurköpfe in der Implementation aber nicht von Hand tippe, sollte das zumindest passen. Ich bin im Moment ziemlich ratlos, vermute aber einen profanen Fehler, den bestimmt jemand schnell entdeckt:
Delphi-Quellcode:
Unit _main;
Interface
Uses
Winapi.Windows,
Winapi.Messages,
System.SysUtils, System.Variants, System.Classes,
Vcl.Graphics,
Vcl.Controls,
Vcl.Forms,
Vcl.Dialogs,
Vcl.StdCtrls;
Type
TMyButton =
Class(TButton)
Private
fOnMouseDown : TMouseEvent;
Procedure MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
Override;
Published
Property OnMouseDown: TMouseEvent
Read fOnMouseDown
Write fOnMouseDown;
End;
TForm1 =
Class(TForm)
End;
Var
Form1 : TForm1;
Implementation
{$R *.dfm}
Procedure TMyButton.MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X: Integer; Y: Integer);
Begin
//
// == > genau hier würde ich gern etwas machen
//
If Assigned(fOnMouseDown)
Then fOnMouseDown(Sender, Button, Shift, X, Y);
End;
End.