Größe des Konselenfensters einstellen
-
HI!
Ich muss zuzeit in der Schule eine Projektarbeit machen (einfaches Spiel: Schiffe versenken - bin auch schon so gut wie fertig) um das Spielfeld größer ausgeben zu können bräuchte ich dafür den Befehl um das Konsolenfenster auf eine definirte Größe zu bringen. Ich wusste den schon mal aber hab ihn wieder vergessen. Irgendwas mit set.cols ... irgendwie so?!
lg jakves
-
Standard C++ hat keine Ahnung was ein Fenster ist.
Sag uns die Platform auf welcher du arbeitest, dann können wir dir weiterhelfen, bzw. ein Mod kann dich in das entsprechende Forum verschieben.
Grüssli
-
Vielleicht komm ich mir etwas blöd vor aber ich kann dir nicht genau sagen auf was für einer Plattform ich arbeit -> Noob
Ich arbeite mit DevCpp. Aber nicht nur mit C++ auch C. Also kann es auch sein das es den Befehl unter C gibt?!
lg
-
Nein, es gibt auch keinen Befehl in C, denn Standard C kennt kein Fenster

Aber du wirst doch noch wissen, auf welchem Betriebsystem du arbeitest, oder?
Grüssli
-
jakves schrieb:
Ich arbeite mit DevCpp.
Von Dev-C++ möchte ich dir auch abraten, da das ein veraltetes Projekt ist, das nicht mehr weiterentwickelt wird. Steig doch auf eine moderne IDE um, Beispiele wären Code::Blocks und Microsoft Visual C++ Express.
-
Ja natürlich! ich arbeite unter WINDOWS. Ich meine auch mit Fenster die DOS Konsole.
Werd mir mal die Progs anschauen.
lg
-
Du meinst wohl eher die Win32 Konsole. Mit DOS hat diese Konsole nicht mehr wirklich viel zu tun

Gut, Konsolen Funktionen auf Windows, dass geht über WinAPI (also eigentlich falsches Forum). Hier findest du mal eine Auflistung der nützlichen Konsolenfunktionen:
http://msdn.microsoft.com/en-us/library/ms682073.aspxDie wohl wichtigste Funktion, welche man für alle anderen Funktionen auch braucht:
http://msdn.microsoft.com/en-us/library/ms683231.aspxNun kommt die Frage, willst du die Fenstergrösse verändern oder die Puffergrösse. Das sind nämlich zwei unterschiedliche Dinge. Um die Puffergrösse zu verändern, kannst du diese Funktion benutzen:
http://msdn.microsoft.com/en-us/library/ms686044.aspxDie Funktion benötigt das Output Handle, welches du über
GetStdHandlebekommst (bereits erwähnt).Falls du daran interessiert bist, die grösse des Fensters zu verändern, wobei dieses nicht grösser sein kann, als der Puffer im Fenster zulässt, dann musst du dir das Handle zum Konsolenfenster holen, mit dieser Funktion:
http://msdn.microsoft.com/en-us/library/ms683175.aspxDamit stehen dir nun alle Funktionen für Fenster offen:
http://msdn.microsoft.com/en-us/library/dd469351.aspxDu kannst die Grösse des Fensters über eine dieser beiden Funktionen verändern:
http://msdn.microsoft.com/en-us/library/ms633545.aspx
http://msdn.microsoft.com/en-us/library/ms633534.aspxZu empfehlen ist
MoveWindow. Für beide Funktionen brauchst du allerdings noch die aktuelle Position. Diese holst du über eine dieser beiden Funktionen:
http://msdn.microsoft.com/en-us/library/ms633518.aspx
http://msdn.microsoft.com/en-us/library/ms633519.aspxDie Empfehlung liegt hier bei
GetWindowRect.Ich hoffe, dass dies dich nun weiterbringen wird.
Grüssli
-
jakves schrieb:
Ja natürlich! ich arbeite unter WINDOWS. Ich meine auch mit Fenster die DOS Konsole.
Dann brauchst Du:
SetConsoleWindowInfo
und eventuell
SetConsoleScreenBufferSize