是否可以向列表框添加水平滚动条?嗨,是否可以向列表框添加水平滚动条? 需要明确的是,它是一个 listbox(),而不是一个 col list box()。
前任:
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)));
谢谢,
麦克风
回复:是否可以向列表框添加水平滚动条?是的,NLines(NItems(myList)) 正是我在使用常规滚动框时所做的。 这使得您可以使用 ScrollBox 控制两个滚动条。回复:是否可以向列表框添加水平滚动条?谢谢。 我对它进行了更多测试,我明白你所说的古怪行为是什么意思。 我还需要将列表框中的 nlines() 设置为 nlines(nitems(myList)),否则列表框中的垂直滚动条仅在查看滚动框右侧时可见。 但到目前为止,它似乎还不错。
-麦克风
回复:是否可以向列表框添加水平滚动条?H Scroll Box 仅提供水平滚动,就像 V Scroll Box 仅提供垂直滚动一样。 常规滚动框提供水平和垂直滚动。
如果您有兴趣,H Scroll Box()、V Scroll Box() 和 Scroll Box() 函数都是构造函数,它们都创建相同的 DisplayBox[ScrollBox] 对象类型。 不同之处在于 V/H 滚动框函数会自动设置滚动器属性,您可以使用设置滚动器自行设置(您可以在脚本索引中的帮助 > 脚本索引 > 滚动框 > 设置滚动器中找到有关此消息的更多信息)。
回复:是否可以向列表框添加水平滚动条?不知何故,我直接跳过了关于 H 滚动条的部分。 和滚动框一样吗?
回复:是否可以向列表框添加水平滚动条?谢谢贾斯汀。 实际上,我只是找到了一个似乎工作得很好的解决方法。 我将列表框嵌入到滚动框中,将列表框的宽度设置得又好又宽,滚动框的宽度设置得尽可能窄。
我想这样做的原因是因为在我的实际脚本中,我有两个关联的列,基本上是相同参数的两个不同名称。 有些人关心 1 个名字(最多 32 个字符);其他人关心其他名字,可以是很多字符。 所以我连接了名字|| “_::”||第二个名字。 #of underscores 是 32 减去名字的长度,以尝试在框中对齐它们。
这是带有滚动框的更新测试脚本:
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 bars回复:是否可以向列表框添加水平滚动条?似乎没有办法在 ListBoxBox 中获得水平滚动条。 如果您愿意,可以发送电子邮件给我们,地址为支持@jmp.com我们可以向我们的开发团队提交建议以供审核。
您可以在列表框周围使用 H 滚动条,但会有一些奇怪的行为,您需要为列表框设置一个较宽的宽度。
一个更简单的选项可能是向列表框中的每个项目添加提示,这样如果项目比可用空间宽,您可以将内容作为工具提示查看。 下面是一个示例脚本,说明如何使用设置提示消息执行此操作。
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>