Bonjour,

Je suis confronté au problème suivant : je développe sous XP en VB6 une application que je souhaite également faire tourner sous Seven.

J'utilise la police par défaut de vb6. Sous Seven, elle apparaît agrandie.

J'ai fait pas mal de recherches sur le sujet, mais je n'ai rien trouvé d'exploitable à mon niveau.

Du coup j'ai écrit un petit utilitaire un petit utilitaire qui permet de demander une taille de police et de lire la taille de ce qui est affiché par VB (ben oui, c'est pas pareil!), on voit que la police par défaut de VB accepte des tailles de 8.25 - 9.75 - 12 - 13.5...
J'ai demandé à un ami de faire tourner sous Seven (mon ordi sous Seven est dans des cartons de déménagement) et il obtient des tailles de 11.5 - 11.75 - 14.75...
Au vu d'une capture d'écran, la taille 11.5 sous Seven correspond à 9.75 sous XP et il est impossible d'obtenir l'équivalent à 8.25

Ci-dessous le code du petit soft que j'ai écrit pour tester ça (le .exe dans le lien ci-dessus).

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Option Explicit
 
Dim TaillePolice As Single
 
Private Sub Form_Load()
   TaillePolice = 8
   lblTaillePolice.Caption = CStr(TaillePolice)
   lblTexteDeTest.FontSize = TaillePolice
   lblTailleAffichee = CStr(lblTexteDeTest.FontSize)
   chkFond.Value = vbChecked
End Sub
 
Private Sub cmdTaillePolice_Click(Index As Integer)
   Select Case Index
   Case 0
   'diminuer la taille
      If TaillePolice >= 3 Then TaillePolice = TaillePolice - 0.25
   Case 1
   'augmenter la taille
      If TaillePolice < 100 Then TaillePolice = TaillePolice + 0.25
   End Select
   lblTaillePolice.Caption = CStr(TaillePolice)
   lblTexteDeTest.FontSize = TaillePolice
   lblTailleAffichee.Caption = CStr(lblTexteDeTest.FontSize)
End Sub
 
Private Sub chkCadre_Click()
   If chkCadre.Value = vbChecked Then
      lblTexteDeTest.BorderStyle = 1
   ElseIf chkCadre.Value = vbUnchecked Then
      lblTexteDeTest.BorderStyle = 0
   End If
End Sub
 
Private Sub chkFond_Click()
   If chkFond.Value = vbChecked Then
      lblTexteDeTest.BackStyle = 1
   ElseIf chkFond.Value = vbUnchecked Then
      lblTexteDeTest.BackStyle = 0
   End If
End Sub
Il semblerait donc que la police utilisée sous XP ne soit pas présente sur Seven et qu'il utilise une autre police dont il agrandit la taille. En effet, sous XP je suis en 8.25 et ça devient du 11.5 sous Seven, équivalent à du 9.75 XP...
Sauriez-vous me dire comment faire pour avoir le même aspect sous XP et Seven? Sans bidouiller la base de registre, il faudrait un truc qui marche assez simplement. Genre changer de police, en installer une nouvelle, ou un truc du genre (que je n'ai jamais fait, mais je peux apprendre...).

Merci d'avance de votre aide.
Bien cordialement,
Renaud.