How to check if OK is pressed or not in a msgbox

8 次查看(过去 30 天)
Hi,
I would like to know how I can check if OK is pressed or not in a msgbox
I tried using strcmp but there seems to be a problem.
Button = msgbox(sprintf('The TryNumber is %d.\nClick OK to Stop',TryNumber));
if strcmp(Button , 'OK')
#do_something
else
#do_something
end
Can somebody help me resolve this issue. Thank you.
  2 个评论
Stephen23
Stephen23 2018-6-12
编辑:Stephen23 2018-6-12
The msgbox help shows that the output is a figure object. Why are you using strcmp on a graphics object?
Note that a msgbox only has one button "OK": what do you want the user to do that would run your alternative code?
Melwin Thomas
Melwin Thomas 2018-6-12
Thank you very much for your response. Yes, I figured it out. I managed to do it using isgraphics command.

请先登录,再进行评论。

回答(1 个)

Image Analyst
Image Analyst 2018-6-12
Try using questdlg() instead:
promptMessage = sprintf('Do you want to Continue processing,\nor Quit processing?');
titleBarCaption = 'Continue?';
buttonText = questdlg(promptMessage, titleBarCaption, 'Continue', 'Quit', 'Continue');
if contains(buttonText, 'Quit')
return;
end
  2 个评论
Melwin Thomas
Melwin Thomas 2018-6-12
Thank you very much for your response. This message appears in each iteration in a loop. So while using questdlg I need to press 'continue' or 'quit' or something during each iteration. So it was not ideal for my project. But other than that it works fine. Thank you for your time.
Image Analyst
Image Analyst 2018-6-12
You could add a third option for "non-stop" where if they click that, you set a flag where you basically don't ask them anymore.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Dialog Boxes 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by