Gola amigo.
Soy una persona que está aprendiendo algo de C sobre la marcha" programando pequeñas tonterías como modo de práctica. Uso Turbo C++ 3.0 corriendolo en DOSBOX y Dev C++ usando la librería que emula las funciones del antiguo conio.h llamada conio2.h.
Estoy empezando con crear sencillos menúes de opciones. Un ejemplo:
#include<stdio.h>
#include<conio2.h>
int main(void)
{
char opcion;
do{
clrscr();
gotoxy(20,2);printf("***MENU TONTO***");
gotoxy(1,5);printf("1- Ver como me llamo");
gotoxy(1,6);printf("2- Mi opinion acerca de los pedofilos");
gotoxy(1,7);printf("3- Salir");
gotoxy(20,20);printf("PRESIONE EL NUMERO INDICADO EN LA OPCION...");
opcion=getch();
switch(opcion)
{
case '1':
clrscr();
printf("Yo me llamo Nicolas");
getch();
break;
case '2':
clrscr();
printf("Esa gente es vil");
getch();
break;
}
}while(opcion!='3');
clrscr();
printf("¡¡¡HASTA LA VISTA, BABY!!!");
getch();
}
En este tonto menú de práctica el usuario escoge la opción sencillamente presionando el número indicado en dicha opción, ahora lo que yo desearía hacer es ese mismo tonto menú, pero en el que el usuario use las flechas de los cursores para "resaltar" la opción a elegir y después deba presionar Enter para elegir la opción resaltada. Algunas pistas tengo de cómo lograrlo. He visto el código de las teclas de los cursores:
Arriba: 0 72
Abajo: 0 80
Izquierda: 0 75
Derecha: 0 77
Esc: 27
Enter: 13
y creo que lo que hay que usar para resaltar la opción son las funciones textbackground y textcolor respectivamente. Me parece que otra forma más sencilla de leer las teclas de los cursores es: Supongamos esto:
char tecla;
obviamente despues colocar: tecla=getch();
Y referirse a los cursores de esta manera:
if(tecla=='M') Me refiero a la tecla Arriba
if(tecla=='K') Me refiero a la tecla Abajo
if(tecla=='H') Me refiero a la tecla Izquierda
if(tecla=='P') Me refiero a la tecla Derecha
El tema es que yo podría empezar resaltando con textbackground y textcolor la primera opción, pero ¿Cómo hago para que al pulsar hacia abajo ese textbackground y textcolor resalte la otra opción y deje sin resaltar la opción anterior?. Quiero crear exactamente ese tonto menú, pero usando ese otro sistema de selección mencionado. Ayuda, please. Saludos. Nico
Respuesta, por favor.