Tworzenie komponentów

0

Jak w czasie trwanie progrmu stworzyc jakis komponent np : TIamge
Np: po nacisnięciu bbuttona

0

TImage * img = new TImage(this);
img->Parent = this;

0

a jak stworzyć komponet o nazwie która zostanie wpisana w TEdit

0

TImage * img = new TImage(this);
img->Parent = this;
img->Name = Edit1->Text;

0

a jak zrobić coś takiego :
1.W Edit1 wpisuje 5
2.W Edit2 wpisuje 3
3.po naciśnięciu buttona tworzy sie 15 Imag1 (3 poziomo ,5 w pionie
[tak jak wpisane w Edit-ach]) i komponety te stykały by sie rogami.
Nazwy komponetów były by numerami .

0

void WstawObrazki()
{
int TopPos = 0, LeftPos = 0; // wspolrzedne pierwszego obrazka

for (int i = 1; i Text.ToInt(); i++) // ilosc wierszy
{
for(int j = 1; j Text.ToInt(); j++) // ilosc kolumn
{
TImage *img = new TImage(Form1);
img->Parent = Form1; // obrazki beda ulozone na Form1
// nazwa obrazka to 'I + numer'
img->Name = "I" + (i - 1)*Edit2->Text.ToInt() + j;
img->Width = 30; // ustawiamy szerokosc obrazka
img->Height = 30; // ...wysokosc...
img->Top = TopPos; //pozycja w pionie
img->Left = LeftPos; // pozycja w poziomie
LeftPos += img->Width; // zwiekszamy pozycje w poziomie
if (j == Edit2->Text.ToInt()) // jesli koniec wiersza to:
TopPos += img->Height; // zwiekszamy pozycje w pionie
}
LeftPos = 0; // pozycje w poziomie ustawiamy na 0 (nowy wiersz)
}
}

Powinno dzialac. Jesli nie to pewnie jakis szczegol mi umknal.
Nazwy komponentow nie moga zaczynac sie od cyfr!! Musisz wstawic cos na poczatek. Ja wstawilem w tym przykladzie 'I'.

1 użytkowników online, w tym zalogowanych: 0, gości: 1