模態窗口 - 刪除不需要的“幫助”按鈕嗨 - 我需要將Graph Builder合併到模態窗口內的更大的儀表板中 - 這很容易做到,但似乎“幫助”按鈕(提供指向JMP網站“Graph Zones”頁面的鏈接)是被自動添加到窗口的底部。我不希望它在那裡,但我無法弄清楚如何防止它出現。
以下小腳本說明了這個問題。在其中,我連續創建了三個窗口,第二個和第三個窗口是模態窗口(因此第三個窗口不會創建,直到第二個窗口關閉)。第一個和第二個窗口不添加“幫助”按鈕,而第三個窗口執行:
// Open Big Class, and minimize it to get it out of the way;
Open( "$SAMPLE_DATA/Big Class.jmp" );
Current Data Table() << minimize window( 1 );
tb = Text Box( "Hello World!" );
// Create an expression that produces a simple chart from Big Class;
gb = Expr(
Graph Builder(
Show Control Panel( 0 ),
Variables( X( :height ), Y( :weight ), Overlay( :sex ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) )
)
);
// Now produce three different types of window to show what happens;
New Window( "Ordinary Window with TextBox, Graph Builder and OK Button", V List Box( tb, gb, Button Box( "OK" ) ) );
New Window( "Modal Window with TextBox and OK Button", <<MODAL></MODAL>
有人可以幫忙嗎?(我正在使用JMP 14,如果這是相關的)
Re:模態窗口 - 刪除不需要的“幫助”按鈕大家好 - 最後一個例子非常有效,並且是一個非常有用的幾個功能的演示(即“Child,Xpath和Visibility選項”),我之前沒有對它進行過適當的探索。在這種情況下,使用模態窗口非常重要,因為我確實需要用戶在分析可以繼續之前在我的腳本中提供一些信息。
只是為了記錄,我假定應該有一個“<< on open()”選項對應“<< on close()”,然後在幫助菜單上的“Books”項目的JSL語法參考PDF中找到它的引用,但我無法創造一個似乎做任何事情的人。沒有這個例子,我當然不可能到達那裡。
非常感謝!
Re:模態窗口 - 刪除不需要的“幫助”按鈕卡梅倫走在正確的軌道上。必須有隱藏的按鈕框。 我添加了一個標題來顯示多少。
試試這個。 順便說一句,我喜歡在顯示框中創建對象然後添加它(參見glb)。 我將OnOpen()腳本添加到原始腳本並將其作為文件附加。
// Open Big Class, and minimize it to get it out of the way;
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Current Data Table() << minimize window( 1 );
tb = Text Box( "Hello World!" );
// Create an expression that produces a simple chart from Big Class;
glb = V List Box(gb = dt << Graph Builder(
Show Control Panel( 0 ),
Variables( X( :height ), Y( :weight ), Overlay( :sex ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) )
)
New Window( "Modal Window with TextBox, Graph Builder & OK Button", <<MODAL></MODAL>
Re:模態窗口 - 刪除不需要的“幫助”按鈕模態窗口的問題是,在用戶執行某些操作之前,您無法運行任何其他JSL。 我想你可以導航到顯示樹並在<< modal'之後使用<< On Open()刪除按鈕。 但是,它似乎並不喜歡它。 我首先嘗試了傳統的顯示樹導航:
New Window( "Modal Window with TextBox, Graph Builder & OK Button", << modal, << On Open( Current Window()[Button Box(2)] << Delete), V List Box( tb, gb, Button Box( "OK" ) ) );
這返回了一個關於無法下標Current Window()的錯誤,它似乎返回了對HeadBox的引用(找不到關於流漿箱上方法的任何文檔,甚至不確定它是什麼)。
然後使用xpath:
New Window( "Modal Window with TextBox, Graph Builder & OK Button", << modal, << On Open( (Current Window() << xpath("//ButtonBox[ text() = 'Help']")) << Delete), V List Box( tb, gb, Button Box( "OK" ) ) );兩者都沒有做任何事情,並且在xpath之後,它返回對按鈕框的引用(非常奇怪)。
你可以在不製作窗戶模式的情況下過關嗎?我通常會試圖避免使用它們,因為它們往往令人討厭(例如,用戶無法弄清楚為什麼他們無法啟動另一個窗口,因為他們沒有在某個模式窗口上按OK或取消)。