¿Cómo puede determinarse la longitud de píxel de una cadena?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Quiero cambiar el ancho de un cuadro de lista en función de la longitud de las cadenas que se muestran en él, pero no sé cómo determinar las longitudes de cadena en píxeles. Supongo que está relacionado con la fuente y el tamaño de fuente que se está utilizando, pero tampoco sé cómo determinarlo. Cualquier sugerencia sera apreciada.
Re: ¿Cómo puede determinarse la longitud de píxel de una cadena?Entonces, parece que es posible, pero no es fácil.
Dado que el script que estoy escribiendo es solo para uso interno, creo que me limitaré a seguir con mi solución actual de colocar el cuadro de lista dentro de un cuadro de desplazamiento y dimensionar el cuadro de lista más ancho que la cadena más larga que probablemente encuentro.
Gracias a todos por sus útiles respuestas.
Aquí está la línea de código en caso de que alguien esté interesado.
ScrollBox (Tamaño (10, 200), flexible (1), fileLb2 = ListBox ({}, ancho (1500), nlines (100)))
Re: ¿Cómo puede determinarse la longitud de píxel de una cadena?Ah ... ahora lo veo. Gracias.
Re: ¿Cómo puede determinarse la longitud de píxel de una cadena?Puede hacer que JMP le indique el tamaño de un cuadro de texto que contiene una cadena después de que se haya mostrado la cadena.
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}
yo {6, 24}
ii {10, 24}
iii {14, 24}
aaaiii {41, 24}
el zorro marrón rápido {154, 24}
Re: ¿Cómo puede determinarse la longitud de píxel de una cadena?... y, ¿no sería genial si hubiera una respuesta inequívoca a su pregunta original?
Desafortunadamente, aunque el tamaño de fuente en puntos ahora es bastante estándar (1/72 in = 1 punto), la longitud de píxel de una cadena está determinada por el tipo de sistema operativo y la resolución de pantalla en la que se ve la cadena. Puede ser menos ambiguo restringiendo su especificación del sistema operativo y la resolución de la pantalla.
Re: ¿Cómo puede determinarse la longitud de píxel de una cadena?Utilizo el índice de secuencias de comandos para averiguar cómo funcionan los mensajes: ayuda-> índice de secuencias de comandos. busca "establecer fuente". 

Re: ¿Cómo puede determinarse la longitud de píxel de una cadena?Gracias Ian, eso ayuda. ¿Hay alguna diferencia entre la fuente y el nombre de la fuente?
Re: ¿Cómo puede determinarse la longitud de píxel de una cadena?Solo una respuesta parcial, pero el cuadro de lista responderá a los siguientes mensajes:
Establecer fuente [Fuente] [Sólo secuencias de comandos]
Establecer el nombre de la fuente [Acción] [Sólo secuencias de comandos] (Nombre de fuente)
Establecer estilo de fuente [Carácter] [Sólo secuencias de comandos]
Establecer tamaño de fuente [Acción] [Sólo secuencias de comandos] (7 | 9 | 10 | 12 | 14 | 18 | 24 | ...)
Obtener fuente [Acción] [Sólo secuencias de comandos]
Obtener nombre de fuente [Acción] [Sólo secuencias de comandos]
Obtener estilo de fuente [Acción] [Sólo secuencias de comandos]
Obtener tamaño de fuente [Acción] [Sólo secuencias de comandos]