C++ builder odwolanie sie do obiektów

0

Na początek: Używam C++ Builder 6,
Opcja 1
W jaki sposób mogę tworząc obiekt klasy utworzonej przeze mnie, jednocześnie tworzyć obiekt klasy odpowiedzialnej za tworzenie obrazku (bodajże TImage), ustawić dokładnie jego pozycję i obrazek?
Opcja 2
Mogę stworzyć obrazki już wcześniej, poustawiać je na miejsce i jako obrazek wstawić całe białe pole, ale potem wywołując konstruktor, zakładając że mam np. 20 obrazków które chcę zedytować wszystkie są ponazywane podobnie (card1, card2, ... , card20) w jaki sposób mogę się do nich odwołać?

0

Jednocześnie - to tylko w wątkach ale odradzam tych zabaw.
Wytłumacz czemu to ma być jednocześnie?

Można wyszukiwać wg nazwy, FindComponent("card1") ale to bez sensu.
Możesz w klasie stworzyć zwykła tablicę, vector lub mapę zaś w konstruktorze - wypełnić.

TImage *tb[20]; //  w klasie
tb[0]=card1; // w konstruktorze
tb[1]=card2;
...
tb[19]=card20;

Można też tworzyć je dynamicznie:

tb[0]=new TImage(this);
tb[0]->BounsRect=TRect(Lf,Up,Rt,Bt);
tb[0]->Parent=this;
0

Przez jednocześnie chodziło mi o to, że tworząc obiekt klasy A, chciałbym aby jego odwzorowaniem był pojawiający się obiekt w postaci obrazka na ekranie. W klasie A byłyby zawarte dodatkowe informacje których nie mogę zawrzeć w obiekcie TImage. Może jest jakaś prostsza droga której nie widzę?

0

No to dodaj temu obiektowi pole TImage *img; zainicjalizuj go w konstruktorze swego obiektu (potrzebujesz this formatki przekazany do konstruktora).
Ma sens też dodać do img->Tag=reinterpret_cast<int>(this); gdzie this to właśnie ta klasa A.
Wtedy np po kliknięciu w obrazek łatwo można znaleźć odpowiadający mu obiekt A.

0

Dokładnie o to mi chodziło, aż wstyd że na to nie wpadłem. Dzięki!

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