Bonjour
J'ai créé une classe en Delphi et j'aimerais lui ajouter un event, OnMouseMove par exemple.
J'ai donc écrit mon code en m'inspirant de ce que j'ai trouvé sur le net mais je ne rentre jamais dans l’événement MouseMove.
Avez-vous une idée de ce qui ne marche pas dans mon code?
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
 
unit Objet;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls;
 
Type
  TObjet = class
    nom : string ;   // Nom de l'objet
    stype : string ;  // Type : LED, buzzer, pt500, zkey, ...
    cheminImg : String ;  // Chemin vers l'image correspondant au type d'objet
    image : TImage ; // ImageN de l'objet créé, dans l'appli
    panel : TPanel ; // TPanel supportant l'image
    selectionne : boolean ; // Cliqué ou pas
 
    posX : integer ; // position X
    posY : integer ; // position Y       Twincontrol   timage
 
    private
      FOnMouseMove : TMouseMoveEvent ;
    public
      Constructor Create; overload ;   // This constructor uses defaults
      Constructor Create(name : string); overload ;
      Constructor Create(name : string; strType : string) ; overload ;
      //procedure OnMouseRelease (Sender : TObject) ;   // Declaration de la procedure Event
      procedure MouseMove(var Message: TMessage); message WM_MOUSEMOVE ;
    published
      Property OnMouseMove : TMouseMoveEvent
        read FOnMouseMove
        write FOnMouseMove;
 
End;
 
 
implementation
 
constructor TObjet.Create;
begin
  // Execute the parent (TObject) constructor first
  inherited;  // Call the parent Create method
 
  // Now set a default fruit name
  self.nom := '';
  self.selectionne := false ;
end;
 
constructor TObjet.Create(name: string);
begin
  self.nom := name ;
  self.selectionne := false ;
end;
 
constructor TObjet.Create(name : string; strType : string) ;
begin
  self.nom := Name;
  self.stype := strType;
  self.selectionne := false ;
end;
 
{procedure TObjet.OnMouseRelease (Sender : TObject) ;
begin
    ShowMessage('Click !');
end; }
 
procedure TObjet.MouseMove(var Message: TMessage) ;
begin
    if assigned(FonMouseMove) then
    ShowMessage('Mouse Move !');
    inherited;
end;
 
end.