2011-10-11 23 views
9

MATLAB図を特定のモニタに移動する方法があるかどうかは疑問でした。MATLAB内の特定のモニタにすべての図を移動

私は私が(私はMathworks社hereからそれを得た)前に、すべての数字を持って来ることができます次のスニペットがあります

%% Bring all figures to front 
all_figure_handles = findall(0, 'type', 'figure'); 
for iCount = length(all_figure_handles):-1:1 
    figure(all_figure_handles(iCount)) 
end 

をそして、私は別の画面にすべての数字を移動するためにMATLABを求めることができる場合、私は思っていました同様の方法で(すなわち、all_figure_handlesのハンドルを使用して)。

また、MATLABがモニタのパーティション分割を認識していない場合、どのように全画面領域の右半分にすべての図形を移動できますか? (私の場合、右半分は右のモニターでなければなりません)。 MATLABのFigureのドキュメントから

答えて

8

:四分の一あなたの画面のサイズと、左上隅に配置されているFigureウィンドウを作成するには、図のサイズと画面位置

を指定

、使用ルートオブジェクトのScreenSizeプロパティを使用してサイズを決定します。画面サイズは、4要素のベクトルである:[左、下、幅、高さ]:

scrsz = get(0,'ScreenSize'); figure('Position',[1 scrsz(4)/2 scrsz(3)/2 scrsz(4)/2])

使用、メニューバー、タイトルバー、ツールバー、および外側縁を含む完全な図形ウィンドウを配置します同じ方法でOuterPositionプロパティを設定します。

set (gcf(), 'outerposition', [25 500, 560, 470])

さらに、ルートのプロパティのドキュメントで:;

MonitorPositions

[XY幅高さX-Yの幅、高さ]このよう

プライマリおよびセカンダリモニタの幅と高さ(ピクセル単位)。お使いのコンピュータに接続されている各モニタの幅と高さが含まれます。プライマリモニタのxとyの値は0,0で、モニタの幅と高さはピクセルで指定します。

としてセカンダリモニタの位置が指定されている:マルチヘッドシステムの図MonitorPositionsの値を照会 X =プライマリモニタ幅+ 1 Y =プライマリモニタ高

が別々に各モニタの位置を返しますライン。 V =(0、 'MonitorPositions') V = X、Y、幅、高さ%プライマリモニタ X、Y、幅、高さ%セカンダリモニタを取得

複数のモニタを使用する場合に画面サイズプロパティの値が矛盾しています。特定の一貫性のある値が必要な場合は、MonitorPositionsプロパティを使用します。

+0

Windowsのタスクバーの場所とサイズを確認します。私が正しく思い出すと、座標系の原点に影響を与えることがあります。 –

+0

私はiMacで 'get(0、' monitorpositions ')を試してみましたが、メニューバーの高さは除外されました。私はそれがWindows上で同様に動作すると仮定します。 – Max

+0

少なくともMacでは、2つのモニタのセットアップの左側(「vs on the right」)に「プライマリ」モニタを配置することも複雑になり、上記のドキュメントはおそらく動作しないことにも注意してください。 – eykanal

0

注:この

V =取得(0、 'MonitorPositions')そうでない場合は、あなたが悪いの座標を取得を使用するには、左のあなたのプライマリモニタを持っている必要があります。右側

プライマリモニタ=コマンドウィンドウ上の1

型の第2行目の

get(0,'MonitorPositions') 

ans = 

     1   1  1920  1080 
    -1919   1   0  1080 

悪い座標を監視+ 2を監視します。あなたは、負の取得またはゼロ今すぐ

を調整し、左の プライマリモニタ=窓8

でプライマリモニタを変更するには2

get(0,'MonitorPositions') 

ans = 

1921   1  3840  1080 

1   1  1920  1080 

を監視+ 1を監視する必要はありません

デスクトップ、画面解像度、select-monitorを右クリックし、このモニタをプライマリモニタにします。

関連する問題