2012-12-05 4 views
5

私はWindows 7 PCで64ビットmatlab R2012a(7.14.0.737)を使用しています。 私は2台のモニターを持っています。私は2番目のモニタ(左)でmatlabのGUIの図を開くことができるようにしたい。GUIフィギュアはデュアルモニターでは開きませんが他の数字はOKです

コマンドラインでの数字が正常に動作します。

h = figure(... , 'position',[some -value on the other screen y w h) 

が、GUIの図は必ずしも正しい位置の値は、GUIウィンドウのプロパティに入力され及び/又は2)GUI開口にコード

set(hObject, 'position',[some -value on the other screen y w h) 

を使用して)1にもかかわらず、第1のモニタ上に形成されています関数。

ただし、このコードを出力関数に置いても問題ありません。あなたが姿を現した後に移動しているのを見て、優雅ではありません。 GUI内の値は、私がそれらを望む方法で設定されます。 matlabに無視されているようです。何か案は?

  • 更新*

私はガイドを作成した図を開くとき、MATLABはmovegui(fig, 'onscreen')を呼び出し、読み取り以来持っています。 arg。私は今、問題をどのようにオーバーライドするか、または「オンスクリーン」を他のモニターに設定する方法が問題だと思います。この目的のための解決策はありません

答えて

0

これはGUIDEから直接行うことはできません。

回避策

輸出あなたの姿:GuideMenu - >ファイル - >書き出し

行に置き換えます

movegui(gui_hFigure,'onscreen'); 

と:

set(gcbf, 'position',[some -value on the other screen y w h) 

0を私にとって

R2012aが)、これはエクスポートされたGUIのライン330の周りに現れます:

... 
    % openfig (called by local_openfig below) does this for guis without 
    % the LayoutFcn. Be sure to do it here so guis show up on screen. 
    movegui(gui_hFigure,'onscreen'); %% COMMENT OUT OR REPLACE THIS LINE 
else 
    gui_hFigure = local_openfig(gui_State.gui_Name, 
... 
+0

素晴らしいトリックを、ありがとう! – user1877560

0

matlabのGUIDE GUIには、開かれたときに自動的に呼び出されるいくつかのデフォルト関数があります。少なくとも2つの関数がデフォルトのFigureの配置を上書きするのは、matlabの厄介な機能です。おそらく、ここで解説したソリューションの1つhereは、あなたの問題を解決するために修正することができます。

関連する問題