Vollbild ?!
-
Wie ich neulich eine Konsole in den Vollildmodus bringen wollte ( Habe die Tasten kombi : Enter+Alt : an windows geschickt ) kam die meldung : Vollbildmodus wird von diesem System nicht unterstützt ! : ( Mein system ist Win Vista ) !
Aber jetzt das Krasse an der Sache : Ich habe im interne einen Code gefunden der die SDL benutzt . Habe die beigelegte Applikation starten wollen und siehe da :
Die Konsole Schlatet in den Fullscreen!
Habe dann den Quellcode geprüft . War im "Konsolenformat" geschrieben !!!
Meine Frage - warum funktioniert das mit der SDL und nicht mit dem ganz normalen Befehl Alt+Enter
??
(Ich bin kein Profi
, bitte ganz einfach erklären
)
-
weil vista kacke ist ?
-
das würde ich jetz auch sagen.......... :p
-
C++Laie1 schrieb:
Meine Frage - warum funktioniert das mit der SDL und nicht mit dem ganz normalen Befehl Alt+Enter
??
Weil die Win32-Konsole es nicht kann, die SDL aber schon? Die Konsole ist auch nur ein Programm, das Funktionen anbietet. Wenn die Konsole die Funktion nicht hat, dann hat sie sie nicht.
-
Die Konsole kann in den Fullscreen modus verstzt werden , aber NICHT unter Vista !!
-
Probier's doch auch einmal per Code:
#include <windows.h> #include <iostream> #include <cstdlib> class console{ private: bool current_mode; public: void toggle_displaymode(void){ if(this->current_mode==false){ this->set_consoledisplaymode_fullscreen(); system("CLS"); std::cout<<"FULLSCREEN"; } else{ this->set_consoledisplaymode_window(); system("CLS"); std::cout<<"WINDOW"; } } private: void set_consoledisplaymode_fullscreen(void){ HMODULE kernel32_dll=LoadLibraryA("kernel32.dll"); typedef BOOL(WINAPI *mac)(HANDLE,DWORD,PCOORD); const char *fname="SetConsoleDisplayMode"; mac set_mode=reinterpret_cast<mac>(GetProcAddress(kernel32_dll,fname)); COORD new_dimension; set_mode(GetStdHandle(STD_OUTPUT_HANDLE),1,&new_dimension); this->current_mode=true; } void set_consoledisplaymode_window(void){ HMODULE kernel32_dll=LoadLibraryA("kernel32.dll"); typedef BOOL(WINAPI *mac)(HANDLE,DWORD,PCOORD); const char *fname="SetConsoleDisplayMode"; mac set_mode=reinterpret_cast<mac>(GetProcAddress(kernel32_dll,fname)); COORD new_dimension; set_mode(GetStdHandle(STD_OUTPUT_HANDLE),2,&new_dimension); this->current_mode=false; } }; int main(void){ console con; LOOP: con.toggle_displaymode(); char inp; std::cin.get(inp); if(inp=='Q'||inp=='q'){ return 0; } else{ goto LOOP; } }
-
Der code funzt auch nicht , es wird zwar Winowed und fullscreen angezeigt aber so wirklich ändern tut sich nix !!
-
hi !
ich selbär hab vista nicht, aber kann man die konsole bei vista überhaupt in den vollbildmodus schalten ?
-
wenn ja, dann wird das wohl auch programmgesteuert gehen.