Ecrire avec l'API windows

Résolu
PADYVEN Messages postés 69 Date d'inscription lundi 10 février 2003 Statut Membre Dernière intervention 29 août 2012 - 24 oct. 2006 à 13:33
B0mbJacK Messages postés 141 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 25 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

merci c'est urgent

5 réponses

cs_Infern0 Messages postés 5 Date d'inscription jeudi 13 novembre 2003 Statut Membre Dernière intervention 23 août 2010
24 oct. 2006 à 13:48
As tu essayé TextWidth("Salut") / 15 ?
3
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
24 oct. 2006 à 14:25
Infern0, TRES mauvais, ce /15

utilises Screen.TwipsPerPixelX

sur un ecran en 16/9 tu aurait certainement des soucis, sans cela

Renfield
Admin CodeS-SourceS- MVP Visual Basic
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
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.
0
PADYVEN Messages postés 69 Date d'inscription lundi 10 février 2003 Statut Membre Dernière intervention 29 août 2012
24 oct. 2006 à 14:41
Merci beaucoup
quand a drawtext pourquoi ce casser le cul quand ya plus simple
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
B0mbJacK Messages postés 141 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 25 octobre 2006 1
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
0
Rejoignez-nous