JSL:如何更改组合框的宽度大家好,
我正在编写一些 JSL 代码,其中我在 V List Box() 中列出了一些组合框;组合框的列表都有不同的字符长度,但我希望组合框都具有相同的宽度。
正常的 <
尝试查找此内容,但大多数讨论都是关于文本框()或其他类似项目,而不是组合框()。
任何建议都有帮助。
谢谢!,
DS
高级统计建模自动化和脚本编写消费者和市场研究实验设计大规模定制回复:JSL:如何更改组合框的宽度组合框实际上确实响应“<
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 ); //31至于当列表只有 {"i"} 时您看到的更宽的组合框,这似乎是操作系统问题。如您所见,我运行 Windows 11 时宽度为 31。
回复:JSL:如何更改组合框的宽度快速更正我的帖子。 在“PPS”中,我谈论的是“设置宽度”命令,而不是“获取宽度”。 获取宽度似乎适用于组合框。 抱歉造成任何混乱。
回复:JSL:如何更改组合框的宽度有谁知道如何使组合框更窄而不是更宽? 即使我将列表中的项目更改为仅单个字符,组合框宽度似乎也有自己的想法:
Names Default To Here(1);
New Window("Example",
cb = Combo Box({"i"})
);
cb << Get Width;在上面的示例中,宽度为 107。在我看来,这对于单个字母来说太大了。 但是如果我在列表中添加一个“j”,那么列表是{“i”,“j”},宽度实际上得到更窄,然后转到 71。有人知道为什么吗?
PS:我使用的是 JMP Pro 17.1.0 和 MacOS Ventura 13.4.1。
PPS:回复@tx尼尔森:关于脚本索引的问题... “<< 获取宽度”命令未在组合框的“项目消息”下列出,但在“共享项目消息”下列出。 我经常对此感到困惑,因为它似乎建议用户应该能够将 << Get Width 应用于组合框。 但正如这里所讨论的,情况似乎并非如此。 如果“共享项目消息”部分中的命令不一定能够在显示框中使用,那么该部分背后的含义是什么(真诚地问......我真的很好奇)。 谢谢!
回复:JSL:如何更改组合框的宽度你好@ErraticAttack和@tx尼尔森,
感谢您的快速反馈。 我尝试了转义字符,但由于多个不同组合框及其条目的字符长度不同,它们并不总是按预期工作。 我最终去了@ErraticAttack的解决方案作为 Lineup Box() 环境运行得很好。 现在,我将返回并更改我的其他代码,因为我使用带有 Spacer Box(Size()) 条目的嵌套 H List Box() 和 V List Box() 环境来编辑 GUI 的美观。 Lineup Box() 效果很好,而且非常简单直观。
谢谢您的帮助!,
DS
回复:JSL:如何更改组合框的宽度内置的 LineupBox 专为这种情况而设计,例如:
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"} )
);
);回复:JSL:如何更改组合框的宽度这脚本索引ComboBox 显示所有可以设置的消息。宽度不是其中之一。不过,我可以通过嵌入不可打印的字符来满足需求。这是一个例子
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"})
);
