HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

StringGrid-ben lévő szöveg elforgatása 90 fokkal


Példaprogram letöltése

3785 bájt

Ebben a példában azt nézzük meg, hogy egy StringGrid komponensben miként jeleníthetjük meg az adott cellák tartalmát, 90 fokkal elforgatva.

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.

Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2003 évkönyv 280. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |