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 个评论

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');

请先登录,再进行评论。

 采纳的回答

Jan
Jan 2014-3-23
编辑:Jan 2014-3-23
According to the documentation, this should be sufficient already:
FigH = findobj(allchild(0), 'flat', 'name', 'Simulator');
figure(FigH);

3 个评论

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

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心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!

Translated by