Bonjour,

J'ai déjà beaucoup cherché, mais n'ai pas trouvé la solution à mon problème :
J'essaie de créer une sorte de paint 3D, en openGL, avec interface win32, le tout en C. J'utilise 4 viewports.



J'ai une barre de menus en haut, et une barre de status en bas. Le problème est que dès que je prends en compte le message WM_PAINT, ces deux barres disparaissent, ou ne s'affichent pas bien ( Les boutons ne remontent pas un fois cliqués).
De plus une partie de la zone où dessine opengl se situe en dessous de ces deux barres.

Je ne sais pas comment faire pour redimensionner la zone où dessine opengl. La modification des dimensions des viewports ne change rien.

Mon deuxième problème est le contour du viewport qui est actif. Une fois détecté je l'encadre :

void dessineContours()
{
hpOld = SelectObject(DC,hp2px);
if( !modePleinEcran )
{
switch( viewportActif )
{
case VIEWPORT1:
MoveToEx(DC, 0, 0, NULL);
LineTo(DC, largeur/2, 0);
LineTo(DC, largeur/2, hauteur/2);
LineTo(DC, 0, hauteur/2);
LineTo(DC, 0, 0);
break;
case VIEWPORT2:
MoveToEx(DC, largeur/2, 0, NULL);
LineTo(DC, largeur, 0);
LineTo(DC, largeur, hauteur/2);
LineTo(DC, largeur/2, hauteur/2);
LineTo(DC, largeur/2, 0);
break;
case VIEWPORT3:
MoveToEx(DC, 0, hauteur/2, NULL);
LineTo(DC, largeur/2, hauteur/2);
LineTo(DC, largeur/2, hauteur);
LineTo(DC, 0, hauteur);
LineTo(DC, 0, hauteur/2);
break;
case VIEWPORT4:
MoveToEx(DC, largeur/2, hauteur/2, NULL);
LineTo(DC, largeur, hauteur/2);
LineTo(DC, largeur, hauteur);
LineTo(DC, largeur/2, hauteur);
LineTo(DC, largeur/2, hauteur/2);
break;
}
}
}

Le problème est que le contour n'a pas le temps de se refermer à chaque réaffichage de l'écran, et le viewport n'est donc pas complétement entouré.

Voilà, merci par avance de votre aide