Thema: Delphi Vererbung von Events

Einzelnen Beitrag anzeigen

Benutzerbild von hanselmansel
hanselmansel

Registriert seit: 23. Feb 2005
Ort: Kaiserslautern
279 Beiträge
 
Delphi 2009 Enterprise
 
#1

Vererbung von Events

  Alt 23. Jul 2005, 10:28
HiHo,

ich versuche folgendes:
  • Die als "protected" deklarierte Eigenschaft OnMouseDown der Komponente TCustomControl soll in meiner abgeleiteten Komponente (TWechselButton) "published" sein, also im OI bearbeitbar.
  • Eben zu jenem Event OnMouseDown soll eine boolsche Variable der Komponente (TWechselButton.b_MouseDown) komponenten-intern verändert werden. (Damit die komponente bei erneutem Paint ihr Aussehen ändert!)

Die Einfache Vererbung einer "protected"-Eigenschaft habe ich mit OnClick ziemlich einfach hinbekommen. Die Sache mit OnMouseDown gestaltet sich komplizierter...

Aus den Beiträgen von Helmi (Beitrag) und shmia (Beitrag) habe ich mir (mehr schlecht als Recht) etwas zusammengebastelt. Er zeigt mir zwar keine Fehlermeldungen an, und zur Design-Zeit kann ich über den OI das Ereignis OnMouseDown auswählen, aber zur Laufzeit tut sich beim Maus-button-drücken rein gar nichts.

Hier kommt die Cource:
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;

implementation

Procedure Wechselbutton.MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if Assigned(FOnMouseDown) then
  Begin
  FOnMouseDown(Self, Button, Shift, X, Y);
  b_MouseDown := True;
  End;
end;
An der Stelle wie immer herzlichen Dank für's lesen, und ich freue mich auf eure Antworten.

MfG,

hanselmansel
Es gibt nur sehr wenige Probleme auf dieser Welt, die sich nicht mit einigen hundert Gramm Sprengstoff lösen ließen.
  Mit Zitat antworten Zitat