You are on page 1of 2

StringGrid és DrawGrid komponensek készítette: Paár Vilmos

StringGid és a DrawGrid komponensek


A TStringGrid és a TDrawGrid komponens a Delphi Additional komponens-csoportjában
található:

A TStringGrid ikonja: , és neve alapján is kitalálható, hogy szöveges táblázatot lehet


létrehozni a segítségével. Testvére, a TDawGrid szintén táblázat létrehozásához lehet
nagy segítség, de ez utóbbival nemcsak szöveget, hanem grafikát is elhelyezhetünk az egyes
cellákban. A két komponenst azért érdemes együtt taglalni, mert tulajdonságaik, eseményeik
nagyon hasonlóan működnek egymáshoz. Természetesen mint minden Delphi komponensnek
ezeknek is sok-sok tulajdonsága, eseménye létezik, de jó néhány bemutatása szükségtelen.
Egyrészt mert teljesen általános, sok más komponens esetében is előforduló tulajdonságokkal
is operálhatunk pl.: az Align tulajdonság (az elhelyezés a form egészében), vagy a Ctl3D
tulajdonság (3D-s megjelenés ki-, bekapcsolása). Másrészt vannak olyan tulajdonságok,
melyek valódi értelme futás időben jön elő pl.: a Cell tulajdonság, mely kettős funkcióval bír:
lehetővé teszi a cellákba történő írást, és hozzáférést biztosít a cellákban található adatokhoz.

Legfontosabb tulajdonságok:

A ColCount és a RawCount tulajdonságokkal határozható meg a táblázat oszlopainak, és


sorainak számát. Alapértelmezésben mindkettő 5-ön áll, de értékük mind az Object Inspector-
ban, mind a programban megváltoztatható.

A DefaultColWidth és a DefaultRowHeight felelősek az oszlopok szélességéért ill. a sorok


magasságáért, míg a Height és Width tulajdonságok a táblázat egészének magasságáért és
szélességéért felelősek.

FixedCols, FixedRows: táblázatok használatakor gyakran fordul elő, hogy azt szeretnénk, ha
bizonyos cellákat állandó, konstans információk megjelenítésére foglalhatnánk le. Például
szükség lehet arra, hogy az oszlopok fejlécei állandóan láthatóak maradjanak függetlenül
attól, hogy a felhasználó a munkalap melyik részével dolgozik. A rögzített oszlopok és sorok
mindig szürkék, és a táblázat bal, ill. felső szélén találhatók. A FixedColor tulajdonság állítja
be azt a színt, amelyet a rögzített cellák kapnak.

Ez a tulajdonság határozza meg a cellákat elválasztó vonalak vastagságát. Nagyobb értékek


vastagabb vonalat jelentenek, míg a 0-s értéknél törlődnek a cellák közti vonalak. (Így is
láthatóak maradnak a cellahatárok, azokat a cellák körüli fehér keret jelzi majd.)

Ez a tulajdonságcsoport 15 logikai (True/False) értéket rejt magában. Ezek főleg a felhasználó


elé kerülő táblázat megjelenési formájáért és annak futási időben történő alakíthatóságáért

1/2
StringGrid és DrawGrid komponensek készítette: Paár Vilmos

felelősek. Ha például a goEditing altulajdonságot True-ra állítjuk, a felhasználó


megváltoztathatja a cellák tartalmát. Vagy például a goColMoving és goRowMoving
altulajdonságok True értékre állításával a felhasználónak lehetősége nyílik az oszlopok
szélességének ill. sorok magasságának megváltoztatására.

Legfontosabb események:

Az OnSelectCell eseményt az váltja ki, ha a felhasználó kijelöli valamelyik cellát.

Az OnDrawCell esemény a másik fontos esemény lehet programozáskor, hisz a cellába való
írás indítja be.

Végül két kis példaprogram:

procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,


ARow: Integer; var CanSelect: Boolean);
begin
CanSelect := (StringGrid1.Cells[ACol,ARow]='');
if CanSelect then
Edit1.Text:='Ez üres cella!'
else
Edit1.Text:='Nem üres cella!';
end;

Ez az eljárás a OnSelectCell eseményt használja, segítségével megállapítható, hogy a kijelölt


cella üres-e, vagy sem. Ezt közli is a felhasználóval jelen esetben egy Edit mezőben.

procedure TForm1.Button1Click(Sender: TObject);


begin
StringGrid1.Cells[1,3]:='Szöveg';
end;

Ez az eljárás viszont egy Button OnClick eseménye. A felhasználó a gombra kattintással


'Szöveg'-et tesz jelen esetben az első oszlop és harmadik sor által keresztezett cellába.

2/2

You might also like