give the name of the uicontrol thats calling a function as an argument
조회 수: 4 (최근 30일)
이전 댓글 표시
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
채택된 답변
Walter Roberson
2012년 3월 5일
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
Walter Roberson
2012년 3월 6일
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.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Interactive Control and Callbacks에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!