• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Jak w c++ builder w kodzie jednego obiektu zmienić funkcję onclick innego obiektu?

Object Storage Arubacloud
0 głosów
352 wizyt
pytanie zadane 25 kwietnia 2016 w C i C++ przez rafiti12 Początkujący (250 p.)
Załóżmy, że mam 3 obiekty (a1,a2,a3). Chciałbym żeby wyglądało to mniej więcej tak: naciśnięcie obiektu a1 sprawia, że naciśnięcie obiektu a3 zmienia kolor tła na żółty, a naciśnięcie obiektu a2 sprawia, że naciśnięcie obiektu a3 zmienia kolor tła na zielony. Jeśli da się coś takiego napisać to bardzo prosiłbym o wzór jak ma wyglądać kod obiektu a1 z drobnym wytłumaczeniem :D

1 odpowiedź

+1 głos
odpowiedź 26 kwietnia 2016 przez Tomekku Bywalec (2,830 p.)
Mam taki pomysł, że możesz zrobić osobną funkcję zmieniającą tło na żłóte i osobną na zmieniającą na zielony i do obiektu a1 dodać znienną logiczną (bool) ustawiającą się na prawdę, gdy klikniesz a1, a w obiekcie a2 zrobić prostego if'a sprawdzającego, czy jest kliknięty (prawda), czy nie (fałsz) i odpowiednio wywołuje funkcje zmieniającą na żółto lub na zielono :D
komentarz 26 kwietnia 2016 przez rafiti12 Początkujący (250 p.)
Myślałem nad czym podobnym, problem w tym, że przy większej ilości obiektów zrobi się mnóstwo if-ów w ostatnim, a to nie wygląda ładnie i instynktownie podpowiada mi, że jest "ładniejszy" sposób :P Nie ma?
komentarz 26 kwietnia 2016 przez Tomekku Bywalec (2,830 p.)
a może coś takiego, że załóżmy, że obiekty a1 i a2 to są obiekty "opcyjne", a obiekt a3 jest takim jakby "submitem". obiekty a1 i a2 dodajesz do kontenera obiektów "opcyjnych" i każdy taki obiekt ma zmienną np. bool clicked; która zmienia swoje wartości podczas klikania na nie i metodę, która przechowuje to, co powinna zrobić po kliknięciu np.: void zmienTlo(). Za to w a3 (tym "submicie") jest metoda, która przeszukuje cały kontener obiektów "opcyjnych" i sprawdza w którym jest True i wartość wywołuje na tym obiekcie metodę zmienTlo().

 

Mam nadzieję, że łapiesz o co mi chodzi :D
komentarz 27 kwietnia 2016 przez rafiti12 Początkujący (250 p.)
Chyba ogarniam tylko czy jak oba obiekty będą kliknięte to a3 ogarnie, że chodzi o ten kliknięty jako ostatni?
komentarz 27 kwietnia 2016 przez Tomekku Bywalec (2,830 p.)
Generalnie też powinieneś zrobić tak, że jak naciśniesz któryś z opcyjnych to ten kliknięty ustawiasz na True, a resztę na False

Podobne pytania

0 głosów
2 odpowiedzi 286 wizyt
pytanie zadane 8 marca 2018 w JavaScript przez Yashe Dyskutant (7,720 p.)
+1 głos
2 odpowiedzi 374 wizyt
0 głosów
1 odpowiedź 149 wizyt

92,554 zapytań

141,399 odpowiedzi

319,535 komentarzy

61,938 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...