Mega Code Archive

 
Categories / Delphi / Forms
 

Zoom the content of a stringgrid

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