Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
Delphi 12 Athens
|
AW: MouseDown Procedure einer Instanz überschreiben
27. Jan 2017, 11:00
Oder etwas ausführlicher:
Delphi-Quellcode:
type
TMyComponent = class(TWinControl)
private
FPanel: TPanel;
procedure PanelMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X: Integer; Y: Integer);
protected
procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X: Integer;
Y: Integer); override;
public
constructor Create(AOwner: TComponent); override;
end;
...
constructor TMyComponent.Create(AOwner: TComponent);
begin
inherited;
Width := 200;
Height := 200;
FPanel := TPanel.Create(self);
FPanel.Parent := self;
FPanel.OnMouseDown := PanelMouseDown;
end;
procedure TMyComponent.MouseDown(Button: TMouseButton; Shift: TShiftState; X,
Y: Integer);
begin
inherited;
if Button = mbLeft then
ShowMessage(Format('X: %d, Y: %d', [X, Y]));
end;
procedure TMyComponent.PanelMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState;
X, Y: Integer);
begin
self.MouseDown(Button, Shift, X, Y);
end;
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
|