El primer menus es con un puntero hacia la opcion deseada y el segundo es resaltando al opcion
espero que les sirva . Puedes Descargar Menu, o verlo a continuacion
#include<conio.h>
#include<stdio.h>
#define TENT 13
#define TDER 77
#define TIZQ 75
#define TARR 72
#define TABA 80
#define TESC 27
char menu[3][15]={"Opcion 0","Opcion 1","Opcion 2"};
int Menu1(int x, int y, char tabla[][15],int no)
{
int i,pos,tecla;
textcolor(15);
for(i=0;i<no;i++)
{
gotoxy(x,y+i);cprintf("%s", tabla[i]);
}
x=x-2;
pos=0;
textcolor(10);
gotoxy(x,y);cprintf(" ");
do{
tecla=getch();
gotoxy(x,y+pos);cprintf(" ");
if(tecla==TARR)
if(pos==0)
pos=no-1;
else
pos--;
if(tecla==TABA)
if(pos==(no-1))
pos=0;
else
pos++;
gotoxy(x,y+pos);cprintf(" ");
}
while(!(tecla==TENT || tecla==TESC));
return pos;//retorna el numero de opcion de 1 a no
}//fin menu
/*..........FUNCION ELEGIR OPCION: RESALTADO.................*/
int Menu2(int x, int y, char tabla[][15], int N)
{
int i,tecla,C,pos=0;
textbackground(0);
C=4;
textcolor(15);
for(i=0;i<N;i++)
{
gotoxy(x,y+i);cprintf("%s", tabla[i]);
}
textbackground(C);
gotoxy(x,y);cprintf("%s", tabla[pos]);
do{
tecla=getch();
textbackground(0);
gotoxy(x,y+pos);cprintf("%s", tabla[pos]);
if(tecla==TARR)
if(pos==0)
pos=N-1;
else
pos--;
if(tecla==TABA)
if(pos==(N-1))
pos=0;
else
pos++;
textbackground(C);
gotoxy(x,y+pos);cprintf("%s", tabla[pos]);
}while(tecla!=TENT);
return pos;
}
void main()
{
int opc;
clrscr();
opc= Menu1(10,10,menu,3);
gotoxy(10,15);printf("%d: %s",opc,menu[opc]);
opc= Menu2(30,10,menu,3);
gotoxy(30,15);printf("%d: %s",opc,menu[opc]);
getch();
}
No hay comentarios:
Publicar un comentario