...zoom the content of a Stringgrid?

Author: André Fritzsche
Homepage: http://www.sv-granschuetz.de

Category: Forms

{
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.

 

printed from
www.swissdelphicenter.ch
developers knowledge base