figure ウィンドウをセカンダリのモニタに表示する方法

조회 수: 36(최근 30일)
Musashi Ito
Musashi Ito 2021년 3월 8일
댓글: Musashi Ito 2021년 3월 10일
パソコンに2枚のモニタを接続して作業してます。figure 関数でウィンドウを表示するとプライマリのモニタにウィンドウが表示されます。セカンダリのモニタに figure のウィンドウを表示する方法をご存じの方いましたら、ご教示下さい。

채택된 답변

Shunichi Kusano
Shunichi Kusano 2021년 3월 8일
figureの位置とサイズはPositionプロパティで制御できるので、一度figureでウィンドウを出した後、好きな場所に持ってくるのが良いと思います。
私の場合、プライマリウィンドウの上にセカンダリウィンドウを設定しているので、下記figPosのようにy座標にプライマリウィンドウのy方向の画素数を上乗せして設定すると、セカンダリウィンドウの真ん中にウィンドウが出るようになります。
いちいちこれを全部入力するのは煩雑ですので、適当な名前で関数化してパスを通しておくと使いやすくなると思います。
% デフォルトとするfigureのサイズ
w = 500;
h = 500;
% ディスプレイサイズの取得
r = groot;
dispSize1 = r.MonitorPositions(1,3:4); % プライマリ
dispSize2 = r.MonitorPositions(2,3:4); % セカンダリ
% figureのポジションの定義
% [左下座標X 左下座標Y 幅 高さ]の順
% 原点はプライマリウィンドウの左下隅
figPos = [dispSize2(1)/2 - w/2, ...
dispSize1(2) + dispSize2(2)/2 - h/2, ...
w, h];
% ウィンドウを生成してPositionプロパティを変える
fig = figure;
fig.Position = figPos;
  댓글 수: 1
Musashi Ito
Musashi Ito 2021년 3월 10일
ありがとうございます。Position のプロパティで制御してみたいと思います。セカンダリのモニタに表示したいだけなのですが、ディスプレイサイズから計算しないといけないんですね・・・

댓글을 달려면 로그인하십시오.

추가 답변(0개)

범주

Find more on 環境と設定 in Help Center and File Exchange

태그

제품

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!