Bonjour,
J'ai un problème pour redimensionner une fenêtre dans un Tcomponent.
Je travaille avec un TImage sur Form.
J'utilise FormResize qui produit le résultat désiré mais seulement si la nouvelle taille de la fenêtre est plus petite que la
taille de création de la fenêtre.
Dans mon Form j'ai :
Implementé dans mon component j'ai :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 //------------------------------------------------------------------------------ // FormResize procedure TMF_TComponent.FormResize(Sender: TObject); begin g_text_comp.gtc_set_width_and_height; g_text_comp.gtc_init_image; if text_list.Count > 1 then g_text_comp.gtc_write_text(text_list); g_text_comp.gtc_refresh_image; end; // end FormResize
Le problème est que la ligne bleue de bord de l'image disparait a droite et en bas du TImage,
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 //------------------------------------------------------------------------------ // gtc_set_width_and_height procedure TGraphic_Text_Component.gtc_set_width_and_height; begin Heigth := text_img_comp.Parent.Height - text_img_comp.Top - 12; Width := text_img_comp.Parent.Width - text_img_comp.Left - 12; end; // end gtc_set_width_and_height //------------------------------------------------------------------------------ // gtc_init_image procedure TGraphic_Text_Component.gtc_init_image; begin with text_img_comp do begin Canvas.Brush.Color := clWindow; canvas.Rectangle(0, 0, Width , Height); Canvas.Pen.Color := clBlue; canvas.MoveTo(0, 0); Canvas.LineTo(Width , 0); Canvas.LineTo(Width, Heigth ); Canvas.LineTo(0, Heigth ); Canvas.LineTo(0, 0); end; end; // end gtc_init_image //------------------------------------------------------------------------------ // gtc_refresh_image procedure TGraphic_Text_Component.gtc_refresh_image; begin gtc_init_image; text_img_comp.Invalidate; end; // end gtc_refresh_image
quand je dimensionne la fenêtre avec des dimensions plus grande que la fenetre originale.
En question annexe, est-ce que text_img_comp.Parent.Height me retourne bien la taille courante du Form.
J'ai essayé au pot, mais je ne suis sur de rien.
Merci pour votre aide
Marc_3
Partager