Comment déterminer la longueur en pixels d'une chaîne?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Je souhaite modifier la largeur d'une zone de liste en fonction de la longueur des chaînes affichées, mais je ne sais pas comment déterminer la longueur des chaînes en pixels. Je suppose que cela est lié à la police et à la taille de la police utilisée, mais je ne sais pas comment déterminer cela non plus. Toute suggestion serait appréciée.
Re: Comment déterminer la longueur en pixels d'une chaîne?Donc, il semble que cela soit possible, mais pas facile.
Étant donné que le script que j'écris est uniquement destiné à un usage interne, je pense que je vais m'en tenir à ma solution actuelle consistant à insérer la zone de liste dans une zone de défilement et à la dimensionner plus large que la plus longue chaîne possible rencontre.
Merci à tous pour vos réponses utiles.
Voici la ligne de code au cas où quelqu'un serait intéressé.
ScrollBox (Size (10, 200), flexible (1), fileLb2 = ListBox ({}, width (1500), nlines (100)))
Re: Comment déterminer la longueur en pixels d'une chaîne?Ah… maintenant je vois. Merci.
Re: Comment déterminer la longueur en pixels d'une chaîne?Vous pouvez demander à JMP de vous indiquer la taille d’une zone de texte contenant une chaîne après l’affichage de la chaîne.
New Window( "x", t = Text Box( "" ) );
strings = {"a", "aa", "aaa", "i", "ii", "iii", "aaaiii", "the quick brown fox"};
For( i = 1, i <= N Items( strings ), i++,
t << settext( strings );
t << reshow;
Write( strings, t << getsize, "\!n" );
);
un {10, 24}
aa {19, 24}
aaa {28, 24}
i {6, 24}
ii {10, 24}
iii {14, 24}
aaaiii {41, 24}
le renard brun rapide {154, 24}
Re: Comment déterminer la longueur en pixels d'une chaîne?... et, ne serait-ce pas cool s'il y avait une réponse sans ambiguïté à votre question initiale?
Malheureusement, alors que la taille de la police en points est maintenant assez standard (1/72 in = 1 point), la longueur en pixels d'une chaîne est déterminée par le type de système d'exploitation et la résolution d'affichage sur laquelle la chaîne est affichée. Vous pouvez obtenir moins d'ambiguïté en limitant vos spécifications du système d'exploitation et de la résolution d'affichage.
Re: Comment déterminer la longueur en pixels d'une chaîne?J'utilise l'index de script pour comprendre le fonctionnement des messages: help-> index de script. rechercher "set font". 

Re: Comment déterminer la longueur en pixels d'une chaîne?Merci Ian, ça aide. Existe-t-il une différence entre police et nom de police?
Re: Comment déterminer la longueur en pixels d'une chaîne?Seulement une réponse partielle, mais la liste déroulante répondra aux messages suivants:
Définir la police [Police] [Script uniquement]
Définir le nom de la police [Action] [Script uniquement] (Nom de la police)
Définir le style de police [Caractère] [Script uniquement]
Définir la taille de la police [Action] [Script uniquement] (7 | 9 | 10 | 12 | 14 | 18 | 24 | ...)
Obtenir la police [Action] [Script uniquement]
Obtenir le nom de la police [Action] [Script uniquement]
Obtenir le style de police [Action] [Script uniquement]
Obtenir la taille de la police [Action] [Script uniquement]