JSL 布局对齐有没有办法将项目与 HListBox 的 LHS 或 RHS 对齐。
基本上我想为应用程序制作一个模板,其中“V 列表框”嵌套在“H 列表框”内
VListBox(红色文本)默认与左侧对齐。 如果我添加我的徽标,它会自然地与左侧对齐,如图所示。

但是,我希望徽标与父 HLISTBOX 中的 RHS 对齐。

请注意,为了保持应用程序宽度,我使用的是间隔盒(尺寸(1200, 0))就在 HListBox 的上方。
干杯,特洛伊
大规模定制回复:JSL 布局对齐很棒的文斯。 这对于所有标题宽度来说都是完美的。
回复:JSL 布局对齐你好,Jarmo,我也尝试计算间隔盒的尺寸。 但是,鉴于标题宽度可以更改(在本例中为“样板模板”),我需要考虑到这一点。 这涉及了解标题名称中的字符数以及字体大小并计算出宽度。 我使用的一般高宽比为 0.6 或 0.7,它通常将徽标充分向右推......但不是“干净”且始终到同一位置,而不是“右”对齐
然而,对于一定范围的标题宽度来说,它已经足够好了。
我希望有一组更简单的“对齐”选项,类似于 CSS 中存在的选项。
我还将尝试文斯关于使用“无价值”间隔盒的建议,看看它是如何工作的。
感谢各位的回复。
myToolWidth = 800;
myFontScale = 0.7;
myHeading1 = textBox(myScriptName, << fontColor("red"), << setFontSize(24), << setFontStyle("bold"), <<SETWRAP></SETWRAP>
各种标题宽度以及根据字体大小和标题中的字符数计算 Sacerbox 的示例。

回复: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")
)
)
)
);回复: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")
);
)
)
);
回复: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());