2011-06-06 7 views
0

私は3つのuitabpanelsオブジェクトのグループを設計しました。Matlabのuitabpanels間の滑らかな移行(光学効果)

htab = uitabgroup('v0'); 
    th1 = uitab('v0',htab,'title','Panel 1','ButtonDownFcn',... 
     @th1_ButtonDownFcn); 
    th2 = uitab('v0',htab,'title','Panel 2','ButtonDownFcn',... 
     @th2_ButtonDownFcn); 
    th3 = uitab('v0',htab,'title','Panel 3','ButtonDownFcn',... 
     @th3_ButtonDownFcn); 

私はマウスクリックによる選択のUipanelを変更したときに私の意図は、それらの間のスムーズな移行を持っています。私はButtonDownFcn関数を使って、内部に含まれている要素の 'Visible'プロパティを変更するようなふりをしています(この考え方は、this pageの説明のセクションに基づいています)。

set(handles.th2,'Visible','off'); 
    set(handles.th3,'Visible','off'); 
... 
    function th1_ButtonDownFcn(hObject, eventdata) 
    handles = guidata(fh); 
    set(handles.th1,'Visible','on'); 
    set(handles.th2,'Visible','off'); 
    set(handles.th3,'Visible','off'); 
    guidata(fh,handles); 
    end 

    function th2_ButtonDownFcn(hObject, eventdata) 
    handles = guidata(fh); 
    set(handles.th1,'Visible','off'); 
    set(handles.th2,'Visible','on'); 
    set(handles.th3,'Visible','off'); 
    guidata(fh,handles); 
    end 

    function th3_ButtonDownFcn(hObject, eventdata) 
    handles = guidata(fh); 
    set(handles.th1,'Visible','off'); 
    set(handles.th2,'Visible','off'); 
    set(handles.th3,'Visible','on'); 
    guidata(fh,handles);  
    end 

FH:彼らはuitabpanelsを含まれているフィギュアのハンドル。

handles.th1、handles.th2、handles.th3:それぞれのuitabpanelに含まれる要素のハンドル。

しかし、それはうまくいきませんでした(私はuitabpanelのタブのそれぞれをクリックし、それらの可視性は変わりません)。なぜそれが理解できません。

答えて

0

結論として、UITABのButtonDownFcnとSelectionChangeFcn機能は、タブのラベルをクリックすると既にアクティブになっています。したがって、得られた結果(上記の関数を修正する)は何もしないのと同じであるので、所望の目標(滑らかな光学遷移)を達成することは不可能である。

関連する問題