关于组合框的问题我可以使用类似的方法为组合框创建带有弹出提示的选项(通过实验发现):
Names Default To Here( 1 );
list = {"One" ("This is One"), "Two" ("This is two")};
New Window( "Example",
cb = Combo Box(
list,
selection = cb << GetSelected();
Print( selection );
)
);但是当我查看选择时 - 由于 << Get Selected,它只有“一个”或“两个”。
两个问题:
1.上面的列表是什么样的数据结构? 这是什么清单? list[1] 正好给了我 "One"("This is one") - 它是一个字符串,还是它是什么?
2. 我如何处理这个列表,假设它是一个像 {"One", "Two"} 这样的普通列表,我会在脚本部分中放入如下内容:
if(
selection == list[1], doThis,
selection==list[2], doThat
);
但是,当我包含弹出提示时,我该怎么做?
脚本回复:关于组合框的问题在您的示例中, List 是一个包含 2 个条目的列表。
- “一个”(“这是一个”)
- “二”(“这是二”)
Combo 框将每个列表条目分为 Item 和 tipstr。
selection = cb << GetSelected();
仅返回项目
如果要返回tipstr,则需要使用
tipstr = (cb << get items)[cb << Get];
回复:关于组合框的问题谢谢,吉姆。
仍然不是很清楚 - 每个条目都是一个字符串? 引号在哪里逃脱?
如果我想在组合框脚本的 if 语句中使用相同的列表,我必须提取项目本身吗? 喜欢:
if(
selection == Word(1, list[1], "\!"()"), doThis,
selection==Word(1, list[2], "\!"()"), doThat
);
回复:关于组合框的问题可能有一个社区成员有更好的方法来处理组合框列表结构,但我想出如何处理它的唯一方法是将整个列表变成一个字符串,然后用字功能
Names Default To Here( 1 );
list = {"One" ("This is One"), "Two" ("This is two")};
tipstr1 = word(4,char(list),"\!"");
返回
"This is One"