2017-09-11 7 views

Répondre

0

Essayez ceci:

  1. Appel glfwWindowHint() pour définir GLFW_DECORATED et GLFW_VISIBLE-false.
  2. Appelez glfwCreateWindow(). Pour obtenir le handle natif de la fenêtre OpenGL, appelez glfwGetWin32Window().
  3. Appelez SetParent() pour définir votre formulaire en tant que nouveau parent de la fenêtre OpenGL.
  4. Appelez GetWindowLong()/SetWindowLong() pour supprimer le WS_POPUP et ajouter le style WS_CHILDWINDOW pour la fenêtre OpenGL.
  5. Appelez ShowWindow() pour enfin rendre la fenêtre OpenGL visible.

J'ai reçu ceci de https://github.com/Chronial/foo_chronflow/blob/master/RenderWindow.h (lignes 29-48).

Vous pouvez également appeler SetWindowPos() pour ajuster la position de la fenêtre OpenGL dans votre formulaire.

+0

Je vais implémenter votre méthode et vous mettre à jour.Ceci est exactement ce que je cherchais – LittleQuest

+0

Obtenir le message d'erreur "glfwGetWin32Window()" non défini.J'ai essayé d'inclure #include après #include mais pas de chance . Y a-t-il des macros particulières que je dois définir? – LittleQuest

+1

J'ai inclus #define GLFW_EXPOSE_NATIVE_WGL #define GLFW_EXPOSE_NATIVE_WIN32 et semble ok maintenant – LittleQuest