Einzelnen Beitrag anzeigen

DualCoreCpu
(Gast)

n/a Beiträge
 
#1

Eigene Mausereignisse werden nicht ausgelöst! Warum?

  Alt 14. Okt 2009, 22:40
Hallo,

mit dem folgenden Quelltext will ich meinem Formular eigene Mausereignisse zuweisen, die ich nicht im Objektinspektor erzeugt, sondern als Quelltext geschrieben habe. Leider werden diese Ereignisse nicht ausgelöst.

Delphi-Quellcode:
unit MyMouseEvents;

interface

uses
  Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs;


type
  TForm1 = class(TForm)
  private

  public
    procedure DoMouseDown(Sender: TObject; Buttons: TMouseButton; Shift: TShiftState; X,Y:Integer);
    procedure DoMouseMove(Sender: TObject; Buttons: TMouseButton; Shift: TShiftState; X,Y:Integer);
    procedure DoMouseUp(Sender: TObject; Buttons: TMouseButton; Shift: TShiftState; X,Y:Integer);

    constructor Create(AOwner: TComponent);
  end;

implementation

constructor TForm.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  OnMouseDown := @DoMouseDown;
  OnMouseMove := @DoMouseMove;
  OnMouseUp := @DoMouseUp;
end;

procedure TForm1.DoMouseDown(Sender: TObject; Buttons: TMouseButton; Shift: TShiftState; X, Y: Longint
  );
begin
  ShowMessage('Maus gedrückt!');
end;

procedure TForm1.DoMouseMove(Sender: TObject; Buttons: TMouseButton; Shift: TShiftState; X, Y: Longint
  );
begin
  ShowMessage('Maus bewegt!');
end;

procedure TForm1.DoMouseUp(Sender: TObject; Buttons: TMouseButton; Shift: TShiftState; X, Y: Longint);
begin
  ShowMessage('Maus losgelassen!');
end;

constructor TForm1.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  OnMouseDown := @DoMouseDown;
  OnMouseUp := @DoMouseUp;
end;

initialization
  {$I main.lrs}

end.
Wer kann mir die Ursache nennen?

Ich will meiner TForm eigene Mausereignisse zur Laufzeit zuweiesen, also absichtlich nicht per Objektinspektor. Muss ja im Quelltext geanau so gehen. Leider weiß ich nicht was jetz falsch läuft und auch nicht, wie ich das Problem präziser beschreiben kann.
  Mit Zitat antworten Zitat