ce que fait ce code:

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
 
type
  TImagePerso = class (TGraphicControl)
  private
    FOnPaint: TNotifyEvent;
  protected
    procedure Paint; override;
  public
    constructor Create(AOwner:TComponent); override;
    destructor Destroy; override;
    property OnPaint: TNotifyEvent write FOnPaint;
  end;
 
 
implementation
 
constructor TImagePerso.Create(AOwner:TComponent);
begin
  inherited create(AOwner);
  FOnPaint:=nil;
end;
 
destructor TImagePerso.Destroy;
begin
  inherited destroy;
end;
 
procedure TImagePerso.Paint;
begin
  if assigned(FOnPaint) then
    FOnPaint(self);
end;

Le onPaint est redirigé vers une procédure de dessin du canvas lors de la création d'objet de ce type... Et tout fonctionne très bien !

Mais je comprends pas trop le micmac sur la redirection du paint là...

Vous comprenez vous ?

J'aimerais que seuls ceux qui sont sûr de comprendre le code me répondent.

Merci.

EDIT : je pige mieux ce que fait le code en fait depuis 5 minutes... mais c'est je crois surtout l'utilisation des TNotifyEvent qui me trouble, je maitrise pas encore assez la chose.