How to link message box OK button to other function? (matlab gui)

2 visualizaciones (últimos 30 días)
Abraham Chan
Abraham Chan el 6 de Abr. de 2015
Comentada: Abraham Chan el 6 de Abr. de 2015
When user click 'OK', The ok button does something...
h = msgbox('Operation Completed','Success');
if strcmp(h,'OK')
..................
end
The strcmp not functioning.
What is the value of 'OK' in the msgbox?

Respuestas (1)

Stephen23
Stephen23 el 6 de Abr. de 2015
Editada: Stephen23 el 6 de Abr. de 2015
When you read the documentation for msgbox, it clearly states the the output is "Message dialog box handle returned as a scalar". So the output is a handle, which is useful for keeping track of graphics objects, but it is certainly not a string. Who told you that the output was a string?
You can query the properties of the handle using get.
Also note that simply calling msgbox does not make MATLAB wait for a response, but the code will continue running as soon as the box has been created. If you wish to for the code execution to wait for the user response, then you will need to use waitfor.
You could try something like this:
waitfor(msgbox(...))
But it really depends on what functionality you want to achieve. Can you please describe what you want to happen with this code, and how it should respond given different user interactions (e.g. they close the dialog box without clicking okay).
  3 comentarios
Stephen23
Stephen23 el 6 de Abr. de 2015
When you read the documentation for questdlg it states clearly that it returns a string: "button is set to the name of the button pressed...", which is why this works for you.
Abraham Chan
Abraham Chan el 6 de Abr. de 2015
So how do i use msgbox the same way?

Iniciar sesión para comentar.

Categorías

Más información sobre Environment and Settings en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by