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);