Matlab - implay's default size window

给你一囗甜甜゛ 提交于 2019-11-30 10:10:24

Ah here we go:

implay(Diff);
set(findall(0,'tag','spcui_scope_framework'),'position',[150 150 700 550]);

Works in 2012b. (Note: if you have more than one implay window open, this will set them all to the same size)

So you can learn how to find this kind of stuff for yourself, what I did was start with a workspace with no other open windows.

I then used implay(Diff) to open an implay window.

I then used findall(0) to find all of the figure/uicontrol handles under 0, which is the root workspace. But there were too many! Most of them are the subcomponents of the implay window - the menus, buttons, etc. So, I only needed the first component which was created by the root workspace.

To get this, I used findall(0,'Parent',0); - I could alternatively have used allchild(0);.

I assigned a variable to this: ImplayHandle=findall(0,'Parent',0);

And looked at its properties:

get(ImplayHandle);

Looking through these, the Tag seemed to be an identifier of the window, 'spcui_scope_framework'. I also noticed the Position property had a similar size to that of a figure window, which was promising.

So, to check, I tried findall(0,'Tag','spcui_scope_framework'); and I was able to see that only a single handle was returned (none of the subcomponents or menu items were also labelled with the same Tag, which was a possibility).

Finally, I closed the open window, then opened a new window using implay(Diff); again. I used the set command to try to change the window size:

set(findall(0,'tag','spcui_scope_framework'),'position',[150 150 700 550]);

And saw that the window size had indeed changed, as hoped.

You can control the size of a figure using 'Position' property.
This property expect a 4-element vector in the format [fromX fromY width height], thus, by changing the width and height you can control the size of the figure.

For example

figure( 'Position', [150 150 700 550] )

Opens a new figure with width of 700 pixels and height of 550 pixels.

handle = implay(movie);
handle.Parent.Position = [100 100 700 550];

Also works if you want to set window size.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!