...in einem Stringgrid zoomen?
Autor: André Fritzsche
{
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