2009-06-03 14 views
1

Ich muss in der Lage sein, einen überlagerten Grafikbereich (über DirectX/DirectDraw-Methoden) an beliebiger Stelle auf dem Bildschirm zu setzen oder zumindest in einem Fensterbereich zu verwenden. Hat jemand das geschafft?DirectX Overlay in einem Fenster

Antwort

1

Ich denke, was Sie wollen, ist ein "Layered Window". Hier ist an example, die zeigt, wie man Ebenenfenster mit DirectX (und OpenGL) macht.

Mit einem mehrschichtigen Fenster können Sie Ihren normalen Fensterrahmen transparent (oder halbtransparent) machen, so dass der Inhalt, den Sie zeichnen, über dem Desktop und anderen Fenstern zu schweben scheint.

1

Wir haben vor kurzem eine ähnliche Anwendung erstellt, wo wir C# für alle GUI-Sachen und DirectX für schnelles 3D in einem Fenster verwendet haben. C# war hervorragend für die schnelle GUI-Entwicklung, aber GDI + war nicht schnell genug für unser Programm. Also übersteuerten wir die WndPrc-Funktion in einem Panel in unserem C# -Fenster und übertrugen alle Steuerung von Mausereignissen und Malen auf die C++ - DLL. Das Ergebnis war reibungslos und wir konnten alle Aspekte der schnellen Anwendungsentwicklung mit einem komplexen 3D-Backend kombinieren.