Fullscreen



  • wie würde denn in beiden fällen der quellcode aussehen......das prog mach mich mittlerweile so verrückt, sodass ich keine simple schleife mehr hinbekomm *g*



  • Hi,
    für letzteres koennte er so aussehen:

    DEVMODE ScreenSettings =
    		{
    			"", 0, 0,									// BCHAR dmDeviceName[], WORD dmSpecVersion, WORD dmDriverVersion
    			sizeof(ScreenSettings), 0,					// WORD dmSize, WORD dmDriverExtra
    			DM_BITSPERPEL | DM_PELSWIDTH |
    			DM_PELSHEIGHT | DM_DISPLAYFREQUENCY,		// DWORD dmFields
    			0, 0, 0, 0, 0, 								// union dmPosition
    			0, 0, 0, 									// short dmScale, short dmCopies, short dmDefaultSource
    			0, 0, 0,									// short dmPrintQuality, short dmColor, short dmDuplex
    			0, 0, 0,									// short dmYResolution, short dmTTOption, short dmCollate
    			"", 0, Bits, 								// BCHAR dmFormName[], WORD dmLogPixels, DWORD dmBitsPerPel
    			Width, Height, 0,							// DWORD dmPelsWidth, DWORD dmPelsHeight, DWORD dmDisplayFlags
    			Frequency, 0, 0,							// DWORD dmDisplayFrequency, DWORD dmICMMethod, DWORD dmICMIntent
    			0, 0, 0,									// DWORD dmMediaType, DWORD dmDitherType, DWORD dmReserved1
    			0, 0, 0										// DWORD dmReserved2, DWORD dmPanningWidth, DWORD dmPanningHeight
    		};
    		if ( ::ChangeDisplaySettings(&ScreenSettings, CDS_FULLSCREEN) != DISP_CHANGE_SUCCESSFUL)
    			return false;
    

    evtl. klappt es sogar, wenn man statt der Adresse der DEVMODE Struktur einfach Null übergibt. Dann hast du nur noch einen Funktionsaufruf, da du die DEVMODE Struktur anscheinend ja nicht brauchst 😉

    Gruss,
    DeSoVoDaMu



  • hmmm...wenn ich mich richtig gut mit c++ auskennen würde könnt ich sogar was mit dem Programmtext anfangen... Naja muss ich für die null irgendwas einsetzten oder kann ich das so übernehmen??

    Hab im i-net eben noch ne möglichkeit gefunden:

    Form1->Top=0;
    Form1->Left=0;
    Form1->Height=Screen->Height;
    Form1->Width=Screen->Width;
    

    was wäre denn damit??
    Wobei ich jetzt schonma vermute, dass das net hinhaut!



  • .oOJoOo. schrieb:

    was wäre denn damit??
    Wobei ich jetzt schonma vermute, dass das net hinhaut!

    ist keine winapi, sondern vermutlich vcl (nach dem form zu urteilen)



  • ich denk, ihr habt ein Strategiespiel geschrieben, dazu sollte man schon ein wenig C++ koennen (wenn es denn in C++ geschrieben ist) ? o_O
    Also deine 4 Zeilen sehen mir sehr nach Borland aus. 1) glaube ich auch nicht, dass das so geht und 2) waere das in einem anderen Forum besser aufgehoben.

    Zu meinem Beispiel:
    Ich schlage vor, du nimmst das einfach genauso und setzt für Bits die Farbtiefe, für Width die horizontale Bidlschirmaufloesung und für Height die vertikale ein.
    Frequency setzt du auf 0 (dann sollte die Bildschirm Wdh. Frequenz so bleiben - hoffe ich zumindest) oder gleich auf einen festen anderen Wert.
    Die restlichen Nullen etc. kannst du so lassen.

    Gruss,
    DeSoVoDaMu



  • jaaa...wir sollten halt objektorientiert ein strategiespiel entwerfen....hab erst seit dem schuljahr c++ und kenn noch lang nicht alle spezielle befehle und abläufe usw.

    naja ich versuchs ma so wie du beschrieben hast...danke schonma



  • kleine anmerkung noch. winapi ist weder objekt orientiert noch c++



  • i know...

    mit dem objektorientiertem programmieren sind wir ja schon fertig und wir hängen an den einzelheiten fest! Dazu hat eben dieses winapi noch gefhlt...ich hoff ma ich bekomm das am freitag hin!



  • also mein pro zeigt mir imMo

    "", 0, Bits,                                 // BCHAR dmFormName[], WORD dmLogPixels, DWORD dmBitsPerPel
    

    da noch en fehler an!



  • "Er Zeigt mir da noch nen Fehler an" ist eine ungenuegende Fehlerbeschreibung. Poste doch bitte die gesamte Fehlermeldung.
    Hast du "Bits" nicht selbst als Variable definiert ersetze sie doch einfach durch zB 32.

    0, 0, 0,									// short dmYResolution, short dmTTOption, short dmCollate
    				"", 0, 32, 								// BCHAR dmFormName[], WORD dmLogPixels, DWORD dmBitsPerPel
    				1024, 768, 0,							// DWORD dmPelsWidth, DWORD dmPelsHeight, DWORD dmDisplayFlags
    				75, 0, 0,							// DWORD dmDisplayFrequency, DWORD dmICMMethod, DWORD dmICMIntent
    				0, 0, 0,									// DWORD dmMediaType, DWORD dmDitherType, DWORD dmReserved1
    

    Gruss,
    DeSoVoDaMu



  • So ich habs noch ma mit dem Programmtext versucht, den ich eben schonmal gepostet hab:

    frmConquest->Top=0;
    frmConquest->Left=0;
    frmConquest->Height=768;
    frmConquest->Width=1024;
    

    habs jetzt damit hinbekommen...trotzdem danke nochmal für eure bemühungen!



  • For some reason, people think too hard. If you want to create a fullscreen window that covers the taskbar, just create a fullscreen window and the taskbar will automatically get out of the way. Don't go around hunting for the taskbar and poking it; let it do its thing.



  • Ich würde schon sagen das die Winapi objektorientiert ist, nur nicht im Sinne von C++. 😉



  • raymond schrieb:

    For some reason, people think too hard. If you want to create a fullscreen window that covers the taskbar, just create a fullscreen window and the taskbar will automatically get out of the way. Don't go around hunting for the taskbar and poking it; let it do its thing.

    Jaaa... is schon klar! So hab ichs jetzt auch gemacht! den Befehl zum verstecken der Taskleiste hab ich rausgenommen und hab einfach mein Prog auf fullscreen gesetzt!

    Danke für eure Hilfe!


Anmelden zum Antworten