如何阻止用户在 JSL 中调整窗口大小?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />这似乎是一个非常简单的问题,但我想知道,有没有办法阻止用户使用 JSL 重新调整窗口/对话框的大小?
您可以向显示框发送一条消息以进行自动拉伸、最小和最大尺寸等。是否有任何标志可以默认关闭用户调整窗口大小的功能(即鼠标光标悬停时不显示调整大小箭头)在窗户的边缘? 似乎应该有什么东西,但似乎找不到。
谢谢。
回复:如何阻止用户在 JSL 中调整窗口大小?戴夫的建议很好!我真的很喜欢你的设计,并且会考虑做类似的事情。我通常使用您最后给出的轮廓框解决方案,该解决方案简单且易于实现,但并不总是最专业的设计。我相信这实际上取决于最终用户是谁。对于我的大多数脚本来说,这实际上只是我自己的事情。
关于: ”要关闭对话框,可以将内容大小设置为零或删除内容(可以将对话框值缓存在命名空间中以便于重新加载)。
我相信“If box()”将是一个更简单的解决方案。
回复:如何阻止用户在 JSL 中调整窗口大小?从编程角度来看,很难解决调整大小问题,因为调整显示框的大小是 JMP 用户界面所固有的。总的来说,我认为它非常有用,例如,当您有大量项目或名称很长的项目时,拉伸列表框。但当您尝试设计美观的界面时,这可能会让您的生活变得困难。分线盒可以提供帮助,尽管它们也倾向于鼓励用户调整分线组件的大小!如果您想要一个包含用户对话框和输出元素的单个窗口,那么我认为您需要考虑交互级别。 我经常采用这种类型的配置,其中对话框用于相对不频繁的交互。我首选的方法是在窗口上有一个按钮,充当打开或关闭对话框的开关:

(没有对话框的报告窗口 - 左侧中心按钮“选项”将打开对话框)

(打开对话框的报告窗口)
在最基本的层面上,它由与 H 列表框对齐的两部分内容组成。
要关闭对话框,可以将内容大小设置为零或删除内容(可以将对话框值缓存在命名空间中以便于重新加载)。
一个更简单的解决方案是使用与内容水平对齐的大纲框:
dt =打开( “$SAMPLE_DATA/Big Class.jmp” ) ;
对话= V 列表框(
轮廓盒( “演示对话” ,
<<轮廓关闭方向( “垂直的” ) ,
阵容盒( NCOL ( 2 ) ,间距( 10 ) ,
文本框( “标签1” ) ,
文本编辑框( “值1” ) ,
文本框( “标签2” ) ,
文本编辑框( “值2” ) ,
)
)
) ;
内容= V 列表框(
双变量(是( :重量) , X ( :高度) )
) ;
新窗户( “用对话报告” ,
H 列表框(
对话,
间隔盒(尺寸( 10 , 0 )) ,
内容
)
) ;

消息“轮廓关闭方向”允许内容折叠到窗口的一侧:

- 只是一些想法。
戴夫
回复:如何阻止用户在 JSL 中调整窗口大小?关键词“编程语言”,其中 jsl 又是一种脚本语言。
回复:如何阻止用户在 JSL 中调整窗口大小?再次感谢msharp,
对于报告对话框,我对用户能够调整窗口大小没有问题,这是对于我要求用户输入的对话框。 它们有固定数量的字段可以输入信息,在我看来应该不需要调整大小,但这纯粹是为了美观,而不是宏伟计划中的主要问题。 只是在具有 GUI 小部件的其他编程语言中,您可以选择阻止用户重新调整对话框的大小,例如警告对话框等,因为重新调整大小没有真正的目的。 只是认为这将是一个有用的选择。
无论如何,感谢您提供的 H/V 分配器盒示例,我将来肯定会使用它。 干杯。
回复:如何阻止用户在 JSL 中调整窗口大小?如果这是目的,是否有任何原因不能将所有内容放入一个窗口中?使用 H 分配器盒/V 分配器盒可能是您的最佳解决方案。以下示例既使所有显示框在窗口中可见,又在调整窗口大小时防止出现灰色空间。来自脚本索引:
名称默认为此处( 1 ) ;
新窗户( “分离器” ,
V型分线盒(
尺寸( 800 , 600 ) ,
H型分线盒(图形=图框() ,脚本框() , <<尺寸( { 0.6 , 0.4 } ) ) ,
H型分线盒(
图片=图片盒(打开( “$SAMPLE_IMAGES/tile.jpg” , .jpg ) ) ,
垫片=间隔盒() ,
<<尺寸( { 0.4 , 0.6 } )
)
)
) ;
图形[框架盒( 1 )] <<设置自动拉伸( 1 , 1 ) ;
图片<<设置最小尺寸( 100 , 100 ) ;
图片<<设置最大尺寸( 500 , 500 ) ;
图片<<设置自动拉伸( 1 , 1 ) ;
垫片<<设置填充( 1 ) ;
垫片<<颜色( “红色的” ) ;
垫片<<设置自动拉伸( 1 , 1 ) ;
这将是一个更好的解决方案。如果您不让最终用户调整窗口大小,您最终真的会惹恼他们。
回复:如何阻止用户在 JSL 中调整窗口大小?嗨,姆夏普,
感谢您的回复。 该方法看起来应该可以正常工作,并且可能还有其他一些方法可以“欺骗”这种行为。
我想要这个的原因是我正在创建一个自定义应用程序,该应用程序具有用于用户输入和报告的对话框窗口。 我不希望用户能够单击窗口并调整窗口大小,以便窗口最终隐藏窗口内的一些显示框,或者将其拖得更宽并最终产生一堆难看的灰色空间。 我承认,这纯粹是出于美观原因,但只是认为这对于使用 JSL 编写分发应用程序的人来说是一个有用的选择。
再次干杯。
回复:如何阻止用户在 JSL 中调整窗口大小?您描述的功能都是用于调整窗口内显示框的大小。但听起来您想阻止窗口本身被更改。我不知道您为什么要这样做,但这将是操作系统高级用户可能能够回答的问题。这不是您可以通过脚本语言获得的功能。您需要对 Windows 7、8、10 或 Mac:Snow Leopard、Capitan 等进行更改。
无论如何,你可以作弊。也许是这样的:
西北=新窗户( “不为您调整大小” ) ; //创建示例窗口
尺寸=西北<<获取窗口大小; // 获取大小
//调整大小函数
调整大小=功能({} ,
西北<<设置窗口大小(尺寸[ 1 ] ,尺寸[ 2 ]) ; //调整窗口大小
日程( 0.1 ,调整大小()) ; //每0.1秒调整窗口大小
) ;
//调用函数
调整大小() ;
//隐藏调度程序窗口以完成幻觉
等待( 0 ) ;
窗户( “调度员” ) <<橱窗( 0 ) ;
//或者<<设置窗口大小:
//nw << 缩放窗口;