Hogyan helyezzünk el képet egy táblázat cellába stringgrid delphi

Hogyan helyezz el egy képet egy cellába a StringGrid táblában?


A StringGrid összetevő nemcsak szöveget, hanem grafikát is elhelyezhet a celláiban. Ha a StringGrid tábla cellájában egy képet vagy egy másik képet helyez el, akkor a StringGrid összetevő Canvas tulajdonsága engedélyezett.

A Vászon tulajdonság egy olyan módszerrel jeleníthet meg egy adott téglalap alakú grafikát:

Canvas.StretchDrav (const Rect: TRect; Grafikus: TGraphic);

Ez a módszer "beállítja" a rajz méretét a téglalap nagyságára, nyújtja vagy összenyomja vízszintesen és függőlegesen, és nem feltétlenül arányosan. Ha a téglalap dimenziói és a kép méretei nem hasonlóak, akkor a minta torzul.

eljárás TForm1.StringGrid1DrawCell (Feladó: TObject;
AcOI. Arow. integer; Téglalap. TRect;
Állapot: TGridDrawState);
kezdődik

var Kép: TPicture; // Globális változó
kezdődik
Kép: = TPicture.Create;
Picture.LoadFromFile ('FileName');
StringGrid1.ColWidths [1]: = Kép szélesség;
StringGrid1.RowHeights [1]: = Kép.Height;
végén;

Ha JPEG képet kellene letölteni, a JPEG-modult csatlakoztatni kell a felhasználási listához.

Ha a kép túl nagy, be kell állítania a cellaméretet néhány hasonlósági tényezővel:

StringGrid1.ColWidths [1]: = Picture.Width div n;
StringGrid1.RowHeights [1]: = Kép.Height div n;

Így a kép egy koordinátával ellátott cellába (1, 1) kerül kiírásra az OnDrawCell eseménykezelőre:

a StringGrid1 segítségével
ha ((ACol = 1) és (ARow = 1)) akkor
Canvas.StretchDraw (Rect, Picture.Graphic);

Kapcsolódó cikkek