Gets con formato

Rev
16 de Diciembre del 2004
Como puedo recibir una cadena de carácteres en modo gráfico así:

settextstyle(SMALL_FONT,HORIZ_DIR,2);
outtextxy(20,20,"Elija una opcion: ");
fflush(stdin);
gets(opcion);

Es que cuando pongo la cadena me sale en un formato que no escogi, y la captura como si fuese modo texto en las posicion de 1,1 de la pantalla y se ve mal.
Cómo puedo configurar el c++ para que me reciba la cadena con el formato que elejí?.

Gracias por anticipado por la ayuda.