JSL : comment modifier la largeur d'une zone de liste déroulanteSalut tout le monde,
Je travaille sur du code JSL où j'ai des zones de liste déroulante répertoriées dans une V List Box (); Les listes des zones de liste déroulante ont toutes des longueurs de caractères différentes, mais j'aimerais que les zones de liste déroulante aient toutes la même largeur.
L'appel normal <
J'ai essayé de rechercher celui-ci, mais la plupart des discussions portent sur les zones de texte () ou d'autres éléments similaires, et non sur les zones de liste déroulante ().
Toutes les suggestions aident.
Merci!,
DS
Modélisation statistique avancéeAutomatisation et scriptÉtudes de consommation et de marchéConception d'expériencesPersonnalisation de masseRe: JSL : Comment changer la largeur d'une combo boxLa zone de liste déroulante répond en fait au message "<
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 ce qui concerne la zone de liste déroulante plus large que vous voyez lorsque la liste est uniquement {"i"}, cela semble être un problème de système d'exploitation.Comme vous pouvez le voir, j'obtiens une largeur de 31, sous Windows 11.
Re: JSL : Comment changer la largeur d'une combo boxCorrection rapide de mon message. Dans le "PPS", je parlais de la commande "Set Width", pas de Get Width. Get Width semble fonctionner sur les zones de liste déroulante. Désolé pour toute confusion.
Re: JSL : Comment changer la largeur d'une combo boxQuelqu'un a-t-il des idées sur la façon de rendre une zone de liste déroulante plus étroite au lieu d'être plus large? Même si je modifie les éléments de ma liste en caractères uniques uniquement, la largeur de la zone de liste déroulante semble avoir son propre esprit :
Names Default To Here(1);
New Window("Example",
cb = Combo Box({"i"})
);
cb << Get Width;Avec l'exemple ci-dessus, la largeur est de 107. C'est beaucoup trop grand pour une seule lettre, à mon avis. Mais si j'ajoute un "j" à la liste, donc la liste est {"i", "j"}, la largeur devient en fait plus étroit , et se rend au 71. Quelqu'un sait pourquoi ?
PS : J'utilise JMP Pro 17.1.0 et MacOS Ventura 13.4.1.
PPS : répondre à @txnelson : Question sur l'index de script... La commande "<< Get Width" n'est pas répertoriée sous "Messages d'élément" pour Combo Box, mais elle est répertoriée sous "Messages d'élément partagés". J'ai souvent été confus par cela, car il semble suggérer que l'utilisateur devrait pouvoir appliquer << Get Width à une zone de liste déroulante. Mais comme discuté ici, cela ne semble pas être le cas. Si les commandes de cette section "Messages d'éléments partagés" ne peuvent pas nécessairement être utilisées sur la zone d'affichage, quelle est la signification de cette section (demander sincèrement... je suis vraiment curieux). Merci!
Re: JSL : Comment changer la largeur d'une combo boxSalut @ErraticAttack et @txnelson ,
Merci pour vos commentaires rapides. J'ai essayé les caractères d'échappement, mais ils ne fonctionnent pas toujours comme prévu en raison de la différence de longueur de caractères des multiples zones de liste déroulante différentes et de leurs entrées. j'ai fini par aller avec @ErraticAttack La solution de car l'environnement Lineup Box() fonctionnait parfaitement. Maintenant, je vais revenir en arrière et modifier mon autre code car j'utilisais des environnements imbriqués H List Box() et V List Box() avec des entrées Spacer Box(Size()) pour modifier l'esthétique de l'interface graphique. La Lineup Box () fonctionne très bien et est assez simple et intuitive.
Merci pour l'aide!,
DS
Re: JSL : Comment changer la largeur d'une combo boxLa LineupBox intégrée est conçue uniquement pour ce cas, par exemple :
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 : Comment changer la largeur d'une combo boxLe Index des scripts pour ComboBox affiche tous les messages qui peuvent être définis.La largeur n'en fait pas partie.Cependant, j'ai pu gérer le besoin en incorporant des caractères non imprimables.Voici un exemple
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"})
);
