(DirectX)Application in Vollbildmodus bringen



  • Hallo,

    öh sorry das hab ich jetzt erst gesehen *peinlich*. Bitte ein Mod verschieben 😞

    Könntest du deine Antwort vielleicht etwas mehr erläutern ?

    Danke und Gruß
    Christian



  • ATM keine Zeit, aber schau mal in der DX Doku nach Device und Methode Reset. Da steht alles, was du wissen must. 😉



  • Dieser Thread wurde von Moderator/in evilissimo aus dem Forum C++ in das Forum Spiele-/Grafikprogrammierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Hallo,

    ich habe mir das jetzt mal angeschaut und glaube eigentlich nicht, dass es mein Problem löst:

    "A call to Device.Reset fails if made on a different thread than the one used to create the device being reset."

    Da diese Kondition sicher gegeben ist (anderer Thread), bringt der Aufruf auch nichts.

    Gruß
    Christian



  • dwExStyle = WS_EX_APPWINDOW;
    dwStyle = WS_POPUP;
    
    SetWindowLongPtr(hWnd, GWL_EXSTYLE, dwExStyle);
    SetWindowLongPtr(hWnd, GWL_STYLE, dwStyle);
    SetWindowPos(hWnd, HWND_TOPMOST, 0, 0, width, height, SWP_SHOWWINDOW);
    

    ggf. mit ChangeDisplaySettings() auflösung und krams ändern 🙂



  • Hallo,

    nein es geht nicht. Mit Notepad funktioniert es, aber da krieg ich das Fenster (in der aktuellen Größe) auch schon mit SetForegroundWindow in den Vordergrund 🙂

    Es läuft also eigentlich nicht darauf hinaus, die Größe des Fensters zu ändern, sondern das Fenster in den Vordergrund zu bringen.

    Ich vermute mal das Problem liegt darin, dass die DX-Applikation nicht als "Fenster" gehandhabt wird.

    Das muss doch zu lösen sein...

    Gruß
    Christian



  • Also eine DX App ist im ersten Moment immer ein Fenster. Du machst ja ein Fenster, dass du dann "füllst".

    Also normalerweise musst du da nix mehr einstellen, sondern einfach bei den PresentParameters true irgendwo angeben, dann wird das alles ganz automatisch Vollbild. Anders sieht es aus, wenn du das während es bereits läuft machen willst. Aber da funktioniert Device::Reset bestimmt. (Du musst einfach die PresentParameters, die du übergibst anpassen).



  • Wenn ich CBecker richtig verstanden habe, moechte er nicht seine eigene Anwendung in den Vollbildmodus schalten, sondern irgend eine andere.
    Der Sinn dieses Vorhabens entgeht mir allerdings noch...



  • Hallo,

    ja. Das steht doch eindeutig da oder? Scheinbar ein unlösbares Problem 🙂

    Gruß
    Christian



  • Hallo,

    Fehler gefunden. Muss den Code einfach in einem separaten Thread ausführen. Manchmal sieht man den Wald vor lauter Bäumen nicht 🙂

    Gruß
    CBecker


Anmelden zum Antworten