Ist es möglich, der Listboxbox eine horizontale Bildlaufleiste hinzuzufügen?Hallo, ist es möglich, der Listboxbox eine horizontale Bildlaufleiste hinzuzufügen? Um es klarzustellen: Es handelt sich um eine Listbox(), nicht um eine Col-Listbox().
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)));
Danke,
Mike
Betreff: Ist es möglich, der Listboxbox eine horizontale Bildlaufleiste hinzuzufügen?Ja, NLines(NItems(myList)) ist genau das, was ich getan habe, als ich das reguläre Bildlauffeld verwendet habe. Dadurch haben Sie mit der ScrollBox die Kontrolle über beide Bildlaufleisten.Betreff: Ist es möglich, der Listboxbox eine horizontale Bildlaufleiste hinzuzufügen?Danke. Ich habe es noch ein wenig getestet und verstehe, was Sie mit dem skurrilen Verhalten meinen. Ich muss auch nlines() im Listenfeld als nlines(nitems(myList)) festlegen, da sonst die vertikale Bildlaufleiste im Listenfeld nur sichtbar ist, wenn die rechte Seite des Bildlauffelds angezeigt wird. Aber bisher scheint es ziemlich gut zu sein.
-Mike
Betreff: Ist es möglich, der Listboxbox eine horizontale Bildlaufleiste hinzuzufügen?Das H-Bildlauffeld ermöglicht nur horizontales Scrollen, während das V-Bildlauffeld nur vertikales Scrollen ermöglicht. Ein normales Bildlauffeld ermöglicht horizontales und vertikales Scrollen.
Falls Sie interessiert sind: Die Funktionen H Scroll Box(), V Scroll Box() und Scroll Box() sind Konstruktoren, die alle denselben DisplayBox[ScrollBox]-Objekttyp erstellen. Der Unterschied besteht darin, dass die V/H Scroll Box-Funktionen automatisch die Scrollers-Eigenschaft festlegen, die Sie mithilfe von Set Scrollers selbst festlegen können (weitere Informationen zu dieser Meldung finden Sie im Scripting Index unter Hilfe > Scripting Index > ScrollBox > Set Scrollers).
Betreff: Ist es möglich, der Listboxbox eine horizontale Bildlaufleiste hinzuzufügen?Irgendwie habe ich den Teil über die H-Bildlaufleiste übersprungen. Ist das dasselbe wie ein Bildlauffeld?
Betreff: Ist es möglich, der Listboxbox eine horizontale Bildlaufleiste hinzuzufügen?Danke Justin. Eigentlich habe ich gerade einen Workaround gefunden, der ziemlich gut zu funktionieren scheint. Ich bette das Listenfeld in ein Bildlauffeld ein, stelle die Breite des Listenfelds schön breit und die Breite des Bildlauffelds so schmal ein, wie ich es brauche.
Der Grund, warum ich es so machen möchte, ist, dass ich in meinem eigentlichen Skript zwei zugehörige Spalten habe, im Grunde zwei unterschiedliche Namen für dieselben Parameter. Manche Menschen interessieren sich für einen Namen (bis zu 32 Zeichen); Andere Menschen interessieren sich für den anderen Namen, der aus vielen Zeichen bestehen kann. Also verkette ich den Vornamen || „_::“ || Zweitname. Die Anzahl der Unterstriche beträgt 32 minus der Länge des Vornamens, um zu versuchen, sie im Feld auszurichten.
Hier ist das aktualisierte Testskript mit dem Scrollfeld:
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 barsBetreff: Ist es möglich, der Listboxbox eine horizontale Bildlaufleiste hinzuzufügen?Es scheint keine Möglichkeit zu geben, horizontale Bildlaufleisten innerhalb einer ListBoxBox zu erhalten. Wenn Sie möchten, können Sie uns eine E-Mail an senden support@jmp.com und wir können unserem Entwicklungsteam einen Vorschlag zur Prüfung vorlegen.
Sie könnten eine H-Bildlaufleiste um Ihr Listenfeld herum verwenden, aber es würde zu einem seltsamen Verhalten kommen und Sie müssten eine große Breite für das Listenfeld festlegen.
Eine einfachere Option könnte darin bestehen, jedem Element im Listenfeld Tipps hinzuzufügen, sodass Sie den Inhalt als Tooltip anzeigen können, wenn das Element breiter als der verfügbare Platz ist. Unten finden Sie ein Beispielskript dafür, wie Sie dies mithilfe der Set Tip-Nachricht tun.
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>