h(i) = strcat('handles.uipanel',num2str(i)), when I use set(h(i),'Visible','ON') ,it doesn't work
2 views (last 30 days)
Show older comments
Well ,I have a for ...end
for b=1:9
h = strcat('handles.uipanel',num2str(b));
set(h,'Visible','ON');
end
Error:Error using set; Value must be a handle.
Thank you for your help!
0 Comments
Accepted Answer
Walter Roberson
on 24 Jan 2013
Edited: Walter Roberson
on 24 Jan 2013
In your situation you could use the dynamic fieldname approach.
2 Comments
Jan
on 24 Jan 2013
I would even prefer not to let GUIDE create "handles.uipanel1", "handles.uipanel2", ..., but to create an array instead: "handles.uipanel(1)", etc. Then the loop can be omitted:
set(h.uipanel, 'Visible', 'ON');
But unfortunately the automatic code generation in GUIDE prefers to append the index to the name of the field. Then Walter's suggestion means:
for b = 1:9
set(handles.sprintf('uipanel%d', b), 'Visible', 'on');
end
More Answers (0)
See Also
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!