如何限制\禁止框调整大小? [更新]我有一个窗口,其中包含一些 Graph Builder、Filter 和其他元素。 当我使用过滤器时,当排除某些类别时,我在 Graph Builder 上的图例可以改变大小。 然后整个 Graph Builder 框会改变大小,破坏设计。
问题:如何将 Graph Builder 放在某个盒子中并设置固定大小,以便无论它如何在该盒子内调整大小,外部都不会移动?
这是一个例子:
dt = New Table( "TestTable",
Add Rows( 2 ),
New Column( "x", Numeric, "Continuous", Format( "Best", 6 ), Set Values( [2, 4] ) ),
New Column( "y", Numeric, "Continuous", Format( "Best", 6 ), Set Values( [3, 5] ) ),
New Column( "Cat", Character, "Nominal", Set Values( {"short", "a very long category"} ) )
);
HBox = H List Box(
dt << Graph Builder(
Size( 390, 368 ),
Show Control Panel( 0 ),
Variables( X( :x ), Y( :y ), Overlay( :Cat ) ),
Elements( Points( X, Y, Legend( 5 ) ) )
),
filter = dt << Data Filter(
Mode( Show( 1 ), Include( 1 ) ),
Add Filter(
columns( :Cat, ),
Display( :Cat, "Check Box Display" ),
)
)
);
NW = New Window( "Example", <<SHOW window=""></SHOW>它使用左侧的图形生成器和右侧的数据过滤器创建 H 列表。 如果我只在过滤器中选择“短”类别 - 图形生成器框会更改大小,从而改变其他所有内容。
我不想那样。 我应该如何组织我的显示框,以便改变大小的框右侧的任何内容都不会移动?
脚本回复:如何限制\禁止框调整大小? [更新]间隔盒对于控制窗口中的空间非常方便。试试这个:
dt = New Table( "TestTable",<BR />Add Rows( 2 ),<BR />New Column( "x", Numeric, "Continuous", Format( "Best", 6 ), Set Values( [2, 4] ) ),<BR />New Column( "y", Numeric, "Continuous", Format( "Best", 6 ), Set Values( [3, 5] ) ),<BR />New Column( "Cat", Character, "Nominal", Set Values( {"short", "a very long category"} ) )<BR />);<BR /><BR />HBox = H List Box(
V List Box(
Spacer Box(size(560, 0)),
dt << Graph Builder(
Size( 390, 368 ),
Show Control Panel( 0 ),
Variables( X( :x ), Y( :y ), Overlay( :Cat ) ),
Elements( Points( X, Y, Legend( 5 ) ) )
)
),
filter = dt << Data Filter(
Mode( Show( 1 ), Include( 1 ) ),
Add Filter(
columns( :Cat, ),
Display( :Cat, "Check Box Display" ),
)
)
);
NW = New Window( "Example", <<SHOW window=""></SHOW>
它在图形构建器上方创建一个间隔框。如果图形构建器框低于间隔框的宽度,则数据过滤器将不会移动。但是,如果您以交互方式使图形构建器框变大,您将再次看到您当前遇到的行为。
为了更好地了解间隔盒为您做了什么,请尝试用这个替换它:
Spacer Box(size(560, 10), Color("yellow"))