필터 지우기
필터 지우기

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

조회 수: 6 (최근 30일)
Abraham Chan
Abraham Chan 2015년 4월 6일
댓글: Abraham Chan 2015년 4월 6일
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?

답변 (1개)

Stephen23
Stephen23 2015년 4월 6일
편집: Stephen23 2015년 4월 6일
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
Stephen23
Stephen23 2015년 4월 6일
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 2015년 4월 6일
So how do i use msgbox the same way?

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Environment and Settings에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by