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 :Et son utilisation :
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; ...La hauteur de son parent pouvant changer, avec l'alignement à alLeft la hauteur de TImage est bien modifiée.
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); ...
Mais, même en essayant de le répercuter sur le TBitmap, ça ne change rien :Comment modifier la taille du Canvas d'un TImage, sans devoir détruire et recréer le TImage ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ImageCurseur.Picture.Bitmap.Height := ImageCurseur.Height; ImageCurseur.Picture.Bitmap.Width := ImageCurseur.Width;
Partager