dynamiczne tworzenie komponentow i praca z nimi - pomocy

0

Witam,
Mam taki problem, w programie tworzę dynamicznie kilka paneli(TPanel), na każdym z nich umieszczam TImage na całej powierzchni panelu. Rysuje sobie po Image, następnie chcę coś jeszcze "domalować" na tym panelu. Chcę to zrobić na nowym TImage bo chcę temu "domalowanemu" fragmentowi przypisać pewne funkcji i najłatwiej będzie mi to zrobić jak będzie to nowe Image.
Paneli jest kilka a każdy z nich wypełniony w całości Timage więc nie można kliknąć w Panel da się tylko w TImage. Problem mój polega na tym że po kliknięciu w jeden z Timage umiem "zidentyfikować" z którego TImage pochodzi "zgłoszenie" ale nie potrafię odczytać na jakim panelu znajduje się dane TImage. Jest mi to potrzebne bo chcę określić na którym Panelu będzie tworzony nowy TImage.

Nie wiem czy wystarczająco zrozumiale opisałem temat, mam nadzieję że tak. Proszę o pomoc...
Z góry dzięki...

0
crisper86 napisał(a)

Problem mój polega na tym że po kliknięciu w jeden z Timage umiem "zidentyfikować" z którego TImage pochodzi "zgłoszenie" ale nie potrafię odczytać na jakim panelu znajduje się dane TImage.

TImage (i generalnie kazdy komponent) ma cos takiego jak Parent - rodzic. wskazuje on, na czym "lezy" komponent.
Parent jest typu TWinControl a nie TPanel, wiec trzeba go zrzutowac na ten typ:

TPanel(Image.Parent);

lub

(Image.Parent as TPanel);

uczywiscie takie rzutowanie mozemy wykonac tylko wtedy, gdy mamy pewnosc ze Image lezy na pewno na TPanel a nie np na TForm.

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