Clear Filters
Clear Filters

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

8 views (last 30 days)
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 Comments
Stephen23
Stephen23 on 12 Jun 2018
Edited: Stephen23 on 12 Jun 2018
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 on 12 Jun 2018
Thank you very much for your response. Yes, I figured it out. I managed to do it using isgraphics command.

Sign in to comment.

Answers (1)

Image Analyst
Image Analyst on 12 Jun 2018
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 Comments
Melwin Thomas
Melwin Thomas on 12 Jun 2018
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 on 12 Jun 2018
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.

Sign in to comment.

Categories

Find more on Dialog Boxes in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!