Jak zwiększyś rozmiar czczionki i wyśrodkować menu w konsoli?
Ostatnio zmodyfikowano 2015-10-24 22:57
Asahel Temat założony przez niniejszego użytkownika |
Jak zwiększyś rozmiar czczionki i wyśrodkować menu w konsoli? » 2015-10-24 12:45:53 Powiedzmy, że mam coś takiego: http://zapodaj.net/0e6cd1b75760c.png.htmlChciałbym, stworzyć ładne menu dla mojego programu. Przydałoby się powiększyć napisy i wyśrodkować "menu". A tutaj kod mojego menu:
#include <iostream> #include <string> #include <windows.h>
using namespace std;
int main() { string Menu[ 3 ] = { "Start Game", "Options", "Exit" }; int pointer = 0; while( true ) { system( "cls" ); SetConsoleTextAttribute( GetStdHandle( STD_OUTPUT_HANDLE ), 2 ); cout << "Main Menu\n\n"; for( int i = 0; i < 3; ++i ) { if( i == pointer ) { SetConsoleTextAttribute( GetStdHandle( STD_OUTPUT_HANDLE ), 11 ); cout << Menu[ i ] << endl; } else { SetConsoleTextAttribute( GetStdHandle( STD_OUTPUT_HANDLE ), 15 ); cout << Menu[ i ] << endl; } } while( true ) { if( GetAsyncKeyState( VK_UP ) != 0 ) { pointer -= 1; if( pointer == - 1 ) { pointer = 2; } break; } else if( GetAsyncKeyState( VK_DOWN ) != 0 ) { pointer += 1; if( pointer == 3 ) { pointer = 0; } break; } else if( GetAsyncKeyState( VK_RETURN ) != 0 ) { switch( pointer ) { case 0: { system( "cls" ); cout << "\n\n\nStarting new game..."; Sleep( 1000 ); } break; case 1: { cout << "\n\n\nThis is the options..."; Sleep( 1000 ); } break; case 2: { return 0; } break; } break; } } Sleep( 150 ); } return 0; }
|
|
DejaVu |
» 2015-10-24 15:17:50 To nie tryb graficzny. Jak chcesz mieć większe/inne czcionki to użyj biblioteki graficznej. Wyśrodkowanie napisów to pojęcie względne, ponieważ: - szerokość i wysokość konsoli jest zmienna (więc trzeba ją odczytywać) - nie ma standardowego rozwiązania wieloplatformowego (czyli: albo musisz użyć biblioteki ncurses albo wywoływać funkcje typowe dla konkretnego systemu) Jeżeli chcesz robić interaktywne aplikacje w konsoli to proponuję Ci abyś poczytał Kurs New Curses, C++. |
|
Asahel Temat założony przez niniejszego użytkownika |
brak » 2015-10-24 16:57:07 Rozumiem. Kolejny problem to jak rozplanować to całe menu. To znaczy: menu opcje prowadzi do podmenu. Bez sensu byłoby za każdym razem powielać to co napisałem u góry. Właściwie chciałem stworzyć klasę Menu i klasę opcję. Klasa opcje dziedziczyłaby bo klasie menu funkcję wyświetl i właściwie tylko po to by była. To co jest u góry to właściwie treść całej funkcji wyświetl Poza dwiema linijkami kodu. Jak dostosować tą funkcję do ogólnego przypadku? Jak w ogóle zorganizować to całe menu? Jakieś sugestie? |
|
DejaVu |
» 2015-10-24 22:57:57 Jeden temat = jeden problem. |
|
« 1 » |