Ĺadny brzuch
mam tablice wskaźników obiektów TImage
TImage *tabImage[50];tworze dynamicznie kilka komponentów TImage i wskaźniki do nich umieszczam w tej tablicy. potrzebuje zdarzenia onclick i je sobie tworze dynamicznie tabImage[nr]->onclick=ImageKlik; //a wygląda ono tak void __fastcall TForm1::ImageKlik(TObject *Sender) { int numer; numer = Sender->Tag; }
teraz pojawia sie problem, wyskakuje error[C++ Error] Unit1.cpp(339): E2316 'Tag' is not a member of 'TObject'co zrobić żeby mozna było odczytać właściwości z tych dynamicznych komponentów bo teoretycznie odnosze sie do obiektu TImage
(sender as timage)->tag
//ups: ale to chyba w delphi zadziała...
możesz normalnie rzutować sender na timage i będzie działało
Użytkownik Radek edytował ten post 26 styczeń 2007, 18:16
znalazłem taki przykład na grupach dyskusyjnych
TImage *img = dynamic_cast<TImage *>(Sender); if (img != NULL) img->Top = img->Top + 5;po kliknięciu powinien obrazek sie obniżyć o 5 pikseli ale sie nie przesuwa
znalazłem taki przykład na grupach dyskusyjnych
TImage *img = dynamic_cast<TImage *>(Sender); if (img != NULL) img->Top = img->Top + 5;po kliknięciu powinien obrazek sie obniżyć o 5 pikseli ale sie nie przesuwa
Na pewno? Sprawdz nowe polozenie i sproboj przemalowac obrazek i forme - moze sie nie odswierza widok automatycznie z jakiegos dziwnego powodu ;).
zauważyłem że nawet mi nie wywołuje tej funkcji, nie wiem czemu.
w wywołaniu dałem tylko jakiś stały kod np. zmiana tekstu w labelu i nic
//EDIT
dobra juz działa, poprostu po dynamicznym tworzeniu TImaga jeszcze tworzyłem na nim taka otoczke z TBevel. zmieniłem kolejność tworzenia tych komponentów i już wszystko gra
EOT
Użytkownik strzelba edytował ten post 27 styczeń 2007, 09:54
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
TImage *tabImage[50];tworze dynamicznie kilka komponentów TImage i wskaźniki do nich umieszczam w tej tablicy. potrzebuje zdarzenia onclick i je sobie tworze dynamicznie tabImage[nr]->onclick=ImageKlik; //a wygląda ono tak void __fastcall TForm1::ImageKlik(TObject *Sender) { int numer; numer = Sender->Tag; }
teraz pojawia sie problem, wyskakuje error[C++ Error] Unit1.cpp(339): E2316 'Tag' is not a member of 'TObject'co zrobić żeby mozna było odczytać właściwości z tych dynamicznych komponentów bo teoretycznie odnosze sie do obiektu TImage
(sender as timage)->tag
//ups: ale to chyba w delphi zadziała...
możesz normalnie rzutować sender na timage i będzie działało
Użytkownik Radek edytował ten post 26 styczeń 2007, 18:16
znalazłem taki przykład na grupach dyskusyjnych
TImage *img = dynamic_cast<TImage *>(Sender); if (img != NULL) img->Top = img->Top + 5;po kliknięciu powinien obrazek sie obniżyć o 5 pikseli ale sie nie przesuwa
znalazłem taki przykład na grupach dyskusyjnych
TImage *img = dynamic_cast<TImage *>(Sender); if (img != NULL) img->Top = img->Top + 5;po kliknięciu powinien obrazek sie obniżyć o 5 pikseli ale sie nie przesuwa
Na pewno? Sprawdz nowe polozenie i sproboj przemalowac obrazek i forme - moze sie nie odswierza widok automatycznie z jakiegos dziwnego powodu ;).
zauważyłem że nawet mi nie wywołuje tej funkcji, nie wiem czemu.
w wywołaniu dałem tylko jakiś stały kod np. zmiana tekstu w labelu i nic
//EDIT
dobra juz działa, poprostu po dynamicznym tworzeniu TImaga jeszcze tworzyłem na nim taka otoczke z TBevel. zmieniłem kolejność tworzenia tych komponentów i już wszystko gra
EOT
Użytkownik strzelba edytował ten post 27 styczeń 2007, 09:54