A StringGrid komponens OnDrawCell eseményén keresztül lehetőségünk van szabályozni az egyes cellákban megjelenő szövegek megjelenését. Akár a Grid összes cellája más formátummal jelenhet meg. Állíthatjuk a megjelenő szöveg betűtípusát, színét, hátterét, stb.
Készítünk egy eljárást, amely a megadott cellában szereplő szöveget elforgatja 90 fokkal.
procedure RotateText(Grid: TStringGrid; ACol, ARow: Integer; Rect: TRect;
FontName: string; FontSize: Integer; TextColor: TColor; Alignment: TAlignment);
A paraméterek sorrendben: StringGrid objektum, Oszlop index, sor index, az adott cella területe, a forgatásnál használt betűtípus, betűméret, szín, a szöveg vízszintes igazítása.
Mivel a forgatást 90 fokkal végezzük, ügyelnünk kell arra, hogy a megadott betű mérete ne legyen nagyobb a cella szélességénél.
A paraméterként kapott Grid objektum Canvas tulajdonságát használjuk fel arra, hogy az adott cellában szereplő szöveget grafikus úton jelenítsük meg.
A betűtípus elforgatásának trükkje abból áll, hogy létre kell hoznunk egy új font-ot. Ezt úgy tesszük, hogy a GetObject-el lekérdezzük az aktuális adatait egy TLogFont struktúrába, majd ezen módosítunk. Az lfEscapement mezőben adható meg a font szöge tized fokokban.
Az új betűtípus létrehozását a CreateFontIndirect végzi el. Utána már csak a kirajzolás és végül a létrehozott új font törlése marad.
A szöveg kirajzolását háromfelé bontjuk, az igazításoknak megfelelően.