تالارهای پادشاه ایرانی

بازگشت   تالارهای پادشاه ایرانی > كامپيوتر > برنامه نويسی > برنامه نویسی به زبان C

پاسخ
 
ابزارهای تاپیک

گرافیک در c (ايجاد منو)
  #1  
قدیمی 15/07/2010
آواتار eli joon
eli joon eli joon آفلاین است
كاربر فعال
 

نام: الهه
جنسيت: زن
شغل: کارمندمخابرات
محل سکونت: مشهد
مدرک تحصيلی: فوق دیپلم نرم افزار
پست: 976
سپاس: 253
از این کاربر 452 بار در 318 پست سپاسگزاری شده
اعتراض ها: 0
به این کاربر 33 بار در 23 پست اعتراض شده
چوب: 144,054
گرافیک در c (ايجاد منو)

گرافیک در c (ايجاد منو)
یک منوی ساده در عین حال زیبا ایجاد می کند.


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

//Menu Global Item
#define pixTOrc(x) (8*(x-1)) //convert pixel into row and col format
#define INC 5 //Increment Distance Between Menu Items
#define ROW 15 //Row Value for Menu Item
#define COL 8 //Column Value for Menu Item
#define MAXITEM 5 //Total menu items

// To display the Inventory Main menu options
typedef char option[15];
option mainMenu[]= {
"NEW",
"OPEN",
"SAVE",
"ABOUT ME",
"CLOSE"
};


// Function to displays all the menu prompt messages from the pointer array of option a[]
void normalvideo(int x,int y,char *str)
{
x=pixTOrc(x);
y=pixTOrc(y);
outtextxy(x,y,str);
}

// Function to move the cursor on the menu prompt with a reverse video color
void reversevideo(int x,int y,char *str)
{
x=pixTOrc(x);
y=pixTOrc(y);
setcolor(YELLOW); //Selected Item
sound(400);
delay(100);
nosound();
outtextxy(x,y,str);
setcolor(WHITE); //Unselected Item
sound(500);
delay(100);
nosound();
}


//Keep Track of which arrow key is pressed
char menu()
{
int i,done;
settextstyle(TRIPLEX_FONT,HORIZ_DIR,3);
setcolor(WHITE); //Initial Menu Item Color

for(i = 1; i < MAXITEM; i++)
normalvideo(COL, (i*INC)+ROW, mainMenu[i]);

reversevideo(COL,ROW, mainMenu[0]);
i = done = 0;
do
{
int key;
/**Status Bar Logic**/
//Message will be displayed as status bar guide-line
setfillstyle(SOLID_FILL,BLUE);
settextstyle(SMALL_FONT,HORIZ_DIR,5);
bar(pixTOrc(2),pixTOrc(52.5),pixTOrc(75),pixTOrc(5 5));
setcolor(LIGHTCYAN);

switch(i){
case 0 : outtextxy(pixTOrc(5),pixTOrc(52.75),"New --> Create New file");
break;
case 1 : outtextxy(pixTOrc(5),pixTOrc(52.75),"Open --> Open Existing file");
break;
case 2 : outtextxy(pixTOrc(5),pixTOrc(52.75),"Save --> Save file");
break;
case 3 : outtextxy(pixTOrc(5),pixTOrc(52.75),"About Me --> Programmer : Vivek Patel");
break;
case 4 : outtextxy(pixTOrc(5),pixTOrc(52.75),"Close the Program --> BYE C U");
break;
}
/**status Bar ends**/

//Restore Orignal Color and Font Setting
setcolor(WHITE);
settextstyle(TRIPLEX_FONT,HORIZ_DIR,3);

key = getch();
switch (key)
{

case 00:
key = getch();
switch (key)
{
case 72:
normalvideo(COL, (i*INC)+ROW, mainMenu[i]);
i--;
if (i == -1)
i = MAXITEM-1;
reversevideo(COL,(i*INC)+ROW,mainMenu[i]);
break;
case 80:
normalvideo(COL, (i*INC)+ROW, mainMenu[i]);
i++;
if (i == MAXITEM)
i = 0;
reversevideo(COL, (i*INC)+ROW, mainMenu[i]);
break;
}
break;
case 13:
done = 1;
}
}
while (!done);
return(i+49);
}


//Advertise Screen will displayed to utilize empty screen area
//It can be utilize for some effective...work
void advertise(){
setcolor(BLUE);
outtextxy(pixTOrc(30),pixTOrc(20),"URL : cpp.blogfa.com");
outtextxy(pixTOrc(30),pixTOrc(26),"Mail : (فقط كاربران عضو مجاز به دیدن لینک ها هستند) ");
setcolor(YELLOW);
}


/* The function is used to display the main menu*/
//Actual code for all the menu utility resides in this
//Function...
void control_menu()
{
char choice;
do
{
choice = menu();
switch (choice)
{
case '1': //New
setcolor(BLUE);
outtextxy(pixTOrc(40),pixTOrc(15),"New");
advertise();
getch();
setfillstyle(SOLID_FILL,LIGHTGRAY);
bar(pixTOrc(2),pixTOrc(14),pixTOrc(75),pixTOrc(50) );
advertise();
break;

case '2': //Open
setcolor(BLUE);
outtextxy(pixTOrc(40),pixTOrc(15),"Open");
advertise();
getch();
setfillstyle(SOLID_FILL,LIGHTGRAY);
bar(pixTOrc(2),pixTOrc(14),pixTOrc(75),pixTOrc(50) );
advertise();
break;

case '3': //Save
setcolor(BLUE);
outtextxy(pixTOrc(40),pixTOrc(15),"Save");
advertise();
getch();
setfillstyle(SOLID_FILL,LIGHTGRAY);
bar(pixTOrc(2),pixTOrc(14),pixTOrc(75),pixTOrc(50) );
advertise();
break;

case '4': //Modify the status of item in inventory
setcolor(BLUE);
outtextxy(pixTOrc(40),pixTOrc(15),"About Me");
advertise();
getch();
setfillstyle(SOLID_FILL,LIGHTGRAY);
bar(pixTOrc(2),pixTOrc(14),pixTOrc(75),pixTOrc(50) );
advertise();
break;

case '5': //Close the program
setcolor(BLUE);
outtextxy(pixTOrc(40),pixTOrc(15),"CLOSE");
advertise();
delay(1000);
setfillstyle(SOLID_FILL,LIGHTGRAY);
bar(pixTOrc(2),pixTOrc(14),pixTOrc(75),pixTOrc(50) );
advertise();
goto out;
}
} while (choice != MAXITEM);
out:
}



void main()
{
int i,j;

int gd=DETECT,gm=0;
initgraph(&gd,&gm,"c:\\tc\\bgi\\");

///code as space holder\\\\\
setfillstyle(SOLID_FILL,LIGHTGRAY);
bar(0,0,640,480);

setcolor(DARKGRAY);
rectangle(0,0,639,480);
rectangle(1,1,638,479);
setcolor(BLACK);
rectangle(2,1,637,478);
rectangle(3,1,636,477);

settextstyle(TRIPLEX_FONT,HORIZ_DIR,4);
setcolor(BLUE);
//outtextxy(pixTOrc(,pixTOrc(2)," MENU -->> (Simple Style) ");

setfillstyle(HATCH_FILL,DARKGRAY);
for(i=15,j=70;i<40||j>40;i++,j--){
bar(pixTOrc(j),pixTOrc(7),pixTOrc(i),pixTOrc(7.5)) ;
delay(10);
bar(pixTOrc(j),pixTOrc(7),pixTOrc(70),pixTOrc(7.5) );
delay(20);
}

bar(pixTOrc(7),pixTOrc(14),pixTOrc(25),pixTOrc(50) );

///code as space holder\\\\\

//Calling Menu
control_menu();

closegraph();
}
__________________
خسته ام از این کویر...



پاسخ با نقل قول
2 کاربر زیر بخاطر پست مفید از eli joon سپاسگزاری کرده اند :

5 تاپیک آخر توسط eli joon
تاپیک تالار آخرین ارسال کننده پاسخ نمایش آخرین پست
آرشیو کامل کتابهای جلال آل احمد(دانلود کتابهای... دانلود كتاب الكترونيک eli joon 27 5676 31/08/2010 15:14
آرشیو کتابهای دکتر علی شریعتی(دانلود کتابهای دکتر... دانلود كتاب الكترونيک eli joon 16 5161 31/08/2010 14:55
قرص گارسين garsin دارو ها eli joon 0 3189 23/08/2010 15:54
جنرال تونيك general tonic دارو ها eli joon 0 3234 23/08/2010 15:53
جن جي تون gingiton دارو ها eli joon 0 2822 23/08/2010 15:53

پاسخ


ابزارهای تاپیک

قوانین ارسال
شمانمی توانید تاپیک جدید ارسال نمایید
شمانمی توانید پاسخی ارسال نمایید
شمانمی توانید پیوست ارسال نمایید
شمانمی توانید پست های خود را ویرایش نمایید

کد بی بیفعال است
شکلک ها فعال است
کد [IMG] فعال است
کدهای HTML غیر فعال است



زمان محلی شما با تنظیم GMT +4.5 هم اکنون 08:36 میباشد.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Copyright © 2006 - 2018 ParsiKing. All Rights Reserved to Parsiking Group
دامین های زیر جهت ارائه خدمات در مالکیت سایت پادشاه ایرانی می باشد
parsiking.com - parsiking.biz - parsiking.org - parsiking.net - parsiking.in - parsiking.ir
vBCredits v1.4 Copyright ©2007 - 2008, PixelFX Studios