Accueil > > > BOUTONS CADRES MODE GRAPHIQUE TURBO C++
BOUTONS CADRES MODE GRAPHIQUE TURBO C++
Information sur la source
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
Sources du même auteur
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|