Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
User_User JLI'ler
Anmeldedatum: 05.08.2004 Beiträge: 137
Medaillen: Keine
|
Verfasst am: 09.11.2008, 13:45 Titel: Oberflächenelemente und DirectX |
|
|
Ich habe eine Fensteranwendung, bei der ich ständig mit DirectX in den Client-Bereich in das Fenster hineinzeichne.
Nun habe ich versucht, eine Toolbar (Win32-API) zu erstellen.
Ich musste feststellen, dass eine Toolbar ein eigenes Fenster darstellt und durch das ständige Neuzeichnen in den Client-Bereich des Hauptfensters überschrieben wird.
Nun werde ich wahrscheinlich eine Oberfläche mit DirectX anlegen, in die ich die Toolbar als Bild ablege.
Nun meine Frage: Das gleiche Problem müsste man eigentlich auch mit .NET haben, oder?
Wenn dem so ist, dann dürfte für einen DirectX-Programmierer die NET-Umgebung teilweise unbrauchbar und damit uninteressant sein. |
|
Nach oben |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 09.11.2008, 15:06 Titel: |
|
|
Wieso erstellst du nicht ein Unterfenster, in das du mit DX zeichnest?
Dann würde genau gar nix von der Toolbar überschrieben, und gut ist _________________ https://jonathank.de/games/ |
|
Nach oben |
|
|
User_User JLI'ler
Anmeldedatum: 05.08.2004 Beiträge: 137
Medaillen: Keine
|
Verfasst am: 09.11.2008, 16:16 Titel: |
|
|
Danke, gute Idee!
Damit könnte ich ohne zusätzlichen Aufwand das Child-Fenster mit der Maus ziehen. |
|
Nach oben |
|
|
User_User JLI'ler
Anmeldedatum: 05.08.2004 Beiträge: 137
Medaillen: Keine
|
Verfasst am: 12.11.2008, 18:00 Titel: |
|
|
Jonathan_Klein hat geschrieben:
Zitat: | Wieso erstellst du nicht ein Unterfenster, in das du mit DX zeichnest?
Dann würde genau gar nix von der Toolbar überschrieben, und gut ist |
Ich glaube, dass ich eine bessere Lösung gefunden habe.
Die Toolbar platziere ich unter dem Menü.
Bei IDirect3DDevice9::Present() schränke ich den Fensterbereich etwas ein.
Außerdem ist das das Rendern einer mit CreateOffscreenPlainSurface() erstellten Oberfläche in ein child-Fenster mir nicht geläufig. Bräuchte ich denn dafür nicht einen zweiten DirectX-Device bzw. hast du dies selbst schon einmal so gemacht? |
|
Nach oben |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 12.11.2008, 18:52 Titel: |
|
|
Ich habe in meinem Editor damals ein einfaches Fenster als Child des Hauptfenster gemacht und DirectX beim initialisieren dann dieses Fensterhandle übergeben und es hat wunderbar geklappt. _________________ https://jonathank.de/games/ |
|
Nach oben |
|
|
User_User JLI'ler
Anmeldedatum: 05.08.2004 Beiträge: 137
Medaillen: Keine
|
Verfasst am: 12.11.2008, 19:25 Titel: |
|
|
Ah, jetzt verstehe ich
Die DirectX-Ausgabe des Hauptprogramms in das Child Fenster.
Ich dachte die DirectX-Ausgabe des Hauptprogramms in das Hauptfenster und eine extra DirectX-Ausgabe (der Bitmap der Toolbar) in das Toolbar(Child)-Fenster.
Danke! |
|
Nach oben |
|
|
|