Est-il possible d'ajouter une barre de défilement horizontale à listboxbox ?Salut, Est-il possible d'ajouter une barre de défilement horizontale à listboxbox ? Pour être clair, il s'agit d'un listbox(), pas d'un col list box().
Ex:
names default to here(1);
myList ={};
for(i = 1, i <= 10, i++,
myList[i] = char(i) || "abcdefghijklmnopqrstuvwxyz_abcdefghijklmnopqrstuvwxyz_abcdefghijklmnopqrstuvwxyz";
);
myWin = new window("test", lb = listbox(myList,nlines(7), width(250)));
Merci,
Mike
Re : Est-il possible d'ajouter une barre de défilement horizontale à la listboxbox ?Oui, NLines(NItems(myList)) est exactement ce que j'ai fait lors de l'utilisation de la boîte de défilement régulière. Cela permet de contrôler les deux barres de défilement avec la ScrollBox.Re : Est-il possible d'ajouter une barre de défilement horizontale à la listboxbox ?Merci. Je l'ai testé un peu plus, et je vois ce que vous voulez dire à propos du comportement bizarre. Je dois également définir le nlines() dans la zone de liste comme nlines(nitems(myList)) car sinon la barre de défilement verticale dans la zone de liste n'est visible que lors de l'affichage du côté droit de la zone de défilement. Mais pour l'instant ça a l'air plutôt bien.
-Mike
Re : Est-il possible d'ajouter une barre de défilement horizontale à la listboxbox ?H Scroll Box fournit un défilement horizontal uniquement, tout comme V Scroll Box fournit un défilement vertical uniquement. Une boîte de défilement régulière fournit un défilement horizontal et vertical.
Si cela vous intéresse, les fonctions H Scroll Box(), V Scroll Box() et Scroll Box() sont des constructeurs qui créent tous le même type d'objet DisplayBox[ScrollBox]. La différence est que les fonctions V/H Scroll Box définissent automatiquement la propriété Scrollers que vous pouvez définir vous-même à l'aide de Set Scrollers (vous pouvez trouver plus d'informations sur ce message dans l'Index des scripts sous Aide > Index des scripts > ScrollBox > Set Scrollers).
Re : Est-il possible d'ajouter une barre de défilement horizontale à la listboxbox ?D'une manière ou d'une autre, j'ai sauté la partie sur la barre de défilement H. Est-ce la même chose que la boîte de défilement ?
Re : Est-il possible d'ajouter une barre de défilement horizontale à la listboxbox ?Merci Justin. En fait, je viens de trouver une solution de contournement qui semble plutôt bien fonctionner. J'intègre la boîte de liste dans une boîte de défilement, je règle la largeur de la boîte de liste bien large et la largeur de la boîte de défilement aussi étroite que nécessaire.
La raison pour laquelle je veux le faire de cette façon est que dans mon script actuel, j'ai deux colonnes associées, essentiellement deux noms différents pour les mêmes paramètres. Certaines personnes se soucient d'un seul nom (jusqu'à 32 caractères) ; d'autres personnes se soucient de l'autre nom, qui peut être composé de plusieurs caractères. Donc je concatène le prénom || "_::" || nom de famille. Le nombre de traits de soulignement est égal à 32 moins la longueur du prénom, pour essayer de les aligner dans la boîte.
Voici le script de test mis à jour avec la boîte de défilement :
names default to here(1);
myList ={};
for(i = 1, i <= 10, i++,
myList[i] = char(i) || "abcdefghijklmnopqrstuvwxyz_abcdefghijklmnopqrstuvwxyz_abcdefghijklmnopqrstuvwxyz";
);
myWin = new window("test",
sb = Scroll Box(
Size( 200, 400 ),
lb = listbox(myList,nlines(7), width(600))
);
);
sb << Set Scrollers( 1, 1 ); // enable both scroll barsRe : Est-il possible d'ajouter une barre de défilement horizontale à la listboxbox ?Il ne semble pas y avoir de moyen d'obtenir des barres de défilement horizontales dans un ListBoxBox. Vous pouvez nous envoyer un e-mail, si vous le souhaitez, à support@jmp.com et nous pouvons soumettre une suggestion à notre équipe de développement pour examen.
Vous pouvez utiliser une barre de défilement H autour de votre zone de liste, mais il y aurait un comportement étrange et vous auriez besoin de définir une largeur large pour la zone de liste.
Une option plus simple peut consister à ajouter des conseils à chaque élément de la zone de liste afin que, si l'élément est plus large que l'espace disponible, vous puissiez afficher le contenu sous forme d'info-bulle. Vous trouverez ci-dessous un exemple de script expliquant comment procéder à l'aide du message Set Tip.
Names Default To Here( 1 );
myList = {};
For( i = 1, i <= 10, i++,
myList[i] = Char( i ) ||
Repeat( "_abcdefghijklmnopqrstuvwxyz", 3 );
);
myWin = New Window( "test",
lb = List Box(
myList,
nlines( 7 ),
width( 250 ),
<<SET tips=""></SET>