{
Stringgrid zoomen:

benötigt wird ein Formular mit einem Stringgrid namens grid und zwei TBitBtn.

der Funktion gridZoom(Fact) wird ein Realzahlenfaktor übergeben, der den Zoomgrad angibt:
1.0 - keine Veränderung
0.9 - Kleiner
1.1 - Größer

Diese Funktion multipliziert nun zu Breite und Höhe der jeweiligen Spalten / Zeilen
den angegebenen Faktor.
Die Schriftgröße wird anhand der Zeilenhöhe der Zeile 0 bestimmt (*0.8).
Zu empfehlen ist hier eine TrueType-Schriftart (z.Bsp. Arial), da sonnst die Schrift
sehr eckig wirkt.
}

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Grids, StdCtrls, Buttons;

type
  TForm1 = class(TForm)
    grid: TStringGrid;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
  private
    { Private-Deklarationen }
    procedure gridZoom(FFact: Real);
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.gridZoom(FFact: Real);
var 
  x: Integer;
begin
  for x := 0 to grid.colcount - 1 do
    grid.colwidths[x] := round(grid.colwidths[x] * FFact);

  for x := 0 to grid.RowCount - 1 do
    grid.rowheights[x] := round(grid.rowheights[x] * FFact);

  grid.Font.Size := round(grid.rowheights[0] * 0.65);
end;

//Grösser:
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  gridZoom(1.1);
end;

//Kleiner:
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
  gridZoom(0.9);
end;

end.