JSL: コンボボックスの幅を変更する方法こんにちは、みんな、
私は、V List Box() にいくつかのコンボ ボックスがリストされている JSL コードに取り組んでいます。コンボ ボックスのリストはすべて文字の長さが異なりますが、コンボ ボックスの幅をすべて同じにしたいと考えています。
通常の <
これを調べてみましたが、ほとんどの議論は、Combo Boxes() ではなく、Text Boxes() またはその他の同様の項目に関するものでした。
あらゆる提案が役に立ちます。
ありがとう!、
DS
高度な統計モデリング自動化とスクリプト作成消費者および市場調査実験計画法マスカスタマイゼーションRe: 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 になります。
Re: JSL: コンボボックスの幅を変更する方法私の投稿を簡単に修正します。 「PPS」では、Get width ではなく、「Set width」コマンドについて話しました。 幅の取得はコンボボックスで機能するようです。 混乱を招いて申し訳ありません。
Re: JSL: コンボボックスの幅を変更する方法コンボボックスを広くする代わりに狭くする方法について何かアイデアを持っている人はいますか? リスト内の項目を 1 文字のみに変更したとしても、コンボ ボックスの幅は独自の考えを持っているようです。
Names Default To Here(1);
New Window("Example",
cb = Combo Box({"i"})
);
cb << Get Width;上の例では、幅は 107 です。私の意見では、これは 1 つの文字としては大きすぎます。 しかし、リストに「j」を追加してリストが {"i", "j"} になると、実際の幅は次のようになります。狭い、71に進みます。理由を知っている人はいますか?
PS: 私は JMP Pro 17.1.0 と MacOS Ventura 13.4.1 を使用しています。
PPS: 返信中@txnelson : スクリプトインデックスに関する質問... 「<< 幅を取得」コマンドは、コンボ ボックスの「項目メッセージ」にはリストされていませんが、「共有アイテム メッセージ」にはリストされています。 私はこれによく混乱しました。ユーザーが << Get width をコンボ ボックスに適用できるようにする必要があることを示唆しているようです。 しかし、ここで議論されているように、そうではないようです。 この「共有アイテムのメッセージ」セクションのコマンドが必ずしも表示ボックスで使用できるわけではない場合、そのセクションの背後にある意味は何ですか (真剣に尋ねます...私は本当に興味があります)。 ありがとう!
Re: JSL: コンボボックスの幅を変更する方法こんにちは@Erratic Attackそして@txnelson 、
素早いフィードバックをありがとうございます。 エスケープ文字を試してみましたが、複数の異なるコンボ ボックスとそのエントリの文字長の違いにより、エスケープ文字が常に期待どおりに動作するとは限りません。 結局一緒に行くことになった@Erratic Attack Lineup Box() 環境としての のソリューションは完全に機能しました。 ここで、GUI の美しさを編集するために Spacer Box(Size()) エントリを含むネストされた H List Box() および V List Box() 環境を使用していたので、他のコードに戻って変更します。 Lineup Box() はうまく機能し、非常に簡単で直感的です。
助けてくれてありがとう!、
DS
Re: 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"} )
);
);Re: JSL: コンボボックスの幅を変更する方法のスクリプトインデックスComboBox の場合、設定できるすべてのメッセージが表示されます。幅はその1つではありません。ただし、印刷不可能な文字を埋め込むことで、そのニーズに対処することができました。ここに例があります
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"})
);
