Comment modifier la taille du Canvas d'un TImage ?

J'ai retrouvé cette discution http://www.developpez.net/forums/d14...nvas-d-timage/, mais ça ne m'a pas aidé.
Les dimensions du TPicture sont en lecture-seule, et je suppose qu'elles sont le reflet du TBitmap stocké dedans. Mais, dans mon cas, je n'ai pas d'image à charger. Je dessine juste dans son Canvas.

Voici la création du TImage :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
   ImageCurseur := TImage.Create(Self);
   ImageCurseur.Parent := PanelMarge;
   ImageCurseur.Height := PanelMarge.Height;
   ImageCurseur.Width := 17;
   ImageCurseur.Align := alLeft;      // <<<
   ImageCurseur.Canvas.Brush.Color := clWindow;
   ImageCurseur.Canvas.FillRect(Rect(0, 0, ImageCurseur.Width, ImageCurseur.Height));
   ImageCurseur.Canvas.Pen.Color := clBlue;
   ...
Et son utilisation :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
   ImageCurseur.Canvas.Brush.Color := clWindow;
   ImageCurseur.Canvas.FillRect(Rect(0, 0, ImageCurseur.Width, ImageCurseur.Height));
   ImageCurseur.Canvas.Brush.Color := clWhite;
   for i:=0 to Pred(_ListeLignes.Count) do
      ImageCurseur.Canvas.FillRect(Rect(0, ((i * HAUTEUR_PORTEE) + INIT_PORTEE - 3), ImageCurseur.Width, (i * HAUTEUR_PORTEE) + HAUTEUR_PORTEE - 3));
   ImageCurseur.Canvas.MoveTo(0, Y);
   ImageCurseur.Canvas.LineTo(ImageCurseur.Width, Y);
   ...
La hauteur de son parent pouvant changer, avec l'alignement à alLeft la hauteur de TImage est bien modifiée.
Mais, même en essayant de le répercuter sur le TBitmap, ça ne change rien :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
   ImageCurseur.Picture.Bitmap.Height :=  ImageCurseur.Height;
   ImageCurseur.Picture.Bitmap.Width :=  ImageCurseur.Width;
Comment modifier la taille du Canvas d'un TImage, sans devoir détruire et recréer le TImage ?