PADYVEN
Messages postés69Date d'inscriptionlundi 10 février 2003StatutMembreDernière intervention29 août 2012
-
24 oct. 2006 à 13:33
B0mbJacK
Messages postés141Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention25 octobre 2006
-
24 oct. 2006 à 14:50
Est ce que quelqun sait comment on fait apres avoir ecrit un texte avec l'API windows
pour savoir la taille en pixel du texte
je m'explique j'utilise TextOut toto.hdc,10,10,"Salut ",len("Salut ")
et je voudrais positionnez sur la meme ligne albert
sa donnerai la phrase salut albert
et ce independament de la police de la taille,etc
et surtout sans chevauchement
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 24 oct. 2006 à 13:51
N'utilise pas TextOut mais DrawText qui te permet bien plus de choses, telles que l'alignement par exemple, qui te permet de calculer le rectangle englobant du texte (avec gestion de la font bien entendu !), etc.
B0mbJacK
Messages postés141Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention25 octobre 20061 24 oct. 2006 à 14:50
Lu,
j'ai fait un programme y'a tres longtemps (création etiquette[codebarre/logo/texte/image...ect])
l'api TexTout est tres sympa avec CreateFont je trouve
exemple utilisant une picturebox
pour la taille, utilise cette api
Public Declare Function GetTextExtentPoint32 Lib "gdi32" Alias "GetTextExtentPoint32A" (ByVal hdc As Long, ByVal lpsz As String, ByVal cbString As Long, lpSize As POINTAPI) As Long
Private Type POINTAPI
X As Long
Y As Long
End Type
dim Txt as String
Public TextSize As POINTAPI
Txt = "TextOutExemple"
With TaPicureBox
..(tu crée ta police) ..createfont
..tu place la police à ta pic ..selectobject(.hdc, createfont)
GetTextExtentPoint32 .hdc, Txt, Len(Txt), TextSize
'-------------------------------------------------
.Width = TextSize.X * Screen.TwipsPerPixelX
.Height = TextSize.Y * Screen.TwipsPerPixelY
End With