begin process at 2012 02 12 06:25:48
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Graphique

 > BOUTONS CADRES MODE GRAPHIQUE TURBO C++

BOUTONS CADRES MODE GRAPHIQUE TURBO C++


 Information sur la source

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Graphique Niveau :Débutant Date de création :18/07/2002 Date de mise à jour :17/02/2003 09:20:01 Vu / téléchargé :4 927 / 319

Auteur : cmarsc

Ecrire un message privé
Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note

 Description

dessiner des boutons cliqués ou pas et des cadres  

Source

  • /* PROGRAMME EN C SOUS DOS TURBO C++2 BORLAND
  • ecrit le 18-07-2002 par cmarsc
  • BOUTONS CADRES MODE GRAPHIQUE */
  • #include <graphics.h>
  • #include <stdlib.h>
  • #include <stdio.h>
  • #include <conio.h>
  • #include <dos.h>
  • #define COUL_ECRAN CYAN
  • #define COUL_CADRE LIGHTCYAN
  • void bouton_3D(int x1, int y1, int x2, int y2, int coul,int relief,int clic);
  • void box(int x1, int y1, int x2, int y2, int coul_box,int coul_fond,int effet);
  • void bouton_arrondi(int x1, int y1, int x2, int y2, int coul);
  • enum etats_boutons { NON_CLIQUE, CLIQUE };
  • enum effets_box { PAS_D_OMBRE,OMBRE };
  • int main(void)
  • {
  • int i1,milieu_x,milieu_y;
  • int gdriver = DETECT, gmode, errorcode;
  • initgraph(&gdriver, &gmode, "c:\\tc\\bgi");
  • errorcode = graphresult();
  • if (errorcode != grOk)
  • {
  • printf("Graphics error: %s\n", grapherrormsg(errorcode));
  • printf("Press any key to halt:");
  • getch();
  • exit(1);
  • }
  • sleep(1);
  • settextstyle(SANS_SERIF_FONT, HORIZ_DIR, 4);
  • milieu_x = getmaxx()/2;
  • // afficher le fond d'ecran
  • setfillstyle(1,COUL_ECRAN);
  • for (i1 = 0; i1 <= milieu_x; i1++) {
  • bar ((milieu_x+4)-i1,(getmaxy()-6)-(i1*1.47),(milieu_x-3)+i1,getmaxy()-4);
  • }
  • // dessiner le grand cadre avec un effet en relief
  • for (i1 = 0; i1 < 3; i1++) {
  • (i1 == 1) ? setcolor(LIGHTGREEN) : setcolor(COUL_CADRE);
  • rectangle (i1,i1,getmaxx()-i1,getmaxy()-i1);
  • }
  • // x1 = 10 y1 = 10 x2 = 400 y2 = 53 coul = CYAN relief = 4 clic = 0
  • bouton_3D(10,10,400,53,CYAN,4,NON_CLIQUE);
  • setcolor(LIGHTCYAN);
  • outtextxy(19,10, "BOUTON 3D NON CLIQUE");
  • setcolor(DARKGRAY);
  • outtextxy(18,10, "BOUTON 3D NON CLIQUE");
  • // x1 = 10 y1 = 70 x2 = 400 y2 =110 coul = rouge relief = 4 clic = 1
  • bouton_3D(10,70,400,110,RED,4,CLIQUE);
  • setcolor(WHITE);
  • outtextxy(19,68, "BOUTON 3D CLIQUE");
  • // x1 = 10 y1 = 180 x2 = 200 y2 = 200 coul_cadre = jaune
  • // coul_fond = rouge vif cadre avec une ombre = 1
  • box(10,180,200,300,YELLOW,LIGHTRED,OMBRE);
  • // x1 =220 y1 = 180 x2 = 400 y2 = 300 coul_cadre = vert coul_fond = noir
  • // cadre standard
  • box(220,180,400,300,LIGHTGREEN,BLACK,PAS_D_OMBRE);
  • // x1 =410 y1 = 10 x2 = 620 y2 = 400 coul_cadre = blanc coul_fond = bleu
  • // cadre standard avec un effet de degrade de 5
  • for (i1 = 0; i1 < 20; i1 += 5) {
  • box(410+i1, 10+i1,620 - i1,400-i1,WHITE,BLUE,PAS_D_OMBRE);
  • }
  • // x1 = 40 y1 = 365 x2 = 350 y2 = 395 coul_cadre = blanc
  • bouton_arrondi(40,365,350,395, WHITE);
  • setcolor(WHITE);
  • outtextxy(40,345, "BOUTON ARRONDI");
  • setcolor(BLACK);
  • outtextxy(40,346, "BOUTON ARRONDI");
  • while ( !kbhit() ) {
  • // non clique
  • bouton_3D(10,122,400,165,LIGHTBLUE,4,NON_CLIQUE);
  • setcolor(WHITE);
  • outtextxy(20,122, "BOUTON 3D NON CLIQUE");
  • delay(400); // attendre avant de cliquer
  • // cliquer le bouton clic = 1
  • bouton_3D(10,122,400,165,LIGHTBLUE,4,CLIQUE);
  • for (i1 = 0; i1 < 2; i1++) {
  • (i1 == 1) ? setcolor(WHITE) : setcolor(BLACK);
  • outtextxy(20+i1,122+i1, "BOUTON 3D CLIQUE");
  • }
  • sleep(1);
  • } // fin de while (!kbhit...)
  • // effacer l'ecran
  • milieu_y = getmaxy() / 2;
  • setcolor(getbkcolor());
  • for (i1 = 0; i1 <= milieu_y; i1++) {
  • rectangle (0,0,getmaxx(),i1);
  • rectangle (0,getmaxy()-i1,getmaxx(),getmaxy());
  • }
  • delay(500);
  • // fermer le mode graphique
  • closegraph();
  • return EXIT_SUCCESS;
  • } // fin de main
  • void bouton_3D(int x1, int y1, int x2, int y2, int coul,int relief,int clic){
  • int i1;
  • // dessiner le fond du bouton en couleur
  • setfillstyle(SOLID_FILL,coul);
  • bar (x1 , y1 , x2 , y2 );
  • // dessiner le bouton avec un relief
  • for (i1 = 0; i1 < relief; i1++) {
  • setcolor(WHITE);
  • // trait blanc haut
  • line (x1 + i1, y1 + i1, x2 - i1, y1 + i1);
  • // trait blanc gauche
  • line (x1 + i1, y1 + i1, x1 + i1, y2 - i1);
  • setcolor(DARKGRAY);
  • // trait gris bas
  • line (x1 + i1, y2 - i1, x2 - i1, y2 - i1);
  • // trait gris droit
  • line (x2 - i1, y1 + i1, x2 - i1, y2 - i1);
  • }
  • // simuler le clique
  • if (clic == CLIQUE) {
  • setcolor(BLACK);
  • for (i1 = 1; i1 < 3; i1++) {
  • rectangle (x1 + i1, y1 + i1, x2 - i1, y2 - i1);
  • }
  • setcolor(WHITE);
  • // cadre blanc exterieur
  • rectangle (x1 , y1 , x2 , y2 );
  • }
  • return ;
  • } // fin de la fonction bouton_3D
  • void box(int x1, int y1, int x2, int y2, int coul_box,int coul_fond,int effet){
  • // dessiner l'ombre avec un decalage de 5
  • if (effet == OMBRE) {
  • setfillstyle(SOLID_FILL,BLACK);
  • bar (x1 + 5 , y1 + 5 , x2 + 5 , y2 + 5 );
  • }
  • setfillstyle(SOLID_FILL,coul_fond);
  • bar (x1 , y1 , x2 , y2 );
  • setcolor(coul_box);
  • rectangle (x1 , y1 , x2 , y2 );
  • return ;
  • } // fin de la fonction box
  • void bouton_arrondi(int x1, int y1, int x2, int y2, int coul) {
  • setcolor(coul);
  • // cote gauche et haut
  • arc(x1, y1, 110, 250,y2-y1);
  • line(x1-10,y1-(y2-y1)+2, x2+10,y1-(y2-y1)+2);
  • // cote droit et bas
  • arc(x2, y1,290,70,y2-y1);
  • line(x1 - 10,y1+(y2-y1)-2, x2 + 10,y1+(y2-y1)-2);
  • return ;
  • } // fin de la fonction bouton_arrondi
/*  PROGRAMME EN C SOUS DOS TURBO C++2 BORLAND
    ecrit le 18-07-2002 par cmarsc
    BOUTONS CADRES MODE GRAPHIQUE */

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

#define COUL_ECRAN CYAN
#define COUL_CADRE LIGHTCYAN

void bouton_3D(int x1, int y1, int x2, int y2, int coul,int relief,int clic);
void box(int x1, int y1, int x2, int y2, int coul_box,int coul_fond,int effet);
void bouton_arrondi(int x1, int y1, int x2, int y2, int coul);

enum etats_boutons { NON_CLIQUE, CLIQUE };
enum effets_box { PAS_D_OMBRE,OMBRE };

int main(void)
{
	 int i1,milieu_x,milieu_y;

	 int gdriver = DETECT, gmode, errorcode;
	 initgraph(&gdriver, &gmode, "c:\\tc\\bgi");

 	errorcode = graphresult();
	if (errorcode != grOk)
	{
		printf("Graphics error: %s\n", grapherrormsg(errorcode));
		printf("Press any key to halt:");
		getch();

	  exit(1);
	}
 
   sleep(1);

  settextstyle(SANS_SERIF_FONT, HORIZ_DIR, 4);

  milieu_x = getmaxx()/2;
  // afficher le fond d'ecran
  setfillstyle(1,COUL_ECRAN);

for (i1 = 0; i1 <= milieu_x; i1++) {
 bar ((milieu_x+4)-i1,(getmaxy()-6)-(i1*1.47),(milieu_x-3)+i1,getmaxy()-4);
}

	 // dessiner le grand cadre avec un effet en relief
	 for (i1 = 0; i1 < 3; i1++) {
		 (i1 == 1) ? setcolor(LIGHTGREEN) : setcolor(COUL_CADRE);
		 rectangle (i1,i1,getmaxx()-i1,getmaxy()-i1);
	 }


// x1 = 10 y1 = 10 x2 = 400 y2 = 53  coul = CYAN  relief = 4 clic = 0
	 bouton_3D(10,10,400,53,CYAN,4,NON_CLIQUE);

	 setcolor(LIGHTCYAN);
	 outtextxy(19,10, "BOUTON 3D NON CLIQUE");
	 setcolor(DARKGRAY);
	 outtextxy(18,10, "BOUTON 3D NON CLIQUE");


// x1 = 10 y1 = 70 x2 = 400 y2 =110  coul = rouge  relief = 4 clic = 1
	 bouton_3D(10,70,400,110,RED,4,CLIQUE);

	 setcolor(WHITE);
	 outtextxy(19,68, "BOUTON 3D CLIQUE");

// x1 = 10 y1 = 180 x2 = 200 y2 = 200  coul_cadre = jaune
	 // coul_fond = rouge vif   cadre avec une ombre = 1
	 box(10,180,200,300,YELLOW,LIGHTRED,OMBRE);


// x1 =220 y1 = 180 x2 = 400 y2 = 300  coul_cadre = vert  coul_fond = noir
	 // cadre standard
  	 box(220,180,400,300,LIGHTGREEN,BLACK,PAS_D_OMBRE);


// x1 =410 y1 = 10  x2 = 620 y2 = 400  coul_cadre = blanc coul_fond = bleu
	 // cadre standard avec un effet de degrade de 5
	 for (i1 = 0; i1 < 20; i1 += 5) {
		 box(410+i1, 10+i1,620 - i1,400-i1,WHITE,BLUE,PAS_D_OMBRE);
	 }


// x1 = 40 y1 = 365 x2 = 350 y2 = 395  coul_cadre = blanc
	 bouton_arrondi(40,365,350,395, WHITE);

	 setcolor(WHITE);
	 outtextxy(40,345, "BOUTON ARRONDI");
	 setcolor(BLACK);
	 outtextxy(40,346, "BOUTON ARRONDI");

   while ( !kbhit() ) {
	 // non clique
	 bouton_3D(10,122,400,165,LIGHTBLUE,4,NON_CLIQUE);
	 setcolor(WHITE);
	 outtextxy(20,122, "BOUTON 3D NON CLIQUE");

	 delay(400); // attendre avant de cliquer

	 // cliquer le bouton  clic = 1
	 bouton_3D(10,122,400,165,LIGHTBLUE,4,CLIQUE);

	   for (i1 = 0; i1 < 2; i1++) {
		  (i1 == 1) ? setcolor(WHITE) : setcolor(BLACK);
		  outtextxy(20+i1,122+i1, "BOUTON 3D CLIQUE");
	   }

	 sleep(1);

  } // fin de while (!kbhit...)

  // effacer l'ecran

  milieu_y = getmaxy() / 2;
  setcolor(getbkcolor());
  for (i1 = 0; i1 <= milieu_y; i1++) {
	  rectangle (0,0,getmaxx(),i1);
	  rectangle (0,getmaxy()-i1,getmaxx(),getmaxy());
   }
	 delay(500);

	// fermer le mode graphique
	 closegraph();

	 return EXIT_SUCCESS;
} // fin de main


void bouton_3D(int x1, int y1, int x2, int y2, int coul,int relief,int clic){
	int i1;

	// dessiner le fond du bouton en couleur
	setfillstyle(SOLID_FILL,coul);
	bar (x1 , y1 , x2 , y2 );

	// dessiner le bouton avec un relief
	for (i1 = 0; i1 < relief; i1++) {

	   setcolor(WHITE);
	   // trait blanc haut
	   line (x1 + i1, y1 + i1, x2 - i1, y1 + i1);
	   // trait blanc gauche
	   line (x1 + i1, y1 + i1, x1 + i1, y2 - i1);

	   setcolor(DARKGRAY);
	   // trait gris bas
	   line (x1 + i1, y2 - i1, x2 - i1, y2 - i1);
	   // trait gris droit
	   line (x2 - i1, y1 + i1, x2 - i1, y2 - i1);

	}

	// simuler le clique
	if (clic == CLIQUE) {
	  setcolor(BLACK);
	  for (i1 = 1; i1 < 3; i1++) {
		  rectangle (x1 + i1, y1 + i1, x2 - i1, y2 - i1);
	  }

	  setcolor(WHITE);
	  // cadre blanc exterieur
	  rectangle (x1 , y1 , x2 , y2 );
	}

return ;
} // fin de la fonction bouton_3D


void box(int x1, int y1, int x2, int y2, int coul_box,int coul_fond,int effet){

	// dessiner l'ombre avec un decalage de 5
	if (effet == OMBRE) {
	   setfillstyle(SOLID_FILL,BLACK);
	   bar (x1 + 5 , y1 + 5 , x2 + 5 , y2 + 5 );
	}

	setfillstyle(SOLID_FILL,coul_fond);
	bar (x1 , y1 , x2 , y2 );

	setcolor(coul_box);
	rectangle (x1 , y1 , x2 , y2 );
return ;
} // fin de la fonction box


void bouton_arrondi(int x1, int y1, int x2, int y2, int coul) {

	setcolor(coul);
	// cote gauche et haut
	arc(x1, y1, 110, 250,y2-y1);
	line(x1-10,y1-(y2-y1)+2, x2+10,y1-(y2-y1)+2);

	// cote droit et bas
	arc(x2, y1,290,70,y2-y1);
	line(x1 - 10,y1+(y2-y1)-2, x2 + 10,y1+(y2-y1)-2);

return ;
}  // fin de la fonction bouton_arrondi

 Conclusion

//  PROGRAMME EN C SOUS DOS TURBO C++2 BORLAND
//  ecrit le 18-07-2002 par cmarsc
//  BOUTONS CADRES MODE GRAPHIQUE  

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  • BOUTONS.cTélécharger ce fichier [Réservé aux membres club]Voir ce fichier5 124 octets
  • boutons.exeTélécharger ce fichier [Réservé aux membres club]51 161 octets

Télécharger le zip


 Sources du même auteur

Source avec Zip SIMULATION D'ECRAN BOURSIER TURBOC++ MODE GRAPHIQUE
Source avec Zip TESTE DE DACTYLO TURBO C++2 DEVC++4
Source avec Zip CADRE DEFILANT : DEVC++4 TURBO C++2 SOUS DOS
Source avec Zip CRYPTAGE-DECRYPTAGE : TURBO C++ 2 DEVC++ 4 EN LANGAGE C
Source avec Zip EFFETS DE TEXTES MULTIPLES 2 MODE GRAPHIQUE TURBO C++

 Sources de la même categorie

Source avec Zip APPLICATION DE DESSIN DE QUELQUES FIGURES par laguchori
Source avec Zip Source avec une capture HDR EXPOSURE FUSION par mecrosoft
Source avec Zip Source avec une capture IRC CLIENT MULTISERVEUR EN MFC (TXIRC) par TeniX
Source avec Zip ENTETE DU FICHIER BMP (BIPMAP) par k.Lutchi
Source avec Zip Source avec une capture XCOUPE : COUPE 2D par pop70

Commentaires et avis

Commentaire de polo12 le 18/04/2003 20:07:14

c'est bien votre code merci..

Commentaire de joebarteamv le 21/07/2007 14:43:29

Bonjour Code fonctionnel qui marche correctement!
je mets dix car au moins cela va equilibre le 1/10 que je comprends pas!
Bonne continuation!

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,512 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales