關於組合框的問題我可以使用類似的方法為組合框創建帶有彈出提示的選項(通過實驗發現):
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"