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());