如何阻止使用者在 JSL 中調整視窗大小?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />這似乎是一個非常簡單的問題,但我想知道,有沒有辦法阻止使用者使用 JSL 重新調整視窗/對話框的大小?
您可以向顯示框發送訊息以進行自動拉伸、最小和最大尺寸等。是否有任何標誌可以預設關閉使用者調整視窗大小的功能(即滑鼠遊標懸停時不顯示調整大小箭頭)在窗戶的邊緣? 似乎應該有東西,但似乎找不到。
謝謝。
回覆:如何阻止使用者在 JSL 中調整視窗大小?戴夫的建議很好!我真的很喜歡你的設計,並且會考慮做類似的事情。我通常使用您最後給出的輪廓框解決方案,該解決方案簡單且易於實現,但並不總是最專業的設計。我相信這實際上取決於最終用戶是誰。對於我的大多數腳本來說,這實際上只是我自己的事情。
關於: ”若要關閉對話框,可以將內容大小設為零或刪除內容(可以將對話框值快取在命名空間中以便於重新載入)。
我相信“If box()”將是一個更簡單的解決方案。
回覆:如何阻止使用者在 JSL 中調整視窗大小?從程式角度來看,很難解決調整大小問題,因為調整顯示框的大小是 JMP 使用者介面所固有的。總的來說,我認為它非常有用,例如,當您有大量項目或名稱很長的項目時,拉伸列錶框。但當您嘗試設計美觀的介面時,這可能會讓您的生活變得困難。分線盒可以提供幫助,儘管它們也傾向於鼓勵使用者調整分線組件的大小!如果您想要一個包含用戶對話框和輸出元素的單一窗口,那麼我認為您需要考慮互動級別。 我經常採用這種類型的配置,其中對話框用於相對不頻繁的互動。我首選的方法是在視窗上有一個按鈕,充當打開或關閉對話框的開關:

(沒有對話方塊的報告視窗 - 左側中央按鈕「選項」將開啟對話方塊)

(開啟對話框的報告視窗)
在最基本的層面上,它由與 H 列錶框對齊的兩部分內容組成。
若要關閉對話框,可以將內容大小設為零或刪除內容(可以將對話框值快取在命名空間中以便於重新載入)。
一個更簡單的解決方案是使用與內容層級對齊的大綱框:
dt =打開( “$SAMPLE_DATA/大類.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 << 縮放視窗;