#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include "menu.h"
extern void menu();
extern void ChuangKou(int PIXX,int PIXY);
extern char ChoseMenu(char temp);
int main(void)
{
/* request auto detection */
int gdriver = DETECT, gmode, errorcode;
int xasp, yasp,midx,midy,PIXX,PIXY;
int i,size;
void *buf;
char CM,num1=1;
/* initialize graphics and local variables */
initgraph(&gdriver, &gmode, "");
errorcode = graphresult();
if (errorcode != grOk) /* an error occurred */
{
printf("Graphics error: %s\n", grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1); /* terminate with an error code */
}
setbkcolor(BLUE);
cleardevice();
setcolor(GREEN);
/***获取屏幕像素***/
PIXX= getmaxx();
PIXY= getmaxy();
midx=PIXX/2;
midy=PIXY/2;
setlinestyle(0, 0, 2); /*设置2点宽实线*/
setcolor(2);
rectangle(5, 5,PIXX-5,PIXY-5);
line(5,25,PIXX-5,25);
menu();
getch();
setcolor(WHITE);
setlinestyle(4, 0xaaaa, 1); /*设置一点宽用户定义线*/
line(220, 240, 420, 240);
line(320, 140, 320, 340);
getch();
setcolor(YELLOW);
setbkcolor(CYAN);
setlinestyle(0,0,1); /*设置2点宽实线*/
bar3d(100, 100, 300, 250, 50, 1); /*画一长方体*/
getch();
/*************划扇形*****************/
setfillstyle(1,1);
sector(250, 250, 0, 80, 50, 50);
getch();
sector(250, 250, 80, 190, 53, 53);
getch();
sector(250, 250, 190, 210, 56, 56);
getch();
sector(250, 250, 210, 360, 59, 59);
getch();
/* read result of initialization */
setcolor(getmaxcolor());
/* get current aspect ratio settings */
getaspectratio(&xasp, &yasp);
/* clean up */
getch();
cleardevice();
ChuangKou(PIXX,PIXY);
menu();
num1=ChoseMenu(num1);
moveto(40,100);
outtext("flash show");
getch();
setcolor(LIGHTRED);
setlinestyle(0,0,1);
setfillstyle(1, 10);
circle(100, 200, 30);
floodfill(100, 200, 12);
size=imagesize(69, 169, 131, 231); /*获取图像大小*/
buf=malloc(size); /*申请size大小的内存区域*/
getimage(69, 169, 131, 231,buf); /*获取图像*/
putimage(500, 269, buf, COPY_PUT); /*输出图像*/
Loop2: CM=getch();
for(i=0; i<185; i++)
{
putimage(70+i, 170, buf, COPY_PUT);
putimage(500-i, 170, buf, COPY_PUT);
}
for(i=0;i<185; i++)
{
putimage(255-i, 170, buf, COPY_PUT);
putimage(315+i, 170, buf, COPY_PUT);
}
if(CM!=13) goto Loop2;
getch();
closegraph();
return 0;
}
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include "menu.h"
void menu()
{
int temp,xx=10;
char Menu1[5]={"Menu1"};
char Menu2[5]={"Menu2"};
char Menu3[5]={"Menu3"};
char Menu4[5]={"Menu4"};
moveto(10,10);
setcolor(RED);
outtext("File");
moveto(70,10);
setcolor(WHITE);
outtext("Edit");
moveto(130,10);
setcolor(WHITE);
outtext("Save");
moveto(190,10);
setcolor(WHITE);
outtext("Quit");
}
/*窗口函数*/
void ChuangKou(int PIXX,int PIXY)
{
setbkcolor(BLUE);
cleardevice();
setcolor(GREEN);
setlinestyle(0, 0, 2); /*设置2点宽实线*/
setcolor(2);
rectangle(5, 5,PIXX-5,PIXY-5);
line(5,25,PIXX-5,25);
}
/*菜单选择函数*/
char ChoseMenu(char temp)
{
char num1,CM;
Loop1:
CM=getch();
if(CM==75&&num1>1) num1--;
else if(CM==75) num1=4;
if(CM==77&&num1<4) num1++;
else if(CM==77) num1=1;
switch(num1)
{
case 1:
setcolor(RED);
moveto(10,10);
outtext("File");
setcolor(WHITE);
moveto(190,10);
outtext("Quit");
moveto(70,10);
outtext("Edit");
moveto(130,10);
outtext("Save");
break;
case 2:
setcolor(RED);
moveto(70,10);
outtext("Edit");
setcolor(WHITE);
moveto(190,10);
outtext("Quit");
moveto(10,10);
outtext("File");
moveto(130,10);
outtext("Save");
break;
case 3:
setcolor(RED);
moveto(130,10);
outtext("Save");
setcolor(WHITE);
moveto(190,10);
outtext("Quit");
moveto(70,10);
outtext("Edit");
moveto(10,10);
outtext("File");
break;
case 4:
setcolor(RED);
moveto(190,10);
outtext("Quit");
setcolor(WHITE);
moveto(10,10);
outtext("File");
moveto(70,10);
outtext("Edit");
moveto(130,10);
outtext("Save");
break;
}
if(CM!=13) goto Loop1; /*回车确定*/
return num1;
}