Graphique c: affecter une action aux boutons

Signaler
Messages postés
128
Date d'inscription
mardi 11 janvier 2005
Statut
Membre
Dernière intervention
19 avril 2007
-
Messages postés
65
Date d'inscription
dimanche 8 janvier 2006
Statut
Membre
Dernière intervention
27 février 2011
-
salut a tous
j'utilise tc 3.0 sous windows avec la bibliotheque graphics.h seulement, j'ai crée des bouton et je veux savoir comment affecter à un bouton par exemple une action : exécution d'une instruction ou une fonction..
Merci d'avance

4 réponses

Messages postés
65
Date d'inscription
dimanche 8 janvier 2006
Statut
Membre
Dernière intervention
27 février 2011
1
Bonjour
Content de voir que je ne suis pas le seul a utiliser TC3
J'ai retrouvé une de mes sources qui gére des boutons (c'est en fait un menu, 3 boutons) avec les flèches directionnelles haut et bas pour le choix et validation par la touche entrée. Selon l'appuis d'un bouton c'est envoyé/géré par une fonction.
Il faut juste faire attention a cette ligne initgraph(&gdriver, &gmode, "c:\\tc3\\bgi");
dans la fonction init, au chemin c:\tc3\bgi

#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <graphics.h>


void init(void); /* initialisation graphique */
void sousmenu(int ); /* gestion de sous menu */


struct menu{
int x, y;
int xx, yy;
char nom[10];
};



void main(void)
{
int touche, y=120, val=1, bloc;


init(); /* appel du mode graphique */


setcolor(10);
outtextxy(310, 107, "Nouveau"); /* val = 0 */
outtextxy(310, 127, "Quitter"); /* val = 1 */
outtextxy(310, 147, "Score"); /* val = 2 */


do {
rectangle(300, y, 380, y+20);
do {
touche = getch(); /* recupere le code ASCII de la touche */
if((touche==72 && val==0) || (touche==80 && val==2)) bloc=0;
else bloc=1;


if(touche==13) sousmenu(val);
} while(bloc==0); /* verrou de fin de menu */


switch(touche)
{
case 72 : setcolor(BLACK); /* fleche haut */
rectangle(300, y, 380, y+20);
setcolor(10);
y = y - 20;
val--;
break;


case 80 : setcolor(BLACK); /* fleche bas */
rectangle(300, y, 380, y+20);
setcolor(10);
y = y + 20;
val++;
break;
}
} while(touche!=27); /* si on appuie sur "Echape" */


closegraph();
}



/* fonctionnement de traitement pour les sous menus */
void sousmenu(int val)
{
struct menu menu_score;


switch(val)
{
case 1 : exit(0); /* QUITTER */


case 0 : /* NOUVEAU JEU */
outtextxy(20, 50, "Nouveau jeu");
break;


case 2 : /* SCORE */
outtextxy(20, 70, "Score");
break;


default : return;
}
return;
}

void init(void)
{
int gdriver = DETECT, gmode, errorcode;
initgraph(&gdriver, &gmode, "c:\\tc3\\bgi");
errorcode = graphresult();
if (errorcode != grOk) /* an error occurred */
{
printf("Graphics error: %s\n", grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1); /* return with error code */
}
}
Messages postés
65
Date d'inscription
dimanche 8 janvier 2006
Statut
Membre
Dernière intervention
27 février 2011
1
Dans la structure, pas mal de choses ne servent pas xx, yy et nom[10], je l'utilisais pour autre chose, dsl
Messages postés
128
Date d'inscription
mardi 11 janvier 2005
Statut
Membre
Dernière intervention
19 avril 2007

Merci pour votre réponse
ça serait gentil de votre part si vous pouvez me trouver une source avec l'utilisation de la souris au lieu du clavier, c'est a dire suivant le bouton cliqué ou non cliqué
Merci encore une fois
Messages postés
65
Date d'inscription
dimanche 8 janvier 2006
Statut
Membre
Dernière intervention
27 février 2011
1
ok > http://www.cppfrance.com/forum.v2.aspx?ID=691110
tout frais d'une semaine, même pas XD