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
| procedure RealignForm(F: TScrollingWinControl);
var
M, D : Integer;
i, j : Integer;
begin
M := Screen.Width; // multiplicateur = définition actuelle de l'écran
D := 800; // diviseu r = définition de l'écran à la conception
F.ScaleBy(M, D);
for i:=0 to Pred(F.ComponentCount) do
begin
if (F.Components[i] is TStringGrid) then
begin
with (F.Components[i] as TStringGrid) do
begin
for j:=0 to ColCount-1 do
ColWidths[j] := MulDiv(ColWidths[j] , M, D);
for j:=0 to RowCount-1 do
RowHeights[j]:= MulDiv(RowHeights[j], M, D);
end;
end
else
if (F.Components[i] is TDbGrid) then
begin
with (F.Components[i] as TDbGrid) do
for j:=0 to Columns.Count-1 do
begin
Columns.Items[j].Width := MulDiv(Columns.Items[j].Width, M, D);
Columns.Items[j].Title.Font := Columns.Items[j].Font;
end;
end;
...
end;
F.Realign;
end; |
Partager