JSL レイアウトの配置項目を HListBox の LHS または RHS に揃える方法はありますか。
基本的に、「H リスト ボックス」内にネストされた「V リスト ボックス」を持つアプリケーションのテンプレートを作成したいと考えています。
VListBox (赤いテキスト) デフォルトでは左側に配置されます。 ロゴを追加すると、図のように左側に自然に配置されます。

ただし、ロゴを親HLISTBOX内のRHSに揃えたいと考えています。

アプリケーション幅を維持するために、私はSpacerBox(サイズ(1200, 0)) HListBox のすぐ上にあります。
乾杯、トロイ
スクリプト作成Re: JSL レイアウトの配置すごいよヴィンス。 これはすべてのタイトル幅で完璧に機能しました。
Re: JSL レイアウトの配置こんにちは、Jarmo、スペーサーボックスのサイズも計算してみました。 ただし、タイトルの幅が変更される可能性があるため (この場合は「ボイラープレート テンプレート」)、それを考慮する必要があります。 これには、タイトル名の文字数とフォント サイズを知り、幅を把握することが含まれます。 私は一般的な高さと幅の比率 0.6 または 0.7 を使用しており、通常はロゴを十分に右に押し出します。ただし、「きれいに」一貫して同じ位置に配置されるわけではなく、「右揃え」ではありません。
ただし、さまざまなタイトル幅には十分です。
私は、たとえば CSS に存在するものと同様の、より単純な「配置」オプションのセットを期待していました。
また、「価値のない」スペーサー ボックスを使用するという Vince の提案も試して、これがどのように機能するかを確認してみます。
返信ありがとうございます。
myToolWidth = 800;
myFontScale = 0.7;
myHeading1 = textBox(myScriptName, << fontColor("red"), << setFontSize(24), << setFontStyle("bold"), <<SETWRAP></SETWRAP>
さまざまなタイトル幅の例と、タイトルのフォント サイズと文字数に基づいた Sacerbox の計算。

Re: JSL レイアウトの配置サイズを指定しないと、ボーダーボックスの境界線が消えたように感じますが、これはおそらくパディングを使用するとかなり簡単に処理できます
Names default to here(1);
nw = New Window("Example",
bp = Border Box(Left(10), Right(10), Top(10), Bottom(10), Sides(15),
<< Padding(Left(5), Top(0), Right(5), Bottom(5)),
vlb = V List Box(
Spacer Box(size(1200,0)),
H List Box(
V List Box(TextBox("test"), TextBox("test2")),
sb = Spacer Box(),
logo = Icon Box("JMPLogo")
)
)
)
);Re: JSL レイアウトの配置spacerbox にサイズを指定しない場合は、サイズを変更する必要はありません。できるだけ多くのスペースを埋めようとします。同じ親に複数のスペーサーボックスがある場合、均等に分割されるだけだと思います。
Names default to here(1);
nw = New Window("Example",
Border Box(Left(10), Right(10), Top(10), Bottom(10), Sides(15),
vlb = V List Box(
Spacer Box(size(1200,0)),
H List Box(
V List Box(TextBox("test"), TextBox("test2")),
sb = Spacer Box(),
logo = Icon Box("JMPLogo")
);
)
)
);
Re: JSL レイアウトの配置あなたのプレゼンテーションに触発されて、私も同じようなことをしたと思います現実世界のスケーラブルなアプリケーションを構築するための JSL を使用したプログラミングへの構造化アプローチ (2019-EU-30MP-098)そして最終的には、スペーサーボックスを使用し、ロゴの幅に基づいてそのサイズを更新することにしました。</CODE></P><PRE><CODE class=" language-jsl">Names Default To Here(1);
New Window("Example",
Border Box(Left(10), Right(10), Top(10), Bottom(10), Sides(15),
vlb = V List Box(
Spacer Box(size(1200,0)),
H List Box(
V List Box(TextBox("test"), TextBox("test2")),
sb = Spacer Box(Size(0,0)),
logo = Icon Box("JMPLogo")
);
)
)
);
nw = New Window("Example",
Border Box(Left(10), Right(10), Top(10), Bottom(10), Sides(15),
vlb = V List Box(
Spacer Box(size(1200,0)),
H List Box(
V List Box(TextBox("test"), TextBox("test2")),
sb = Spacer Box(Size(0,0)),
logo = Icon Box("JMPLogo")
);
)
)
);
borderBoxoffset = 24;
sb << Set Size(1200-borderBoxoffset-(logo << get size)[1],0);
Show(nw << get width());