Prosty problem

0

Zastanawiam sie nad taka rzecza i wiem, że rozwiazanie musi byc banalnie proste ale jakos nie moge wymyslec :) Jak sprawdzic co wywolalo jakas funkcje??czyli np. stworzylem dynamicznie 20 obiektow(TImage)

TImage *my = new TImage[20];
for(int i = 0; i <7; i++)
{
my[i] = new TImage(this);
my[i]->Parent = Panel1;
my[i]->Picture->LoadFromFile("jakas tam sciezka");
my[i]->OnClick=ImageClick;
}

chce stworzyc wywolanie takie aby po nacisnieciu obiektu(obrazek) stal sie niewidoczny) czyli:
void __fastcall TForm1::ImageClick(TObject *Sender)
{
my->Visible=false; //i tu brakuje rozroznienia ktory image wywolal funkcje
}
ot caly problem. Tyle pisania o nic :) Jak to zrobić??

0

C++ + GUI to nie moja ort!, ale wygląda na to, że TObject *Sender to obiekt, który kliknięto. Czyli zrzutuj sobie Sender na TImage i po sprawie.

TImage *dupa = (TImage *) Sender;
dupa->zrobCos();

co złego to nie ja ;>

pzdr,

y.

0

A mogłem napisać, że nie moja 'działka' zamiast 'broszki' ;> Dzięki za ort! ;>

pzdr,

y.

0

Sender to właśnie wskaźnik do obiektu, który wywołał zdarzenie. Do obiektu możesz się odnieść poprzez dynamic_cast. Jeżeli nie będziesz wiedział jak tego dokonać, to najpierw przestudiuj stronę www.borland.nq.pl a potem mail'me intol(at)o2.pl

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