複数のディスプレイボックスをウィンドウに合わせるこんにちは、
ネストされたタブボックスの3つのレベルのツリーに複数のグラフを配置するスクリプトを作成しました。 実行するたびにJMPがクラッシュするスクリプトの最初の問題を並べ替えた後(私はディスプレイボックスを間違ったタイプのボックスに送っていたと思います)、今はそれを磨こうとしています。
私がやりたいのは、すべてのグラフをウィンドウのサイズに合わせるということです。 何らかの理由で、最終ウィンドウでグラフのサイズを手動で変更できないことに気付きました。 さまざまなグラフがウィンドウに表示されると(<<メッセージを追加)、それらがすべてどのように組み合わされているかがわかります。他のグラフよりも大きい1つのグラフが新しい標準を設定し、それらがすべて大きくなり、私の美しいレイアウトが崩れるまで、これらはすべて私のウィンドウにうまく収まります。
すべてがウィンドウサイズに自動的にサイズ変更されるようにグラフ/表示ボックスを設定する簡単な方法はありますか?
スクリプティングRe:複数のディスプレイボックスをウィンドウに合わせるやあ@danschikore 、
情報のおかげで。 私はスプリッターボックスを使ってみましたが、それで状況は良くなりました。 私が提供したいのはまだ完璧に洗練されたスクリプトではありませんが、残念ながら私はそれを完成させるには時間が足りません。
参考までに、私が使用したスクリプトのモデルは次のとおりです。
win = New Window( "My tabbed graphs",
Data Filter Context Box(
V Splitter Box(
Size( 1800, 1000 ),
<<SIZES></SIZES>
スクリプトの後半で、パラメーターのリストからグラフを生成するループがあります。 次に、それをメインウィンドウにプッシュします。追加メッセージ:
tpb2 = Tab Page Box( Title( My_List[i] ), Tb2 = Tab Box() );
tb2<<APPEND></APPEND>
もともと私はVスプリッターボックスの代わりにVリストボックスを使用していました。 また、my_custom_graph_functionのグラフサイズをいじりました。これは、基本的には単なるグラフビルダー関数です。
Re:複数のディスプレイボックスをウィンドウに合わせるまず、クラッシュするスクリプトをテクニカルサポートに送信してください。スクリプトが推奨される方法で動作していない場合でも、クラッシュにつながる誤った処理を修正したいと思います。
伸縮性のあるディスプレイには多くの考慮事項があります。伸縮性のあるコンテンツをどのように作成しているかを知っておくと役立ちます。Graph Builderのようなプラットフォームには、Fit To Window( "On")のような組み込み設定がありますが、カスタムコンテンツの場合は、frameBox << Set Auto Stretching(1,1)のようなものを使用できます。添付できる例があれば、それが理想的です。
コンテンツが伸縮可能である場合でも、ウィンドウはすべてのボックスを測定し、すべてを含むのに十分な大きさのウィンドウのサイズを設定します(可能であれば、スクロールする必要がある場合があります)。伸縮可能なコンテンツを追加するときに、新しいオブジェクトによってウィンドウサイズが変更されないようにするには、初期サイズを小さい値に設定することをお勧めします。また、ストレッチ可能なコンテンツで<< Set Min Size()または<< Set Max Size()を呼び出すと便利な場合があります。これにより、ウィンドウが大きくなったり小さくなったりしたときのストレッチの動作が変わる可能性があります。
あなたが調べたいかもしれないもう一つのことはスプリッターボックスの使用です。Splitter Boxは、複数のストレッチ可能なオブジェクト間でストレッチの同期を維持するのに役立ち、コンテンツの初期サイズを定義できます。これは、コンテンツを含めるのに十分な大きさのウィンドウについての上記のコメントに反しています。Splitterは、サイズを維持し、子ボックスを強制的に調整することについて、より強力です。
Names Default To Here(1);
dt=Open("$SAMPLE_DATA/Big Class.jmp");
New Window( "stretch",
H Splitter Box(Size(900,600),
<<SIZES></SIZES>