2017-03-16 10 views
0

ボタン(Btn1)を持つGUI(GUI1)が1つあります。 Btn1をクリックすると、プロット(GUI2)のAppersで2番目のウィンドウが表示され、GUI1が非アクティブになります(GUI2.figとGUI.mがディスクに保存されます)。両方のウィンドウをアクティブにするには?Matlab - 2つのアクティブなGUI

私はこのような何かをtrideましたが、それはうまくいきませんでした:次のように

InterfaceObj=findobj(fig,'Enable','on'); % fig = gcf; 
set(InterfaceObj,'Enable','on'); 

GUI2が呼び出されます。答えを

h = GUI2; 

感謝を!

マイコード: 関数visual_Callback(hObjectは、eventdataの、ハンドル)予約%BTN1 %hObjectは(GCBO参照)視覚的に扱う %のeventdataの - ハンドルとMATLAB %ハンドル構造の将来のバージョンで定義されるとユーザーデータ(GUIDATAを参照)

PDB_=getappdata(gcf,'PDB_'); 
file_=getappdata(gcf,'file_'); 
set(handles.PDB_list,'String', PDB_); 
SelectedItem = get(handles.PDB_list,'Value'); 
setappdata(gcf,'SelectedItem',SelectedItem); 

fig = gcf; 


h = GUI2; % GUI2.fig and .m file 

visual(file_(SelectedItem,:)); %visual() is the function that generates my graph 

InterfaceObj=findobj(fig,'Enable','on'); 
set(InterfaceObj,'Enable','on'); 


end 
+1

「アクティブ」とはなんですか?これは、2つのウィンドウを同時にアクティブなウィンドウにすることができないように、オペレーティングシステムの制限です。 – Suever

+0

GUI1をクリックしようとするとブロックされます。このWindows 8の制限を回避する方法がいくつかあります。 – destrudos

+0

「ブロックされています」という意味はどうですか?グラフィックスの更新はまだ発生するはずですが、それをクリックして再フォーカスすることができます。 – Suever

答えて

0

私はそれをしました!関数内

h = GUI2; 

: は私が入れ

mainWindow_OpeningFcn(hObject, eventdata, handles, varargin) 
... 
guidata(hObject, handles); 
h = GUI2; 
end 

GUI1の起動と初期化されたこのGUI2。 ありがとうございます!

関連する問題