Taille du chaine (+vicieux kon le croit....)

cs_Xs Messages postés 368 Date d'inscription mercredi 14 novembre 2001 Statut Membre Dernière intervention 1 septembre 2008 - 13 juin 2002 à 21:47
cs_Kaid Messages postés 949 Date d'inscription mardi 2 octobre 2001 Statut Membre Dernière intervention 8 juillet 2006 - 14 juin 2002 à 16:11
salut !!

a peu rpes tout le monde sait qu'on se sert de
strlen(...) ?

bon et bien moi, je veux pas mesurer sa taille en caracteres (strlen), mais sa taille en pixel !!!

donc si j'ai la chaine "salut !!", et "SALUT !!", elle seront identique au strlen mais pas en pixel, c justement ca que je veux recuperer !

je pense a utiliser la structure RECT ?

****************************
Le C/C++ et une Veritable merveille !
****************************

6 réponses

cs_kjus Messages postés 269 Date d'inscription mercredi 24 avril 2002 Statut Membre Dernière intervention 9 juin 2003
14 juin 2002 à 14:14
la librairie graphique allegro offre une fonction permettant de faire ce que tu demandes simplement.
Si tu es interessé : http://allegro.cc
de plus elle est mutliplatforme (win, linux...)

***raph***
0
cs_Kaid Messages postés 949 Date d'inscription mardi 2 octobre 2001 Statut Membre Dernière intervention 8 juillet 2006 1
14 juin 2002 à 14:23
Sous Windows:

HDC hDC=?; // Ton contexte
LPCSTR str; // Ton texte
RECT rect; // Le résultat

DrawText(hDC, str, -1, &rect, DT_CALCRECT);
0
cs_Xs Messages postés 368 Date d'inscription mercredi 14 novembre 2001 Statut Membre Dernière intervention 1 septembre 2008
14 juin 2002 à 14:53
avec ca, kaid, je peux obtenir la taille epixel d'une chaine ?
je vais essayer

****************************
Le C/C++ et une Veritable merveille !
****************************
0
cs_Kaid Messages postés 949 Date d'inscription mardi 2 octobre 2001 Statut Membre Dernière intervention 8 juillet 2006 1
14 juin 2002 à 15:01
Oui, la longueur de la chaine étant rect.rigth-rect.left.
0

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

Posez votre question
cs_Xs Messages postés 368 Date d'inscription mercredi 14 novembre 2001 Statut Membre Dernière intervention 1 septembre 2008
14 juin 2002 à 15:35
ok, mais j'associe comment la chaine la ma structure RECT ?

sachant quand faite, la chaine dont je dois obtenir la longueur, on me la passe en tant qu'argument a la fonction

mon code :

mafonction(char LegendX[64],char LegendY[64])
{
HDC MyOwnDC = GetDC(hWnd);
RECT Length;

strcpy(AxeCharX,LegendX);
strcpy(AxeCharY,LegendY);

LegendXPixSize = Length.left-Length.right;
LegendYPixSize = Length.left-Length.right;

}

****************************
Le C/C++ et une Veritable merveille !
****************************
0
cs_Kaid Messages postés 949 Date d'inscription mardi 2 octobre 2001 Statut Membre Dernière intervention 8 juillet 2006 1
14 juin 2002 à 16:11
En utilisant la fonction DrawText() :

DrawText(hDC, str, -1, &rect, DT_CALCRECT);
0
Rejoignez-nous