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"})
);
