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.