Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

Unmanaged DirectX + Windows Forms ?

Hallo,
Ich lerne zur Zeit DirectX programmierung mit Visual C++ und schreibe eine Grafik-Engine.(unmanaged DirectX)

Später möchte ich einen 3D Editor (Level editor) entwickeln, eine Windows Forms Application, managed C++ oder C#. Kann der managed Editor dann auf die unmanaged Grafik-Engine (engine.dll) zugreifen. Ich weiss, dass das möglich ist aber nicht wie ich es realisieren kann. Ich kenne mich mit .Net nicht aus. Der Engine ist eine DLL und komplett unmanaged DirectX / C++.

PS: Ich benutzte Visual Studio.NET 2003 Academic


Danke im voraus


Antworten zu Unmanaged DirectX + Windows Forms ?:

okay, jetzt weiss ich wie das geht... Handle von control, wo man grafik zeichen will, muss man in HWND konvertieren
Das geht so:
HWND pHandle = (HWND)form->pictureBoxRender->get_Handle().ToPointer();

der Rest ist kein Problem... ;D




Eine Win32 Application:

int WINAPI WinMain(HINSTANCE hInstance,
       HINSTANCE hPrevInstance,
       LPSTR      lpCmdLine,
       int      nCmdShow)
{
   Engine::eEngine   engine;

   // hWnd = createWindow etc...
   
   // initialize Direct3D
   engine.Start(hWnd,hInstance,TRUE)
   
   while(msg.message!=WM_QUIT)
   {
      if(PeekMessage(&msg,NULL,0,0,PM_REMOVE))
      {
         TranslateMessage(&msg);
         DispatchMessage(&msg);
      }
      else
      {
         engine.Run();
      }
   }

   return 0;
}




Eine Windows forms Application:

int APIENTRY _tWinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPTSTR    lpCmdLine,
                     int       nCmdShow)
{
   Engine::eEngine engine;

   Form1* form = new Form1();
   HWND pHandle = (HWND)form->pictureBoxRender->get_Handle().ToPointer();

   // initialize Direct3D
   engine.Start(pHandle,hInstance,true);
   

   form->Show();
   while(form->Created)
   {
      engine.Run();
      Application::DoEvents();
   }
   
   return 0;
}


« Mit was wurde Internet Explorer entwickelt?Wurzel Befehl? »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Zugriffszeit
In Milisekunden angegebene Zeit, die das Speichermedium zum Erreichen der gesuchten Daten braucht. Die Zeit ist abhängig vom technischen Verfahren des Mediums sowie ...

Reaktionszeit
In der Elektronik versteht man unter der Reaktionszeit die Zeit, die ein Flachbildschirm benötigt, um die Farbe und die Helligkeit eines Bildpunktes zu ändern. ...

C++
C++ ist eine von der ISO standardisierte Programmiersprache und eine erweiterte Form von C zur objektorientierten, generischen und prozeduralen Programmierung. Weitestgeh...