Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Курсор в консольном приложени

47K
13 ноября 2009 года
CommanderRUS
17 / / 13.11.2009
Всем привет!

Возникла такая проблемка

Пишу консольное приложение на С++ (в качестве компилятора использую 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);
}

Установка размера курсора (закоментированная строка) работает отлично, а вот установка свойства видимости не работает.

надеюсь на Вашу помощь

Заранее благодарю!
288
13 ноября 2009 года
nikitozz
1.2K / / 09.03.2007
Вот
 
Код:
CONSOLE_CURSOR_INFO cci;

    GetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cci);
    cci.bVisible = false;
    SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cci);


Ошибка скорее всего в том, что вы не инициализировали dwSize. В результате чего он прнимал значения вне диапазона [1,100].
Цитата:

If this member is less than 1 or greater than 100, SetConsoleCursorInfo fails.

47K
13 ноября 2009 года
CommanderRUS
17 / / 13.11.2009
nikitozz, огромное Вам спасибо! Все работает)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог