Affichage sur écran de résolution différente
Bonjour,
L'affichage des feuilles de mon application se fait parfaitement sur des écrans 1920 X 1080
Des utilisateurs ont maintenant des écrans 2880 X 1800 en écran externe sous Windows 11
Je sais détecter la largeur et la hauteur de l'écran par cette fonction
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| Declare PtrSafe Function GetSystemMetrics32 Lib "User32" Alias "GetSystemMetrics" (ByVal nIndex As Long) As Long
Public Function Largeur()
On Error GoTo fin
Largeur = GetSystemMetrics32(0) ' en pixels
fin:
End Function
Public Function Hauteur()
On Error GoTo fin
Hauteur = GetSystemMetrics32(1) ' en pixels
fin:
End Function |
Ensuite adapter les feuilles par
Code:
1 2 3 4 5 6 7 8
| Sub Zoom()
Select Case Largeur
Case 1920: ActiveWindow.Zoom = 100
Case Else: ActiveWindow.Zoom = 72
End Select
End Sub |
Le problème est que les 2 résolutions d'écran 1920 X 1080 et 2880 X 1800 ne sont pas proportionnelles
Du coup on profite pas de la largeur de l'écran en 2880, la fonction "Zoom" gardant les proportions
Peut-on afficher les feuilles en adaptant à la fois la largeur ET la hauteur.
Merci