Pregunta: | 24445 - HACER CURSOR NO VISIBLE |
Autor: | Juanjo Alonso |
En una aplicacion de tipo consola necesito hacer que el cursor desaparezca:
En el compilador de Borland existe la funcion _setcursortype(...) para conseguir borrar el cursor de la pantalla. ¿Y en microsoft? Estoy usando este compilador y no encuentro nada parecido. Mi pregunta es si existe alguna funcion o algo (c/c++) en el de microsoft que lo haga. He probado a utilizar la int 10h (funcion 01h) dando valores fuera de rango y no funciona; como era de esperar el entorno visual c++ no responde pero esto no pasa si hago lo mismo en el compilador de borland. Muchas gracias |
Respuesta: | José Pérez |
Lo primero que debería decir es que no es muy recomendable crear aplicaciones de tipo consola en Visual C, por varias razones:
Porque no son aplicaciones Dos reales (sólo funcionarán en modo Dos dentro de Windows) y porque el uso de la memoria, recursos, etc realmente son de Windows, no Dos. Tampoco se podrán manejar modelos de memoria ni habrá diferenciación entre punteros far y near y muchas funciones y palabras clave habituales en la programación Dos las considerará obsoletas y las mostrará como erróneas. A pesar de todo, si quieres seguir adelante, la siguiente rutina funcionará en cualquier compilador de C/C++ posterior a 1990: void mostrar_cursor (boolean i) { if (i == false) { _asm { mov cx, 0x2000; mov ah, 0x01; int 0x10; } } else { _asm { mov ch, 6; mov cl, 7; mov ah, 0x001; int 0x10; } } } |