Schulze13 Temat założony przez niniejszego użytkownika |
[C++] Tworzenie menu w konsoli » 2012-04-10 15:04:26 Witam, Mam pytanie, czy istnieje możliwość stworzenia menu tekstowego w konsoli, w którym przemieszczanie następowało by po naciśnięciu strzałek góra, dół i zatwierdzenie strzałką w prawo? np PROGRAM
>opcja1 opcja2 exit
po naciśnięciu strzałki w dół. PROGRAM
opcja1 >opcja2 exit
|
|
DejaVu |
» 2012-04-10 15:18:07 |
|
Schulze13 Temat założony przez niniejszego użytkownika |
» 2012-04-10 15:20:31 Dziękuję @edit Niestety po doinstalowaniu 5 header'ów (unctrl.h, termcap.h, cdefs.h, curses.h ncurses.h). Min-GW pokazuje to In file included from c:\mingw\bin\../lib/gcc/mingw32/4.6.1/../../../../include/ncurses.h:23:0, from main.cpp:1: c:\mingw\bin\../lib/gcc/mingw32/4.6.1/../../../../include/curses.h:634:39: error: '_BSD_VA_LIST_' has not been declared c:\mingw\bin\../lib/gcc/mingw32/4.6.1/../../../../include/curses.h:636:38: error: '_BSD_VA_LIST_' has not been declared make[2]: *** [build/Debug/MinGW-Windows/main.o] Error 1 make[1]: *** [.build-conf] Error 2 make: *** [.build-impl] Error 2
|
|
Degezor |
» 2012-04-10 16:22:10 Ja w swoich aplikacjach do menu wykorzystuję taki kod: #include <iostream> #include <windows.h> #include <conio.h>
using namespace std;
void gotoxy( const int x, const int y ) { COORD coord = { x, y }; SetConsoleCursorPosition( GetStdHandle( STD_OUTPUT_HANDLE ), coord ); }
int OpcjaA() { return 0; }
int OpcjaB() { return 0; }
int main() { int wybor; int poprzedniWybor; bool wykonujPetle; while( 1 ) { wybor = 0; poprzedniWybor = wybor; wykonujPetle = true; system( "cls" ); gotoxy( 3, 1 ); cout << "Opcja A"; gotoxy( 3, 3 ); cout << "Opcja B"; gotoxy( 3, 5 ); cout << "Exit"; while( wykonujPetle ) { gotoxy( 1, wybor * 2 + 1 ); cout << static_cast < char >( 16 ); poprzedniWybor = wybor; switch( getch() ) { case 224: switch( getch() ) { case 72: if( 0 < wybor ) wybor--; else wybor = 2; break; case 80: if( wybor < 2 ) wybor++; else wybor = 0; break; case 77: switch( wybor ) { case 0: OpcjaA(); break; case 1: OpcjaB(); break; case 2: return 0; } } break; } gotoxy( 1, poprzedniWybor * 2 + 1 ); cout << " "; } } return 0; }
Jeżeli czegoś nie wiesz - pytaj śmiało |
|
Schulze13 Temat założony przez niniejszego użytkownika |
» 2012-04-10 17:27:28 jeszcze tylko jakie "id" ma ENTER. Program zdecydowanie lepszy bo nie wymaga 5 różnych niestandardowych header'ów @edit jak wy edytować położenie strzałki podczas wyboru? |
|
jankowalski25 |
» 2012-04-10 19:42:24 |
|
Schulze13 Temat założony przez niniejszego użytkownika |
» 2012-04-10 20:50:10 Janie, tą lekcje już przerobiłem, druga biblioteka, możliwe, że nie będzie działała z pętlą. |
|
RazzorFlame |
» 2012-04-11 09:26:43 Schulze13 ty wiesz ze ncurses jest dla linuksa? Zainstaluj normalne "curses". Wpisz se w google c++ curses windows download (no chyba ze masz linuxa :D) |
|
« 1 » 2 |