Hallo,
Zitat von
hanselmansel:
Delphi-Quellcode:
type
Wechselbutton = class(TCustomControl)
private
FOnMouseDown :TMouseEvent;
b_MouseDown :Boolean;
protected
procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); dynamic;
published
Property OnMouseDown: TMouseEvent read FOnMouseDown write FOnMouseDown;
Property OnClick;
end;
Wenn Du das einfach haben willst, dann mach das so:
Delphi-Quellcode:
type
TWechselbutton = class(TCustomControl)
private
b_MouseDown :Boolean;
protected
procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override; // <--
published
Property OnMouseDown;
Property OnClick;
end;
implementation
TWechselButton.MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
b_MouseDown := True;
inherited;
end;
Damit überschreibst Du die originale MouseDown-Methode (die ist nicht umsonst as dynamic deklariert). So spart Du Dir die Sache mit den Events und machst es gleichzeitig so, wie die
VCL das vorsieht.
Gruß
xaromz
//Edit: ja, ja, der rote Kasten...