void yes_no_box::show(char a[]) { save_video(x1,y1,x2,y2); setfillstyle(SOLID_FILL,LIGHTGRAY); hide_mouse(); bar(x1,y1,x2,y2); setfillstyle(SOLID_FILL,BLUE); bar(x1,y1,x2,y1+25); setcolor(BLACK); rectangle(x1,y1,x2,y2); line(x1,y1+25,x2,y1+25); setcolor(WHITE); outtextxy(x1+5,y1+10,a); int x=(x1+x2)/2; int y=(y1+y2)/2+50; setcolor(WHITE); line(x-100,y-10,x-60,y-10); line(x-100,y-10,x-100,y+10); setcolor(BLACK); line(x-100,y+10,x-60,y+10); line(x-60,y-10,x-60,y+10); outtextxy(x-90,y,"Yes"); setcolor(WHITE); line(x+60,y-10,x+100,y-10); line(x+60,y-10,x+60,y+10); setcolor(BLACK); line(x+60,y+10,x+100,y+10); line(x+100,y-10,x+100,y+10); outtextxy(x+70,y,"No"); show_mouse(); }
int popup( char* menu[], char* keys, int count, int x, int y, int border ) /*弹出式菜单的显示*/ { register int i, len; int endx, endy, choice; unsigned int *p; if((x>24)||(x<0)||(y>79)||(y<0)) { printf("范围错"); return -2; } len = 0; for( i = 0; i < count; i++ ) if( strlen( menu[i]) > len ) len = strlen( menu[i] ); endy = len + 2 + y; endx = count + 1 + x; if((endx+1>24)||(endy+1>79)) { printf("菜单不匹配"); return -2; } p = (unsigned int *) malloc((endx-x+1)*(endy-y+1)); if( !p ) exit(1); save_video( x, endx + 1, y, endy+1, p ); if( border ) disp_box( y, x, endy, endx, YELLOW ); display_menu( menu, x + 1, y + 1, count ); choice = get_resp( x + 1, y, count, menu, keys ); restore_video( x, endx + 1, y, endy + 2, (unsigned char* ) p); free( p ); return choice; }
void error_box::show(char e[]) { int x=x1+25,y=y1+60; save_video(x1,y1,x2,y2); hide_mouse(); setfillstyle(SOLID_FILL,LIGHTGRAY); bar(x1,y1,x2,y2); setcolor(BLACK); rectangle(x1,y1,x2,y2); setfillstyle(SOLID_FILL,BLUE); bar(x1,y1,x2,y1+20); rectangle(x1,y1,x2,y1+20); setcolor(WHITE); outtextxy(x1+20,y1+5,"Error !"); setcolor(RED); circle(x,y,20); setfillstyle(SOLID_FILL,RED); floodfill(x,y,RED); setcolor(WHITE); line(x-5,y-5,x+5,y+5); line(x-5,y+5,x+5,y-5); setcolor(BLACK); outtextxy(x1+70,y1+40,e); setcolor(WHITE); line(x1+100,y2-40,x1+140,y2-40); line(x1+100,y2-40,x1+100,y2-20); setcolor(BLACK); line(x1+100,y2-20,x1+140,y2-20); line(x1+140,y2-40,x1+140,y2-20); outtextxy(x1+110,y2-30,"OK"); show_mouse(); }