uistack figure simulator top

Hello,
software ( main figure) in gui has name Simulator. If I have opened two and more figures, and I use
set(0,'CurrentFigure',findobj('type','figure','name','Simulator'))
f=gcf
uistack(f, 'top')
than Simulator is on the top. But if there is opened only Simulator, and I use above code, than appears main Matlba Window on the top.
How can I do, that Simulator will be always on the top?
Thank you

1 Comment

I solved it by this code:
set(0,'CurrentFigure',findobj('type','figure','name','Simulator'))
f=gcf;
uistack(f,'top');
figure(f);
set(0,'CurrentFigure',f);
uistack(f,'top');

Sign in to comment.

 Accepted Answer

Jan
Jan on 23 Mar 2014
Edited: Jan on 23 Mar 2014
According to the documentation, this should be sufficient already:
FigH = findobj(allchild(0), 'flat', 'name', 'Simulator');
figure(FigH);

3 Comments

You save 5 lines of code, :-)
Thank you
For example, I have two figures, one is main.
If main is top, and I use
uistack(FigH,'top');
than second figure I show for realy short time, after that, main figure is in the top.....why there is switching between figures? if main is on the top?
code:
FigH = findobj(allchild(0), 'flat', 'name', 'Simulator');
figure(FigH);
uistack(FigH,'top');
sometimes doesn't work, sometimes main figure is not on top...:-O

Sign in to comment.

More Answers (0)

Categories

Find more on Interactive Control and Callbacks in Help Center and File Exchange

Tags

Asked:

on 20 Mar 2014

Commented:

on 24 Mar 2014

Community Treasure Hunt

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

Start Hunting!