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)

채택된 답변

Walter Roberson
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
jeff wu
jeff wu 2012년 3월 6일
thx for your answer
thats a bit disapointing though, :-)
have i chosen the right way for a programm that coult become big??
function [] = Woody()
scrsz = get(0,'ScreenSize');
mws=[0 100 scrsz(3)-60 scrsz(4)-140];
S.fh = figure('position',mws,...
hp = uipanel('Title','Schnittkräfte',...
and then there a r a bunch of uicontrols that are included in the panel in order to be able to make them invisible at once.
Walter Roberson
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 CenterFile Exchange에서 Interactive Control and Callbacks에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by