Jak mogę stworzyć dynamicznie obiekt TImage i wyświetlić go wewnątrz innego TImage znajdującego się w innym formularzu? O ile stworzenie dynamiczne obiektu na tym samym formularzu nie sprawia mi trudności, o tyle z innym już sobie nie radzę.
Próbowałem w ten sposób:
KOD cpp: UKRYJ
int petla1 = 1;
while (petla1 <= 2050)
{
if (pewn_zmienna == tyle_ile_ma_być) // IF może się zgadzać tylko JEDEN RAZ
{
ImagePlane[petla1] = new TImage(Form1->ImageMap);
ImagePlane[petla1]->Name = image_name; // zmienna wcześniej zadeklarowana
ImagePlane[petla1]->Parent = this; // albo próbowałem też zamiast 'this' wpisać Form1, bo przy próbie wpisania 'Form1->ImageMap;' albo same 'ImageMap' wyskakuje błąd.
ImagePlane[petla1]->Height = 20;
ImagePlane[petla1]->Width = 20;
ImagePlane[petla1]->Picture->LoadFromFile(GetCurrentDir() + "\\airplane_green.bmp");
ImagePlane[petla1]->Visible = true;
ImagePlane[petla1]->Enabled = true;
ImagePlane[petla1]->Left = 50;
ImagePlane[petla1]->Top = 50;
break; // żeby nie powstało więcej razy ImagePlane niż raz. Zakładam, że if +break jest poprawnie
}
petla += 1;
}
while (petla1 <= 2050)
{
if (pewn_zmienna == tyle_ile_ma_być) // IF może się zgadzać tylko JEDEN RAZ
{
ImagePlane[petla1] = new TImage(Form1->ImageMap);
ImagePlane[petla1]->Name = image_name; // zmienna wcześniej zadeklarowana
ImagePlane[petla1]->Parent = this; // albo próbowałem też zamiast 'this' wpisać Form1, bo przy próbie wpisania 'Form1->ImageMap;' albo same 'ImageMap' wyskakuje błąd.
ImagePlane[petla1]->Height = 20;
ImagePlane[petla1]->Width = 20;
ImagePlane[petla1]->Picture->LoadFromFile(GetCurrentDir() + "\\airplane_green.bmp");
ImagePlane[petla1]->Visible = true;
ImagePlane[petla1]->Enabled = true;
ImagePlane[petla1]->Left = 50;
ImagePlane[petla1]->Top = 50;
break; // żeby nie powstało więcej razy ImagePlane niż raz. Zakładam, że if +break jest poprawnie
}
petla += 1;
}
Dodam tylko, że ImageMap znajduje się NA ScrollBox1, aby obraz miał paski przewijania, a ScrollBox1 znajduje się już bezpośrednio na Form1.
Stworzenie obiektu następuje poprzez naciśnięcie buttona znajdującego się na Form4 (a Form4 wywołuje się buttonem z Form1, więc na pewno są powiązane, bo się pokazuje Form4). Jest to w ogóle możliwe?
Dodam jeszcze, że ten kod:
KOD cpp: UKRYJ
TImage *ImagePlane[2050];
znajduje się w Unit1.h ale kod tworzenia ImagePlane próbuję wywołać z Form4 (czyli Unit4.cpp).