waitbarに、キ​ャンセルボタンを設定​するにはどうすればよ​いですか?

조회 수: 15 (최근 30일)
MathWorks Support Team
MathWorks Support Team 2013년 10월 25일
답변: MathWorks Support Team 2013년 10월 25일
waitbar関数において、キャンセル時の処理の記述方法を教えてください。

채택된 답변

MathWorks Support Team
MathWorks Support Team 2013년 10월 25일
waitbar関数では、キャンセルボタンをクリックした時のコールバック処理を、'CreateCancelBtn'プロパティの後に直接記述することができます。
以下に2通りの方法を示します。
 1. MATLABスクリプトとして使用する場合
 2. 関数MATLABファイルとして使用する場合
1.MATLABスクリプトとして使用する場合
下記例では、キャンセル時のコールバック処理として、変数flagを1に設定しています。この変数flagの値により、中断されたかどうかを判断しています。
% 初期設定
flag=0;
% キャンセルコールバックで、変数flagを1に設定。
h = waitbar(0,'実行中・・・','CreateCancelBtn','flag = 1;');
for k=1:100
waitbar(k/100,h)
pause(0.1)
if flag==1
break % Cancelがクリックされると中断 (for文を抜ける)
end
end
if flag == 0
waitbar(100,h,'終了しました。')
elseif flag == 1
waitbar(k/100,h,'中断しました。')
end
pause(1)
delete(h) % waitbarのウィンドウを閉じる
2. 関数MATLABファイルとして使用する場合
SETAPPDATA関数とGETAPPDATA関数を利用し、内部でデータを
定義/取得します。
function sample
h = waitbar(0,'実行中・・・','CreateCancelBtn','setappdata(gcbf,''canceling'',1)');
setappdata(h,'canceling',0)
for k=1:100
waitbar(k/100,h)
pause(0.1)
if getappdata(h,'canceling')
waitbar(k/100,h,'中断しました。')
break % Cancelがクリックされると中断 (for文を抜ける)
end
end
pause(1)
delete(h) % waitbarのウィンドウを閉じる
■キャンセルボタンをクリック

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 アプリの作成에 대해 자세히 알아보기

태그

제품


릴리스

R2008a

Community Treasure Hunt

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

Start Hunting!