|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Nov 2002
Messaggi: 6290
|
Funzione globale in C++
Con il Borland C++ Builder 6 sto sviluppando un programma che crea e risolve labirinti. E' un labirinto 8x8 . Ho associato ad ogni bottone del labirinto una funzione che chiama una procedura, del tipo:
void __fastcall TForm1::Button1Click(TObject *Sender) { genera_iniziofine(array_bottoni,1,iniziofine); } Il problema è che ho 64 funzioni di questo tipo nel codice, ognuna gestisce il click del bottone. Siccome l'evento che scatena è lo stesso per tutti i bottoni, mi chiedevo se c'e' il modo di fare una funzione globale che gestisce tutti e 64 i bottoni, in modo che gli passo il bottone che genera l'evento e da li' richiama la procedura. Un altro problema che ho incontrato è il seguente: quando trovo il percorso che risolve il labirinto, gli dico di cambiare colore ai bottoni facenti parte del percorso nel seguente modo: Button1->Brush->Color=clBlue; ma non cambia il colore, sembra che alcune proprietà dei bottoni siano bloccate. Lo stesso lo fa se voglio cambiare l'aspetto del puntatore del mouse. Ultima modifica di Unrue : 14-04-2006 alle 15:32. |
|
|
|
|
|
#2 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
non serve che la funzione sia globale: basta che crei l'event handler per il primo bottone e poi lo assegni anche a tutti gli altri nell'Object Inspector.
|
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Nov 2002
Messaggi: 6290
|
Quote:
|
|
|
|
|
|
|
#4 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
usa Sender, serve a quello
castalo a TButton, o quello che è. |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2780
|
Non so come funziona nel c++, xò se è come nel VB si deve dare a tutti i bottoni lo stesso nome, in questo modo si crea un array di bottoni, identificabili da un indice (index), quando parte l'evento associato al click basta controllare l'index del tasto premuto e agire di conseguenza.
X quanto riguarda il colore del bottone, sempre se è come nel VB, c'è una proprietà del bottone (in VB si kiama "style") che indica se il bottone è "Standard" o ha una grafica. Mettendo "Graphical" puoi cambiare il colore. |
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Nov 2002
Messaggi: 6290
|
Quote:
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:43.



















