give the name of the uicontrol thats calling a function as an argument
2 views (last 30 days)
Show older comments
hi, i got the following code:
S.pushbutton1 = uicontrol('Parent',hp,'style','pushbutton',...
'unit','pix',...
'position',[10+10*gr(1) mws(4)-60-gr(2) gr(1) gr(2)],...
'string','Einstellungen]',...
'backgroundcolor',[1 1 1],...
'fontsize',10,...
'callback',{@pbStab_call,?????});
S.pushbutton2.. = uicontrol(....
...
there are mor pushbuttons and other uicontrols which could call that function.
i want to write a function that can be called by all theese PB's for example if several edit tags got numerical value input. so i would need in the function the name of the uicontrol thats calling it. i hope this is understandable.
function[] =pbStab_call(varargin)
0 Comments
Accepted Answer
Walter Roberson
on 5 Mar 2012
No, that cannot be done. uicontrols have no name.
A uicontrol can have a Tag set for it.
If you want to pass an addition parameter (say a string) with the callback, then
[...]
'callback',{@pbStab_call,'Blind Lemon Morton'}
then you can receive it in your callback function:
function pbStab_call(src, evt, objname)
fprintf('Let''s welcome %s to the stage!\n', objname);
end
2 Comments
Walter Roberson
on 6 Mar 2012
What would you do with the "name" of the uicontrol if it had a name? Note that the "name" of a graphics object is not the same as the variable that stores it! For example, a figure can have a "Name" completely different than the variable used to store the figure number.
More Answers (0)
See Also
Categories
Find more on Migrate GUIDE Apps 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!