JSL: Cómo cambiar el ancho de un cuadro combinadoHola a todos,
Estoy trabajando en un código JSL donde tengo algunos cuadros combinados enumerados en un cuadro de lista V (); Las listas de los cuadros combinados tienen diferentes longitudes de caracteres, pero me gustaría que todos los cuadros combinados tuvieran el mismo ancho.
La llamada normal <
Intenté buscar este, pero la mayoría de las discusiones son sobre cuadros de texto () u otros elementos similares, no sobre cuadros combinados ().
Cualquier sugerencia ayuda.
¡Gracias!,
SD
Modelado Estadístico AvanzadoAutomatización y secuencias de comandosInvestigación del Consumidor y del MercadoDiseño de experimentosLa personalización en masaRe: JSL: Cómo cambiar el ancho de un cuadro combinadoEl cuadro combinado en realidad responde al mensaje "<
Names Default To Here( 1 );
New Window( "test", a = Combo Box( {"i"} ) );
Show( a << Get Width ); //31
a << Set Width( 100 );
Show( a << Get Width ); //100
Wait( .1 );
Show( a << Get Width ); //31En cuanto al cuadro combinado más amplio que está viendo cuando la lista es solo {"i"}, parece ser un problema del sistema operativo.Como puede ver, obtengo un ancho de 31, ejecutando Windows 11.
Re: JSL: Cómo cambiar el ancho de un cuadro combinadoCorrección rápida a mi publicación. En el "PPS", estaba hablando sobre el comando "Establecer ancho", no sobre Obtener ancho. Get Width parece funcionar en cuadros combinados. Lo siento por cualquier confusión.
Re: JSL: Cómo cambiar el ancho de un cuadro combinado¿Alguien tiene alguna idea sobre cómo hacer que un cuadro combinado sea más angosto en lugar de más ancho? Incluso si cambio los elementos de mi lista a caracteres únicos, el ancho del cuadro combinado parece tener una mente propia:
Names Default To Here(1);
New Window("Example",
cb = Combo Box({"i"})
);
cb << Get Width;Con el ejemplo anterior, el ancho es 107. Esto es demasiado grande para una sola letra, en mi opinión. Pero si agrego una "j" a la lista, por lo que la lista es {"i", "j"}, el ancho en realidad se vuelve más estrecho , y va a 71. ¿Alguien sabe por qué?
PD: Estoy usando JMP Pro 17.1.0 y MacOS Ventura 13.4.1.
PD: respondiendo a @txnelson : Pregunta sobre el índice de secuencias de comandos... El comando "<< Obtener ancho" no aparece en "Mensajes de elementos" para el cuadro combinado, pero aparece en "Mensajes de elementos compartidos". A menudo me ha confundido esto, porque parece sugerir que el usuario debería poder aplicar << Obtener ancho a un cuadro combinado. Pero como se discutió aquí, ese no parece ser el caso. Si los comandos en esta sección "Mensajes de elementos compartidos" no se pueden usar necesariamente en el cuadro de visualización, ¿cuál es el significado detrás de esa sección (pregunto sinceramente... Tengo mucha curiosidad). ¡Gracias!
Re: JSL: Cómo cambiar el ancho de un cuadro combinadoHola @ErraticAttack y @txnelson ,
Gracias por sus comentarios rápidos. Probé los caracteres de escape, pero no siempre funcionan como se esperaba debido a la diferencia en la longitud de los caracteres de los múltiples cuadros combinados diferentes y sus entradas. terminé yendo con @ErraticAttack La solución de Lineup Box() como entorno funcionó perfectamente. Ahora, regresaré y cambiaré mi otro código porque estaba usando entornos H List Box() y V List Box() anidados con entradas Spacer Box(Size()) para editar la estética de la GUI. Lineup Box() funciona muy bien y es bastante fácil e intuitivo.
¡Gracias por la ayuda!,
SD
Re: JSL: Cómo cambiar el ancho de un cuadro combinadoEl LineupBox incorporado está diseñado solo para este caso, ejemplo:
Names Default To Here( 1 );
New Window( "Example",
Lineup Box( N Col( 1 ), Spacing( 0, 2 ),
Spacer Box( Size( 120, 0 ) )
,
cb = Combo Box(
{"One", "Two", "Three"},
selection = cb << GetSelected();
Print( "Selected: " || selection );
)
,
cb2 = combo box( {"a","b","c"} )
);
);Re: JSL: Cómo cambiar el ancho de un cuadro combinadoEl Índice de secuencias de comandos para ComboBox muestra todos los mensajes que se pueden configurar.El ancho no es uno de ellos.Sin embargo, he podido manejar la necesidad al incorporar caracteres no imprimibles.Aquí hay un ejemplo
Names Default To Here( 1 );
New Window( "Example",
cb = Combo Box(
{"One\!t", "Two", "Three"},
selection = cb << GetSelected();
Print( "Selected: " || selection );
),
cb2 = combo box( {"a \!t","b","c"})
);
