How do I program a callback on a UICONTROL?
Show older comments
I want to present several graphs such that when I click a push button beside a graph, the next in the series appears.
I tried the following code, but the push button those not influence the running.
PushButton = uicontrol(gcf,'Style', 'pushbutton', 'String', 'Next',
'Position', [300 10 30 30], 'Callback', 'pause');
How should I do this?
Accepted Answer
More Answers (2)
Jan
on 9 Feb 2011
Try this at first:
PushButton = uicontrol(gcf,'Style', 'pushbutton', ...
'String', 'Next', ...
'Position', [300 10 30 30], ...
'Callback', @yourCallback);
function yourCallback(ObjH, EventData)
% ObjH is the button handle
FigH = ancestor(ObjH, 'figure'); % or: gcbf
set(FigH, 'Color', rand);
Then insert something more useful in the callback function. BTW: Searching in the documentation is always a good point to start from:
docsearch callback
5 Comments
noga cohen
on 9 Feb 2011
Jan
on 9 Feb 2011
@noga: Please post the relevant part of the code.
noga cohen
on 10 Feb 2011
K VdB
on 24 Oct 2016
When I run the script noga cohen gave it says:
''All functions in a script must be closed with an 'end'.
When I close the script with an end it says:
''Function definitions are not permitted in this context.''
Walter Roberson
on 24 Oct 2016
Only R2016b and later permit function definitions inside a .m file that does not start with the word "function" or "classdef" .
Anyhow: store the function inside GraphCreator.m and have the assignment to PushButton in a different routine.
Categories
Find more on Toolbox Distribution 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!