Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#7

Re: Mausbotschaft von CollectionItem an Komponente übergeben

  Alt 12. Jan 2007, 13:48
Hallo Uwe,

ich habe den gleichen Fehler wie du gemacht, weil ich deinen zweiten Beitrag überlesen hatte. Nun habe ich mich ein wenig mit dem Thema auseinandergesetzt und komme zu folgender Frage: Warum veröffentlichst du nicht einfach die property OnMouseEvent, anstatt die Methode MouseDown() zu überschreiben?

Delphi-Quellcode:
unit AppointmentControl;

interface

uses
  SysUtils, Classes, Controls, Themes;

type
  TAppointmentControl = class(TGraphicControl)
  public
    constructor Create(Owner: TComponent); override;
  published
    property OnMouseDown;
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('Marabu', [TAppointmentControl]);
end;

constructor TAppointmentControl.Create(Owner: TComponent);
begin
  inherited Create(Owner);
  ControlStyle := ControlStyle + [csReplicatable];
  Width := 165;
  Height := 117;
  if ThemeServices.ThemesEnabled
    then ControlStyle := ControlStyle - [csOpaque]
    else ControlStyle := ControlStyle + [csOpaque];
end;

end.
Wenn ich diese Komponente in meinem Testprogramm nutze, dann wird jede Maustaste korrekt ausgewertet.

Freundliche Grüße
  Mit Zitat antworten Zitat