Y a-t-il un moyen de trouver (par VB) la largeur et la hauteur en pixels
d'un caractère d'une police donnée.
C'est en effet nécessaire, en conjonction avec screen.twipsperpixelX (ou Y)
pour définir la taille exacte d'un contrôle qui contient un certain texte,
et ce quel que soit l'écran.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jacques93
Bonjour Barsalou, Barsalou a écrit :
Bonjour
Y a-t-il un moyen de trouver (par VB) la largeur et la hauteur en pixels d'un caractère d'une police donnée. C'est en effet nécessaire, en conjonction avec screen.twipsperpixelX (ou Y) pour définir la taille exacte d'un contrôle qui contient un certain texte, et ce quel que soit l'écran.
Private Declare Function GetTextExtentPoint32 Lib "gdi32" Alias _ "GetTextExtentPoint32A" _ (ByVal hdc As Long, ByVal lpsz As String, _ ByVal cbString As Long, lpSize As SIZE) As Long Private Type SIZE cx As Long cy As Long End Type
Private Sub Form_Load() Dim lResult As Long Dim sz As SIZE
lResult = GetTextExtentPoint32(Me.Picture1.hdc, "F", 1&, sz) Debug.Print "Hauteur : " & sz.cy Debug.Print "Largeur : " & sz.cx End Sub
-- Cordialement,
Jacques.
Bonjour Barsalou,
Barsalou a écrit :
Bonjour
Y a-t-il un moyen de trouver (par VB) la largeur et la hauteur en pixels
d'un caractère d'une police donnée.
C'est en effet nécessaire, en conjonction avec screen.twipsperpixelX (ou
Y) pour définir la taille exacte d'un contrôle qui contient un certain
texte, et ce quel que soit l'écran.
Private Declare Function GetTextExtentPoint32 Lib "gdi32" Alias _
"GetTextExtentPoint32A" _
(ByVal hdc As Long, ByVal lpsz As String, _
ByVal cbString As Long, lpSize As SIZE) As Long
Private Type SIZE
cx As Long
cy As Long
End Type
Private Sub Form_Load()
Dim lResult As Long
Dim sz As SIZE
Y a-t-il un moyen de trouver (par VB) la largeur et la hauteur en pixels d'un caractère d'une police donnée. C'est en effet nécessaire, en conjonction avec screen.twipsperpixelX (ou Y) pour définir la taille exacte d'un contrôle qui contient un certain texte, et ce quel que soit l'écran.
Private Declare Function GetTextExtentPoint32 Lib "gdi32" Alias _ "GetTextExtentPoint32A" _ (ByVal hdc As Long, ByVal lpsz As String, _ ByVal cbString As Long, lpSize As SIZE) As Long Private Type SIZE cx As Long cy As Long End Type
Private Sub Form_Load() Dim lResult As Long Dim sz As SIZE
lResult = GetTextExtentPoint32(Me.Picture1.hdc, "F", 1&, sz) Debug.Print "Hauteur : " & sz.cy Debug.Print "Largeur : " & sz.cx End Sub
-- Cordialement,
Jacques.
Eric Barsalou
Merci
Je venais de trouver cet API mais c'est encore mieux que tout le boulot soit fait !
"Jacques93" a écrit dans le message de news:
Bonjour Barsalou, Barsalou a écrit :
Bonjour
Y a-t-il un moyen de trouver (par VB) la largeur et la hauteur en pixels d'un caractère d'une police donnée. C'est en effet nécessaire, en conjonction avec screen.twipsperpixelX (ou Y) pour définir la taille exacte d'un contrôle qui contient un certain texte, et ce quel que soit l'écran.
Private Declare Function GetTextExtentPoint32 Lib "gdi32" Alias _ "GetTextExtentPoint32A" _ (ByVal hdc As Long, ByVal lpsz As String, _ ByVal cbString As Long, lpSize As SIZE) As Long Private Type SIZE cx As Long cy As Long End Type
Private Sub Form_Load() Dim lResult As Long Dim sz As SIZE
lResult = GetTextExtentPoint32(Me.Picture1.hdc, "F", 1&, sz) Debug.Print "Hauteur : " & sz.cy Debug.Print "Largeur : " & sz.cx End Sub
-- Cordialement,
Jacques.
Merci
Je venais de trouver cet API mais c'est encore mieux que tout le boulot soit
fait !
"Jacques93" <jacques@Nospam> a écrit dans le message de
news:u0CBSGVUIHA.5404@TK2MSFTNGP06.phx.gbl...
Bonjour Barsalou,
Barsalou a écrit :
Bonjour
Y a-t-il un moyen de trouver (par VB) la largeur et la hauteur en pixels
d'un caractère d'une police donnée.
C'est en effet nécessaire, en conjonction avec screen.twipsperpixelX (ou
Y) pour définir la taille exacte d'un contrôle qui contient un certain
texte, et ce quel que soit l'écran.
Private Declare Function GetTextExtentPoint32 Lib "gdi32" Alias _
"GetTextExtentPoint32A" _
(ByVal hdc As Long, ByVal lpsz As String, _
ByVal cbString As Long, lpSize As SIZE) As Long
Private Type SIZE
cx As Long
cy As Long
End Type
Private Sub Form_Load()
Dim lResult As Long
Dim sz As SIZE
Je venais de trouver cet API mais c'est encore mieux que tout le boulot soit fait !
"Jacques93" a écrit dans le message de news:
Bonjour Barsalou, Barsalou a écrit :
Bonjour
Y a-t-il un moyen de trouver (par VB) la largeur et la hauteur en pixels d'un caractère d'une police donnée. C'est en effet nécessaire, en conjonction avec screen.twipsperpixelX (ou Y) pour définir la taille exacte d'un contrôle qui contient un certain texte, et ce quel que soit l'écran.
Private Declare Function GetTextExtentPoint32 Lib "gdi32" Alias _ "GetTextExtentPoint32A" _ (ByVal hdc As Long, ByVal lpsz As String, _ ByVal cbString As Long, lpSize As SIZE) As Long Private Type SIZE cx As Long cy As Long End Type
Private Sub Form_Load() Dim lResult As Long Dim sz As SIZE
lResult = GetTextExtentPoint32(Me.Picture1.hdc, "F", 1&, sz) Debug.Print "Hauteur : " & sz.cy Debug.Print "Largeur : " & sz.cx End Sub
-- Cordialement,
Jacques.
Driss HANIB
salut Jacques93 est-ce que cette api est l'équivalent de la propriété TextWidth ?
Driss
"Jacques93" a écrit dans le message de news:
Bonjour Barsalou, Barsalou a écrit : > Bonjour > > Y a-t-il un moyen de trouver (par VB) la largeur et la hauteur en pixels > d'un caractère d'une police donnée. > C'est en effet nécessaire, en conjonction avec screen.twipsperpixelX (ou > Y) pour définir la taille exacte d'un contrôle qui contient un certain > texte, et ce quel que soit l'écran. >
Private Declare Function GetTextExtentPoint32 Lib "gdi32" Alias _ "GetTextExtentPoint32A" _ (ByVal hdc As Long, ByVal lpsz As String, _ ByVal cbString As Long, lpSize As SIZE) As Long Private Type SIZE cx As Long cy As Long End Type
Private Sub Form_Load() Dim lResult As Long Dim sz As SIZE
lResult = GetTextExtentPoint32(Me.Picture1.hdc, "F", 1&, sz) Debug.Print "Hauteur : " & sz.cy Debug.Print "Largeur : " & sz.cx End Sub
-- Cordialement,
Jacques.
salut Jacques93
est-ce que cette api est l'équivalent de la propriété TextWidth ?
Driss
"Jacques93" <jacques@Nospam> a écrit dans le message de
news:u0CBSGVUIHA.5404@TK2MSFTNGP06.phx.gbl...
Bonjour Barsalou,
Barsalou a écrit :
> Bonjour
>
> Y a-t-il un moyen de trouver (par VB) la largeur et la hauteur en pixels
> d'un caractère d'une police donnée.
> C'est en effet nécessaire, en conjonction avec screen.twipsperpixelX (ou
> Y) pour définir la taille exacte d'un contrôle qui contient un certain
> texte, et ce quel que soit l'écran.
>
Private Declare Function GetTextExtentPoint32 Lib "gdi32" Alias _
"GetTextExtentPoint32A" _
(ByVal hdc As Long, ByVal lpsz As String, _
ByVal cbString As Long, lpSize As SIZE) As Long
Private Type SIZE
cx As Long
cy As Long
End Type
Private Sub Form_Load()
Dim lResult As Long
Dim sz As SIZE
salut Jacques93 est-ce que cette api est l'équivalent de la propriété TextWidth ?
Driss
"Jacques93" a écrit dans le message de news:
Bonjour Barsalou, Barsalou a écrit : > Bonjour > > Y a-t-il un moyen de trouver (par VB) la largeur et la hauteur en pixels > d'un caractère d'une police donnée. > C'est en effet nécessaire, en conjonction avec screen.twipsperpixelX (ou > Y) pour définir la taille exacte d'un contrôle qui contient un certain > texte, et ce quel que soit l'écran. >
Private Declare Function GetTextExtentPoint32 Lib "gdi32" Alias _ "GetTextExtentPoint32A" _ (ByVal hdc As Long, ByVal lpsz As String, _ ByVal cbString As Long, lpSize As SIZE) As Long Private Type SIZE cx As Long cy As Long End Type
Private Sub Form_Load() Dim lResult As Long Dim sz As SIZE
lResult = GetTextExtentPoint32(Me.Picture1.hdc, "F", 1&, sz) Debug.Print "Hauteur : " & sz.cy Debug.Print "Largeur : " & sz.cx End Sub
-- Cordialement,
Jacques.
Driss HANIB
Euh..
je voulais dire est -ce que cette api est l'équivalent de la propriété TextHeight ?
Driss
"Eric Barsalou" a écrit dans le message de news:
Merci
Je venais de trouver cet API mais c'est encore mieux que tout le boulot
soit
fait !
"Jacques93" a écrit dans le message de news: > Bonjour Barsalou, > Barsalou a écrit : >> Bonjour >> >> Y a-t-il un moyen de trouver (par VB) la largeur et la hauteur en
pixels
>> d'un caractère d'une police donnée. >> C'est en effet nécessaire, en conjonction avec screen.twipsperpixelX
(ou
>> Y) pour définir la taille exacte d'un contrôle qui contient un certain >> texte, et ce quel que soit l'écran. >> > > Voir du côté de l'API GetTextExtentPoint32 ? > > <http://msdn2.microsoft.com/en-us/library/ms534223(VS.85).aspx> > > Option Explicit > > Private Declare Function GetTextExtentPoint32 Lib "gdi32" Alias _ > "GetTextExtentPoint32A" _ > (ByVal hdc As Long, ByVal lpsz As String, _ > ByVal cbString As Long, lpSize As SIZE) As Long > Private Type SIZE > cx As Long > cy As Long > End Type > > Private Sub Form_Load() > Dim lResult As Long > Dim sz As SIZE > > Picture1.Visible = False > Picture1.AutoRedraw = True > Picture1.Print "F" > > lResult = GetTextExtentPoint32(Me.Picture1.hdc, "F", 1&, sz) > Debug.Print "Hauteur : " & sz.cy > Debug.Print "Largeur : " & sz.cx > End Sub > > -- > Cordialement, > > Jacques.
Euh..
je voulais dire est -ce que cette api est l'équivalent de la propriété
TextHeight ?
Driss
"Eric Barsalou" <ericmettreunpointbarsalou@orange.fr> a écrit dans le
message de news:A35E684A-9E9C-4CC4-863B-F0B6297ED635@microsoft.com...
Merci
Je venais de trouver cet API mais c'est encore mieux que tout le boulot
soit
fait !
"Jacques93" <jacques@Nospam> a écrit dans le message de
news:u0CBSGVUIHA.5404@TK2MSFTNGP06.phx.gbl...
> Bonjour Barsalou,
> Barsalou a écrit :
>> Bonjour
>>
>> Y a-t-il un moyen de trouver (par VB) la largeur et la hauteur en
pixels
>> d'un caractère d'une police donnée.
>> C'est en effet nécessaire, en conjonction avec screen.twipsperpixelX
(ou
>> Y) pour définir la taille exacte d'un contrôle qui contient un certain
>> texte, et ce quel que soit l'écran.
>>
>
> Voir du côté de l'API GetTextExtentPoint32 ?
>
> <http://msdn2.microsoft.com/en-us/library/ms534223(VS.85).aspx>
>
> Option Explicit
>
> Private Declare Function GetTextExtentPoint32 Lib "gdi32" Alias _
> "GetTextExtentPoint32A" _
> (ByVal hdc As Long, ByVal lpsz As String, _
> ByVal cbString As Long, lpSize As SIZE) As Long
> Private Type SIZE
> cx As Long
> cy As Long
> End Type
>
> Private Sub Form_Load()
> Dim lResult As Long
> Dim sz As SIZE
>
> Picture1.Visible = False
> Picture1.AutoRedraw = True
> Picture1.Print "F"
>
> lResult = GetTextExtentPoint32(Me.Picture1.hdc, "F", 1&, sz)
> Debug.Print "Hauteur : " & sz.cy
> Debug.Print "Largeur : " & sz.cx
> End Sub
>
> --
> Cordialement,
>
> Jacques.
je voulais dire est -ce que cette api est l'équivalent de la propriété TextHeight ?
Driss
"Eric Barsalou" a écrit dans le message de news:
Merci
Je venais de trouver cet API mais c'est encore mieux que tout le boulot
soit
fait !
"Jacques93" a écrit dans le message de news: > Bonjour Barsalou, > Barsalou a écrit : >> Bonjour >> >> Y a-t-il un moyen de trouver (par VB) la largeur et la hauteur en
pixels
>> d'un caractère d'une police donnée. >> C'est en effet nécessaire, en conjonction avec screen.twipsperpixelX
(ou
>> Y) pour définir la taille exacte d'un contrôle qui contient un certain >> texte, et ce quel que soit l'écran. >> > > Voir du côté de l'API GetTextExtentPoint32 ? > > <http://msdn2.microsoft.com/en-us/library/ms534223(VS.85).aspx> > > Option Explicit > > Private Declare Function GetTextExtentPoint32 Lib "gdi32" Alias _ > "GetTextExtentPoint32A" _ > (ByVal hdc As Long, ByVal lpsz As String, _ > ByVal cbString As Long, lpSize As SIZE) As Long > Private Type SIZE > cx As Long > cy As Long > End Type > > Private Sub Form_Load() > Dim lResult As Long > Dim sz As SIZE > > Picture1.Visible = False > Picture1.AutoRedraw = True > Picture1.Print "F" > > lResult = GetTextExtentPoint32(Me.Picture1.hdc, "F", 1&, sz) > Debug.Print "Hauteur : " & sz.cy > Debug.Print "Largeur : " & sz.cx > End Sub > > -- > Cordialement, > > Jacques.
Jacques93
Bonjour Driss HANIB, Driss HANIB a écrit :
salut Jacques93 est-ce que cette api est l'équivalent de la propriété TextWidth ?
Oui, tu as tout à fait raison, TextHeight et TextWidth renvoient des valeurs équivalentes à l'API(par défaut en twips, en pixels pour l'API).
Je ne sais plus à quelle occasion j'ai utilisé cette API, (faudrait que je retrouve le projet pour voir si ce choix avait une raison valable), Mais résultat : c'est la première réponse qui m'est venue
-- Cordialement,
Jacques.
Bonjour Driss HANIB,
Driss HANIB a écrit :
salut Jacques93
est-ce que cette api est l'équivalent de la propriété TextWidth ?
Oui, tu as tout à fait raison, TextHeight et TextWidth renvoient des
valeurs équivalentes à l'API(par défaut en twips, en pixels pour l'API).
Je ne sais plus à quelle occasion j'ai utilisé cette API, (faudrait que
je retrouve le projet pour voir si ce choix avait une raison valable),
Mais résultat : c'est la première réponse qui m'est venue
salut Jacques93 est-ce que cette api est l'équivalent de la propriété TextWidth ?
Oui, tu as tout à fait raison, TextHeight et TextWidth renvoient des valeurs équivalentes à l'API(par défaut en twips, en pixels pour l'API).
Je ne sais plus à quelle occasion j'ai utilisé cette API, (faudrait que je retrouve le projet pour voir si ce choix avait une raison valable), Mais résultat : c'est la première réponse qui m'est venue
-- Cordialement,
Jacques.
Jacques93
Jacques93 a écrit :
Bonjour Driss HANIB, Driss HANIB a écrit :
salut Jacques93 est-ce que cette api est l'équivalent de la propriété TextWidth ?
Oui, tu as tout à fait raison, TextHeight et TextWidth renvoient des valeurs équivalentes à l'API(par défaut en twips, en pixels pour l'API).
Je ne sais plus à quelle occasion j'ai utilisé cette API, (faudrait que je retrouve le projet pour voir si ce choix avait une raison valable),
Bon, j'ai retrouvé le projet en question, et je ne vois pas de raison d'avoir utilisée l'API. Donc :
Private Sub Form_Load() Dim lResult As Long Dim s As String Dim sz As SIZE
s = "Pourquoi faire simple quand on peut faire compliqué ;-) ?" lResult = GetTextExtentPoint32(Me.hdc, s, Len(s), sz) Debug.Print "Hauteur : " & sz.cy & " - " & _ Me.TextHeight(s) / Screen.TwipsPerPixelY Debug.Print "Largeur : " & sz.cx & " -" & _ Me.TextWidth(s) / Screen.TwipsPerPixelY End Sub
==> ça donne rigoureusement la même chose.
-- Cordialement,
Jacques.
Jacques93 a écrit :
Bonjour Driss HANIB,
Driss HANIB a écrit :
salut Jacques93
est-ce que cette api est l'équivalent de la propriété TextWidth ?
Oui, tu as tout à fait raison, TextHeight et TextWidth renvoient des
valeurs équivalentes à l'API(par défaut en twips, en pixels pour l'API).
Je ne sais plus à quelle occasion j'ai utilisé cette API, (faudrait que
je retrouve le projet pour voir si ce choix avait une raison valable),
Bon, j'ai retrouvé le projet en question, et je ne vois pas de raison
d'avoir utilisée l'API. Donc :
Private Sub Form_Load()
Dim lResult As Long
Dim s As String
Dim sz As SIZE
s = "Pourquoi faire simple quand on peut faire compliqué ;-) ?"
lResult = GetTextExtentPoint32(Me.hdc, s, Len(s), sz)
Debug.Print "Hauteur : " & sz.cy & " - " & _
Me.TextHeight(s) / Screen.TwipsPerPixelY
Debug.Print "Largeur : " & sz.cx & " -" & _
Me.TextWidth(s) / Screen.TwipsPerPixelY
End Sub
salut Jacques93 est-ce que cette api est l'équivalent de la propriété TextWidth ?
Oui, tu as tout à fait raison, TextHeight et TextWidth renvoient des valeurs équivalentes à l'API(par défaut en twips, en pixels pour l'API).
Je ne sais plus à quelle occasion j'ai utilisé cette API, (faudrait que je retrouve le projet pour voir si ce choix avait une raison valable),
Bon, j'ai retrouvé le projet en question, et je ne vois pas de raison d'avoir utilisée l'API. Donc :
Private Sub Form_Load() Dim lResult As Long Dim s As String Dim sz As SIZE
s = "Pourquoi faire simple quand on peut faire compliqué ;-) ?" lResult = GetTextExtentPoint32(Me.hdc, s, Len(s), sz) Debug.Print "Hauteur : " & sz.cy & " - " & _ Me.TextHeight(s) / Screen.TwipsPerPixelY Debug.Print "Largeur : " & sz.cx & " -" & _ Me.TextWidth(s) / Screen.TwipsPerPixelY End Sub
==> ça donne rigoureusement la même chose.
-- Cordialement,
Jacques.
Driss HANIB
D'accord, merci Jacques
Driss
"Jacques93" a écrit dans le message de news:%
Jacques93 a écrit : > Bonjour Driss HANIB, > Driss HANIB a écrit : >> salut Jacques93 >> est-ce que cette api est l'équivalent de la propriété TextWidth ? >> > > Oui, tu as tout à fait raison, TextHeight et TextWidth renvoient des > valeurs équivalentes à l'API(par défaut en twips, en pixels pour l'API). > > Je ne sais plus à quelle occasion j'ai utilisé cette API, (faudrait que > je retrouve le projet pour voir si ce choix avait une raison valable),
Bon, j'ai retrouvé le projet en question, et je ne vois pas de raison d'avoir utilisée l'API. Donc :
Private Sub Form_Load() Dim lResult As Long Dim s As String Dim sz As SIZE
s = "Pourquoi faire simple quand on peut faire compliqué ;-) ?" lResult = GetTextExtentPoint32(Me.hdc, s, Len(s), sz) Debug.Print "Hauteur : " & sz.cy & " - " & _ Me.TextHeight(s) / Screen.TwipsPerPixelY Debug.Print "Largeur : " & sz.cx & " -" & _ Me.TextWidth(s) / Screen.TwipsPerPixelY End Sub
==> ça donne rigoureusement la même chose.
-- Cordialement,
Jacques.
D'accord,
merci Jacques
Driss
"Jacques93" <jacques@Nospam> a écrit dans le message de
news:%23Ok1bYdUIHA.4712@TK2MSFTNGP04.phx.gbl...
Jacques93 a écrit :
> Bonjour Driss HANIB,
> Driss HANIB a écrit :
>> salut Jacques93
>> est-ce que cette api est l'équivalent de la propriété TextWidth ?
>>
>
> Oui, tu as tout à fait raison, TextHeight et TextWidth renvoient des
> valeurs équivalentes à l'API(par défaut en twips, en pixels pour l'API).
>
> Je ne sais plus à quelle occasion j'ai utilisé cette API, (faudrait que
> je retrouve le projet pour voir si ce choix avait une raison valable),
Bon, j'ai retrouvé le projet en question, et je ne vois pas de raison
d'avoir utilisée l'API. Donc :
Private Sub Form_Load()
Dim lResult As Long
Dim s As String
Dim sz As SIZE
s = "Pourquoi faire simple quand on peut faire compliqué ;-) ?"
lResult = GetTextExtentPoint32(Me.hdc, s, Len(s), sz)
Debug.Print "Hauteur : " & sz.cy & " - " & _
Me.TextHeight(s) / Screen.TwipsPerPixelY
Debug.Print "Largeur : " & sz.cx & " -" & _
Me.TextWidth(s) / Screen.TwipsPerPixelY
End Sub
Jacques93 a écrit : > Bonjour Driss HANIB, > Driss HANIB a écrit : >> salut Jacques93 >> est-ce que cette api est l'équivalent de la propriété TextWidth ? >> > > Oui, tu as tout à fait raison, TextHeight et TextWidth renvoient des > valeurs équivalentes à l'API(par défaut en twips, en pixels pour l'API). > > Je ne sais plus à quelle occasion j'ai utilisé cette API, (faudrait que > je retrouve le projet pour voir si ce choix avait une raison valable),
Bon, j'ai retrouvé le projet en question, et je ne vois pas de raison d'avoir utilisée l'API. Donc :
Private Sub Form_Load() Dim lResult As Long Dim s As String Dim sz As SIZE
s = "Pourquoi faire simple quand on peut faire compliqué ;-) ?" lResult = GetTextExtentPoint32(Me.hdc, s, Len(s), sz) Debug.Print "Hauteur : " & sz.cy & " - " & _ Me.TextHeight(s) / Screen.TwipsPerPixelY Debug.Print "Largeur : " & sz.cx & " -" & _ Me.TextWidth(s) / Screen.TwipsPerPixelY End Sub
==> ça donne rigoureusement la même chose.
-- Cordialement,
Jacques.
Barsalou
C'est effectivement beaucoup plus simple, d'autant que ce sont les twips qui m'intéressent ! Merci à tous.
C'est effectivement beaucoup plus simple, d'autant que ce sont les twips qui
m'intéressent !
Merci à tous.