Sziasztok!
Az a probléma bukkant fel programfejlesztés közben, hogy adott egy ScrollBox, amibe az
OpenPictureDialog által megnyitott képeket szeretném elhelyezni, de nem sikerül, mert nem tudom, hogy ezen képekenek hol és hogyan adhatom meg szülőnek a ScrollBox-ot.
Tehát a TForm1.FormCreate-ben van ez a kód a ScrollBox létrehozására:
forrascsempelista:=TSCrollBox.Create(self);
forrascsempelista.Left:=0;
forrascsempelista.Top:=gombKepAd.height+8;
forrascsempelista.width:=(width div 2)+4;
forrascsempelista.height:=height-gombKepAd.height-8;
aztán a képek megnyitása:
procedure TForm1.gombKepAdClick(Sender: TObject);
begin
if (kepMegnyito.Execute) and (forrascsempedb<255) then
begin
csempeforraskep:=TPicture.Create;
csempeforraskep.LoadFromFile(kepMegnyito.FileName);
//
setlength(csempe,forrascsempedb+1);
csempe[forrascsempedb]:=Tcsempek.Create;
csempe[forrascsempedb].xhely:=forrascsempelista.Left+2;
if forrascsempedb=0 then
csempe[forrascsempedb].yhely:=forrascsempelista.Top+2
else
csempe[forrascsempedb].yhely:=csempe[forrascsempedb-1].yhely+csempe[forrascsempedb-1].kepe.height+2; csempe[forrascsempedb].kepe.width:=csempeforraskep.width;
csempe[forrascsempedb].kepe.height:=csempeforraskep.height; csempe[forrascsempedb].kepe.canvas.copyrect(Rect(0,0,csempe[forrascsempedb].kepe.width,csempe[forrascsempedb].kepe.height),csempeforraskep.bitmap.canvas,Rect(0,0,csempeforraskep.width,csempeforraskep.height));
inc(forrascsempedb);
freeandnil(csempeforraskep);
míg a Tcsempek osztály leírása:
type Tcsempek = class(TObject)
private
public
kepe: TBitmap;
xhely,yhely,nezetx,nezety,kepszel,kepmag,nezetszel,nezetmag: word;
end;
És ezeknek a csempeképeknek kellene valahogy szülőnek beállítanom a ScrollBox-ot, hogy az tartalmazza őket és megjelenjenek a gördítősávok is benne - legalábbis ennyit sikerült eddig kiböngésznem az internetről, hogy a szülőként való beállítása elég kellene, hogy legyen ahhoz, hogy beleigazítódjanak egymás alá a megnyitott képek és görgetni lehessen őket, ha sokan vannak.
De sem ez:
csempe[forrascsempedb].parent:=forrascsempelista;
sem ez:
csempe[forrascsempedb].kepe.parent:=forrascsempelista;
nem jó, hiszen
parent tulajdonság ezeknél nem létezik.
De akkor hogyan oldható meg ez a kérdés? Van esetleg van a
parent lehetőség alkalmazásán kívül is valami megoldása?