Fenster teilen, links DX9, rechts Steuerelemente



  • Hallo,
    ich bins mal wieder 🙂
    Ich habe eine Frage (ach was?).
    Mein Fenster ist 1200*600 Pixel groß. Ich erstelle einmal das Hauptfenster und dann ein zweites Fenster:

    HWND hGame = CreateWindow(szClassName, 0, WS_VISIBLE | WS_CHILD, 0, 0,
    		800, 600, hWnd, 0, 0, 0);
    

    Ist es erlaubt, in diesem DirectX laufen zu lassen und rechts Steuerelemente zu verwenden? Weil ich habe ein Problem bei SetCooperativeLevel. Der gibt mir nie DI_OK zurück...egal welche von den 4 (FOREGROUND/NONEXCLUSIVE BACKGROUND/EXCLUSIVE BACKROUND/NONEXCLUSIVE FOREGROUND/EXCLUSIVE) ich verwende...ist sowas also nicht erlaubt? Wie könnte man sowas trotzdem erreichen, außer mit einem 2. "externen" Fenster, für die Steuerelemente?

    Gruß,
    Compiler



  • Was heisst "rechts Steuerelemente". Brauchst du DI nicht ehh nur in einem Fenster?

    Bye, TGGC \-/



  • Hi,
    ich habe einmal das Mainfenster....in diesem erstelle ich zwei Childfenster, hGame und hControls...in hControls will ich Steuerelemente einfügen wie man es aus 3DSM kennt...das Tool soll zur Nachbearbeitung von Levels dienen (um den Objekten ihre Aufgabe zuzuteilen (Licht, Trigger etc.)). DirectX will ich nur im Childfenster hGame ablaufen lassen...nur scheint es da Komplikationen mit DirectInput zu geben.
    Danke,
    Gruß,
    Kevin



  • Compiler schrieb:

    DirectX will ich nur im Childfenster hGame ablaufen lassen...nur scheint es da Komplikationen mit DirectInput zu geben.

    Da ich mal grad ungehindert INet Zugriff habe, wollte ich doch mal testen, wie unglaublich lange es dauert, diese Lösung selbst zu finden. Nach 43 Sekunden war meine Recherche beendet.

    Ok, will dir mal die Seite nicht vorenthalten.
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/directx9_c/directx/input/ref/ifaces/idirectinputdevice9/SetCooperativeLevel.asp

    Bleibt nur noch die Frage, ob es die Debug Runtime noch schneller gelöst hätte.

    Bye, TGGC \-/



  • This parameter must be a valid top-level window handle that belongs to the process.

    Hab ich schon gelesen, nur dachte ich, dass ich die Eigenschaft "top-level" falsch interpretiere, weil wieso soll DirectInput nicht auf Childwindows funktionieren?



  • Compiler schrieb:

    wieso soll DirectInput nicht auf Childwindows funktionieren?

    Weil es dort steht.

    Bye, TGGC \-/


Anmelden zum Antworten