Comment forcer une fenêtre à conserver un certain rapport largeur / hauteur lors du redimensionnement

Je veux que ma fenêtre maintienne toujours un certain ratio de, disons 1,33333333. Donc, si la fenêtre est width = 800, height = 600 et que l’utilisateur modifie la largeur à 600, je souhaite modifier la hauteur à 450 automatiquement.

WM_SIZE déjà WM_SIZE mais je ne sais pas si c’est suffisant; De plus, je ne sais pas comment changer la largeur ou la hauteur pour maintenir mon rapport.

WM_SIZING est envoyé à la fenêtre pendant que l’utilisateur redimensionne la fenêtre.

Traitez plutôt WM_WINDOWPOSCHANGING – il est envoyé par la fonction interne SetWindowPos lorsque le code (ou l’utilisateur) modifie la taille de la fenêtre et garantit que même les opérations de mosaïque et de cascade respectent votre stratégie de dimensionnement.

Voir WM_SIZING : http://msdn.microsoft.com/en-us/library/ms632647.aspx

Le traitement de ce message vous permet de modifier la taille de la fenêtre résultante.

Essayez l’événement Resize . Il existe un exemple sur la façon de conserver l’aspect souhaité dans le lien.