2012-02-22 3 views
2

私はアプリケーションTabPanel Constructor v2.8を使用しようとしています。私はそれに与えられた指示に従った。私のguiのopeningfcnでは、タブの1つを選択する必要があります。そのためには、上記のアプリケーションに付随するtabselectionfcnを使用する必要があります。私はtabpanelsのハンドルを見つけるために、私のGUIの変数ハンドルのための研究とき、私はそれらを見ていないMatlab TabPanel usage

TABSELECTIONFCN(<hFig>,<TabTag>,<tabnumber>) 
%  <hFig>  the handle(!) of the Figure (which contains the tabpanel) 
%     and not the name of the figure file. 
%  <TabTag> the Tag name of the tabpanel 
%  <tabnumber> The number of the tabpanel or the tab string 

:この機能は、次のシグネチャがあります。私のguiの.figファイルを開くと表示されないので、この問題を克服するために何をすべきか分かりません。

P.D.私はこのアプリケーションの作者に電子メールを送ったが、答えは得られなかった。

答えて

2

タブパネルハンドルは必要ありませんが、フィギュアハンドルは必要ありません。

GUIDEによって作成されるFigureのハンドルは、デフォルトではhiddeです。視認性はfigure propertyHandleVisibilityで制御され、コマンドラインユーザーから保護するためにGUIではcallbackに設定されています。ハンドルはhObjectはあなたが必要なハンドルです

yourgui_OpeningFcn(hObject, eventdata, handles, varargin) 

のように、コールバック関数の内部から見えます。すべてのコールバック関数は、fig-fileに関連付けられたmファイルにあります。

fh = findall(0,'type','figure'); %# all open figures including GUIs 
fh = findall(0,'name','yourgui'); %# find by name 

また別の方法として、あなたがそのプロパティによって、オブジェクトを(隠さ含む)を見つけるためにFINDALLを使用することができます

fh = openfig('yourgui.fig'); 

として、図ファイルを開くGUIの外部からハンドルを取得することができます次に、TABSELECTIONFCNでタブを制御できます。

tabselectionfcn(fh,'myTab') %# get the tab status 
tabselectionfcn(fh,'myTab',2) %# activate the 2nd tab 
tabselectionfcn(fh,'myTab',1,'off') %# disable the 1nd tab (if not active) 

tabpanelタグ名は、タブパネルを作成するときにプレースホルダとして使用した静的テキストオブジェクトのプロパティTagです。 GUIDEでGUIを開き、プロパティインスペクタでtabpanelのプロパティを調べると、それを見つけることができます。それはTBP_myTabのようになります。ところで

、あなたがしなければtabpanelsはあなたのfindAllでもそれらを得ることができます扱う必要があります。

htab = findall(fh,'tag','TBP_myTab'); 
+0

は、あなたの答えをありがとうございました。私はちょうど私の誤りであることに気づいた。 – julian

+0

こんにちは。私は私の質問Matlab GUIDE ResizeFcnコールバックであなたの助けが必要だと思う。 – julian