Redéfinition des méthode vb6 TwipsToPixelsY et twipsToPixelsX
Bonjour,
je me suis renseigné afin de pouvoir redéfinir ces deux fonctions dans mon programme vb.net.
quand je fait appel à :
Code:
Me.Width = Compatibility.VB6.TwipsToPixelsX(Compatibility.VB6.PixelsToTwipsX(FrmName.Width) + 340)
je n'ai pas la même valeur que lorsque je fait appel à ma fonction
Code:
TwipsToPixelsX(TwipsToPixels(frmName.width)+340)
. La même chose se produitavec TwipsToPixelsY.
dans le premier cas j'ai la valeur 363 et dans le cas avec ma fonction, j'ai la valeur 24 :aie::aie:
voici mes deux fonctions :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
Private Function TwipsToPixelsY(ByVal twips As Double) As Double
Dim twips_per_inch As Double = 1440.0F
Dim graph As Graphics = Me.CreateGraphics
Dim dpiy As Short = graph.DpiY
graph.Dispose()
Return (twips * dpiy) / twips_per_inch
End Function
Private Function TwipsToPixelsX(ByVal twips As Double) As Double
Dim twips_per_inch As Double = 1440.0F
Dim graph As Graphics = Me.CreateGraphics
Dim dpix As Short = graph.DpiX
graph.Dispose()
Return (twips * dpix) / twips_per_inch
End Function |
par contre si je fait :
Code:
dim i as integer = TwipsToPixelsX(120)
j'ai la même valeur qu'en faisant :
Code:
dim j as integer = Compatibility.VB6.TwipsToPixelsX(120)
c'est à dire 8.
Du coup je ne voit pas vraiment d'où peut provenir le problème ?