Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> обработка нажатия клавиши в консоли, реагирование на нажатия клавиш 
:(
    Опции темы
Solomon
Дата 22.5.2006, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 471
Регистрация: 23.1.2006
Где: Украина Киев

Репутация: нет
Всего: 2



 У меня такая проблемка. Я хочу в С++ в консолевском приложении создать интерактивное меню, т.е. что бы между пунктими меню можно было переходить с помощью клавиш "Вверх" "Вниз". И еще, как сделать задний фон тексту, что бы можно было выделить активный пункт...
  
А после этого можно будет дальше работать с консолью просто так... т.е. очищаем экран от меню и работаем стандартно. Или так нельзя.

Когда то делал такую менюшку в паскале, но вот как то с С++ туговато.

Очень надо... помогите кто знает...  smile 

зарание спасибо! smile   


--------------------
Если не идти до конца к поставленным целям и не пытатся их достигнуть, каким бы тяжелым не казался путь, то лучше и не ставь их перед собой, но тот кто не ставит перед собой труднодоступные цели, никогда не ощутит эйфорию настоящей победы... победы над миром...
Соломон 2008
PM MAIL ICQ GTalk YIM   Вверх
_hunter
Дата 22.5.2006, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 16
Всего: 98



помогти с чем?

P.S.
один топик -- один вопрос
 


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Solomon
Дата 22.5.2006, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 471
Регистрация: 23.1.2006
Где: Украина Киев

Репутация: нет
Всего: 2



_hunter, мне нужна помощь с обработкой клавиатуре, если у меня консолевский прект... Т.е. нужно отреагировать на нажатие той или иной клавиши.

Извени меня, помоему все было четко написано, или я неправ...?  smile 

Ну вот главное, если кто непонял  smile 
Цитата

Хочу создать интерактивное меню, для этого мне надо знать как обработать клавиатуру и как задать фон для строки


 


--------------------
Если не идти до конца к поставленным целям и не пытатся их достигнуть, каким бы тяжелым не казался путь, то лучше и не ставь их перед собой, но тот кто не ставит перед собой труднодоступные цели, никогда не ощутит эйфорию настоящей победы... победы над миром...
Соломон 2008
PM MAIL ICQ GTalk YIM   Вверх
MAKCim
Дата 22.5.2006, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



Код

char sym;
std::cin>>sym;
// обрабатываем sym
 


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Solomon
Дата 22.5.2006, 19:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 471
Регистрация: 23.1.2006
Где: Украина Киев

Репутация: нет
Всего: 2



MAKCim, это нето. мне надо сделать меню как в игрушках. клавишами "Вверх"  "Вниз" переходить между пунктами меню и когда нужный мы выбираем, нажимаем Enter и выполняется соответственно функция которая сответствует выбраному меню...

Что бы видно было  видно на каком пункте стоит фокус я хочу его выделить..

Но мне щас главное, как обработать клавиатуру!!!!!!!!  

Это сообщение отредактировал(а) Solomon - 22.5.2006, 19:12


--------------------
Если не идти до конца к поставленным целям и не пытатся их достигнуть, каким бы тяжелым не казался путь, то лучше и не ставь их перед собой, но тот кто не ставит перед собой труднодоступные цели, никогда не ощутит эйфорию настоящей победы... победы над миром...
Соломон 2008
PM MAIL ICQ GTalk YIM   Вверх
_hunter
Дата 22.5.2006, 19:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 16
Всего: 98



во-первых: поиском пользуемся:
http://forum.vingrad.ru/index.php?showtopic=94875
а во-вторых там, по-моему, еще какой-то текст есть... 


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Solomon
Дата 22.5.2006, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 471
Регистрация: 23.1.2006
Где: Украина Киев

Репутация: нет
Всего: 2



_hunter, огромное спасибо  smile 
Немного нето, что я хотел, но очень мне помогло.

Цитата

во-первых: поиском пользуемся:

извени ненаучили   smile 

 smile  


--------------------
Если не идти до конца к поставленным целям и не пытатся их достигнуть, каким бы тяжелым не казался путь, то лучше и не ставь их перед собой, но тот кто не ставит перед собой труднодоступные цели, никогда не ощутит эйфорию настоящей победы... победы над миром...
Соломон 2008
PM MAIL ICQ GTalk YIM   Вверх
Solomon
Дата 22.5.2006, 19:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 471
Регистрация: 23.1.2006
Где: Украина Киев

Репутация: нет
Всего: 2



Код

void menu()
{
  int vibor;
  ClearScreen();
  cout<<"\n\n\n";
  _convert("1. Ввод данных\n");
  //convert("2. Опции\n");
  _convert("2. Вывод результата на экран\n");
  _convert("3. Вывод результатов в файл\n");
  _convert("4. Вывод результатов на печать\n");
  _convert("5. Выход\n\n");

  _convert("Введите ваш выбор ->");

  int key = _getch();

  //cin>>vibor;
   
  switch(key)
  {
  case 49:sim.Enter();
    break;
  case 50:sim.Scrin();
    break;
  case 51:sim.file();
    break;
  case 52:sim.print();
    break;
  case 53:sim.exit();
   break;
  }
}


одна загвоздочка... программа сначала предлагает нажать клавишу а потом выводит на экран меню. как сделать обратное??? 


--------------------
Если не идти до конца к поставленным целям и не пытатся их достигнуть, каким бы тяжелым не казался путь, то лучше и не ставь их перед собой, но тот кто не ставит перед собой труднодоступные цели, никогда не ощутит эйфорию настоящей победы... победы над миром...
Соломон 2008
PM MAIL ICQ GTalk YIM   Вверх
MAKCim
Дата 22.5.2006, 20:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



Цитата

одна загвоздочка... программа сначала предлагает нажать клавишу а потом выводит на экран меню. как сделать обратное???  

а по коду наоборот  smile 
что делает _convert ? просто выводит текст? 


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Solomon
Дата 22.5.2006, 21:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 471
Регистрация: 23.1.2006
Где: Украина Киев

Репутация: нет
Всего: 2



Ну вот по коду одно, а получается другое...

насчет _convert вот

Код

void convert(IN LPCSTR fraza)
{
    char name[1000];
    CharToOem(fraza,name);// переводит из кодировки WIN в кодировку DOS
    cout<<name;
}


функция для того, что бы на экран выводился русский текст а не иероглифы. Нашол в нете и немного усовершенствовал  smile   

Это сообщение отредактировал(а) Solomon - 22.5.2006, 21:05


--------------------
Если не идти до конца к поставленным целям и не пытатся их достигнуть, каким бы тяжелым не казался путь, то лучше и не ставь их перед собой, но тот кто не ставит перед собой труднодоступные цели, никогда не ощутит эйфорию настоящей победы... победы над миром...
Соломон 2008
PM MAIL ICQ GTalk YIM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0571 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.