Bonsoir,

Voici le bout de code du composant et le retour de Width et Height dans le Create est de 320 sur 240 alors que ma Form est de 800/600
Je ne comprend pas ce que j'ai oublié pour avoir ce résultat?

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
interface
 
uses
  Windows,Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, StdCtrls, Grids, DBCtrls, dbgrids, Mask, ComCtrls, DBCGrids, Checklst,buttons ;
 
type
  TGLElastic = class(TComponent)
  private
     FForm : TForm;
     FAdjustLabelWidths : boolean ;
     FEnabled : boolean ;
     FOldHeight : integer ;
     FOldWidth : integer ;
     FOldOnResize : TNotifyEvent ;
     FOnResize : TNotifyEvent ;
     FFixed : TStringList ;
     procedure SetEnabled(b : boolean) ;
     procedure SetFixed(s : TStringList) ;
  protected
     procedure FormResize(Sender : TObject) ;
  public
     constructor Create(AOwner : TComponent) ; override ;
     destructor Destroy ; override ;
  published
     property AdjustLabelWidths : boolean read FAdjustLabelWidths write FAdjustLabelWidths default False ;
     property Enabled : boolean read FEnabled write SetEnabled default True ;
     property FixedComponents : TStringList read FFixed write SetFixed ;
     property OnResize : TNotifyEvent read FOnResize write FOnResize ;
  end;
 
procedure Register;
 
implementation
 
constructor TGLElastic.Create(AOwner : TComponent) ;
begin
     inherited Create(AOwner) ;
     FEnabled := True ;
     FFixed := TStringList.Create ;
     FForm := GetParentForm(TControl(AOwner)) as TForm;
     if not (csDesigning in ComponentState) then begin
      if FForm <> Nil then
         begin
           FOldHeight := FForm.Height;
           FOldWidth := FForm.Width;
           FOldOnResize := FForm.OnResize ;
           FForm.OnResize := FormResize ;
      end;
     end ;
end ;

Merci d'avance
Patrick