[ jankie88 @ 09.04.2004. 14:51 ] @
nov sam u delphy-ju i hteo bih nesto da znam: kako se u delphy-ju prave array-ovi npr. slika ili dugmica? |
[ jankie88 @ 09.04.2004. 14:51 ] @
[ morlic @ 10.04.2004. 10:54 ] @
Za slike mozes koristiti TImageList sa palete Win32. Tu mozes staviti seriju istih slika i iscrtavati ih gde zelis preko odredjenog metoda. To je jedan pristup. Drugi ptistup je da napravis instancu klase TObjectList i da u njoj drzis pokazivace na rucno kreirane instance TImage klase za slike i TButton za dugmice. Ako si pocetnik ovo bas i nije jednostavno zbog nekoliko problema. Sta konkretno zelis da resis? Mozda ima boljeg resenja (jednostavnijeg)
[ Bojan Kopanja @ 10.04.2004. 15:39 ] @
Code: For C1 := 1 to 10 Do Begin Dugme[C1] := TButton.Create(Self); Dugme[C1].Parent := Form1; // Ili kako ti se vec zove forma // Ovde dodas Button.Left, Button.Top, i sta ti vec drugo padne na pamet end; To ti je primer za pravljenje Dugmadi ![]() [ morlic @ 11.04.2004. 10:27 ] @
Dodajem da na kraju koriscenja moras napisati i kod za oslobadjanje memorije:
Code: For C1 := 1 to 10 Do Begin Dugme[C1].Free; end; A prilikom kreiranja postavlja se pitanja koja kontrola je roditelj dugmetu tj. da li ce stajati direktno na formi ili na npr. panelu. Pogledaj u help-u sta pise za TButton.Create(); [ sojic @ 08.09.2005. 19:14 ] @
Trazio sam to sto mi treba, pa naleteo na ovo (mnogo slicno).
Kako da kreiram vise instance-a jednog objekta? Recimo imam neki panel, u njega stavim x drugih komponenta i sl. Napravim kako hocu da izgleda. Stavim align=top i hocu da kreiram array od istih takvih panela. Evo kako sam pokusao, nije to to, ali ukapiracete sta hocu. Code: var I: integer; begin for i:=1 to 16 do begin Kabina[i]:=TAdvPanel.Create(self); Kabina[i].:=KabinaSource; // OVO MI TREBA Kabina[i].Name:='Kabina'+IntToStr(i); Kabina[i].Parent:=MainPanel; Kabina[i].Visible:=true; end; Pokusao sam nekoliko varijacija, ali nece. Da kreiram novi panel nije problem, ali problem je da kopiram vise put stari panel. [ Nemanja Avramović @ 08.09.2005. 23:32 ] @
a jesi definisao:
Code: var Kabina: array[1..16] of TAdvPanel; btw, ovo: Code: Kabina[i].:=KabinaSource; ne razumem... sta je KabinaSource? [Ovu poruku je menjao JaHvram dana 09.09.2005. u 00:34 GMT+1] [ sojic @ 09.09.2005. 06:48 ] @
Da, jesam definirao Kabina kao array of TAdvPanel.
KabinaSource je jedan TAdvPanel, sa x komponenta u njemu (DBGrid, Drugi panel sa labele, nekoliko tastera....). Znaci hocu da kreiram nove panele sa svih objekta i istih svojstva kao originalni (KabinaSource) panel. [ Nemanja Avramović @ 09.09.2005. 11:33 ] @
Eh pa ne znam da li ce to moci tako lako... mozda moze da se napravi jedna petlja koja ce pokupiti sve objekte sa source panela pa svaki "iskopirati" na novonapravljeni panel.
[ sojic @ 22.09.2005. 10:27 ] @
Rešio sam problem, pa da podelim iskustvo.
Otvorim novi form. U njega ubacim panel i sve sto mi treba u njega. Kad završim sve, Component->Create component template i dobijem panel sa sve unutra. Ali ipak nije to što mi treba. Opet ne mogu ON THE FLY da pravim kopije. Jos uvek nova komponenta je TPanel. [Ovu poruku je menjao sojic dana 22.09.2005. u 12:12 GMT+1] Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|