CONSOLE_CURSOR_INFO cci;
GetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cci);
cci.bVisible = false;
SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cci);
Курсор в консольном приложени
Возникла такая проблемка
Пишу консольное приложение на С++ (в качестве компилятора использую MS Visual C++ 6.0).
На экране выводится менюшка приложения.
Теперь сам вопрос, как сделать курсор невидимым? Т.е. нужно написать процедуру, которая будет делать его невидимым/видимым в зависимости от надобности, а то его постоянное мигание портит весь вид менюшки.
Попробывал своими силами:
void cursor_visible(bool visible){
CONSOLE_CURSOR_INFO cci;
if(visible==true) cci.bVisible=true; else cci.bVisible=false;
//if(visible==true) cci.dwSize=100; else cci.dwSize=1;
SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cci);
}
Установка размера курсора (закоментированная строка) работает отлично, а вот установка свойства видимости не работает.
надеюсь на Вашу помощь
Заранее благодарю!
Код:
Ошибка скорее всего в том, что вы не инициализировали dwSize. В результате чего он прнимал значения вне диапазона [1,100].
Цитата:
If this member is less than 1 or greater than 100, SetConsoleCursorInfo fails.
nikitozz, огромное Вам спасибо! Все работает)