24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1635  |  回复: 4

唐去过

木虫 (正式写手)

[交流] MATLAB GUI窗口一开始就高度最大化已有1人参与

想让GUIDE建立的窗口一开始就高度最大化(不是设resize on,然后手动调节),我按照论坛的方法movegui试了,可是建立的窗口一开始下面的一部分看不到,而上面的还没有到屏幕最上端,而且此种方法会让人有闪烁感(窗口从一地方移动到另一地方),鼠标往窗口上边缘一碰才会达到效果,这是为何?如何在创建窗口时就达到想要的效果。
回复此楼
难道就这样了?
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csgt0

荣誉版主 (著名写手)

彩色挂图


小木虫: 金币+0.5, 给个红包,谢谢回帖
set(gcf,'visible','on')
h = actxserver('WScript.Shell');
figure(gcf);
h.SendKeys('% '); %this is shortcut key ALT + {SPACE}
h.SendKeys('{DOWN 4}');
h.SendKeys('~'); %This is enter
showmethemoney
2楼2012-09-04 14:27:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

唐去过

木虫 (正式写手)

谢谢,这个方法第一次看到。可是这是整个窗口最大化的,我只想将高度最大化,而宽度自己设定一个值。能做到吗?
难道就这样了?
3楼2012-09-05 22:50:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csgt0

荣誉版主 (著名写手)

彩色挂图


小木虫: 金币+0.5, 给个红包,谢谢回帖
引用回帖:
3楼: Originally posted by 唐去过 at 2012-09-05 22:50:37
谢谢,这个方法第一次看到。可是这是整个窗口最大化的,我只想将高度最大化,而宽度自己设定一个值。能做到吗?

实现的可能性不大,因为高度受windows任务栏的影响,任务栏宽度是变化的。当然,如果对于固定的电脑,或者分辨率一样的显示器,还是可以的,只要设置好位置。比如在我的电脑上用如下即可:
scnsize = get(0,'ScreenSize')
width=500;
figure('position',[1,55,width,scnsize(4)-145]);
但是换了电脑就不一定了。
当然,还有一种方法就是用上面我说到的最大化,然后获取最大化之后的左下点以及高度值,再重新给其定宽是可以实现的,但是肯定会出现窗口闪烁的情况。目前还没有有效地方法在窗口隐藏时将窗口最大化。
showmethemoney
4楼2012-09-06 09:43:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

唐去过

木虫 (正式写手)

引用回帖:
4楼: Originally posted by csgt0 at 2012-09-06 09:43:25
实现的可能性不大,因为高度受windows任务栏的影响,任务栏宽度是变化的。当然,如果对于固定的电脑,或者分辨率一样的显示器,还是可以的,只要设置好位置。比如在我的电脑上用如下即可:
scnsize = get(0,'Scre ...

嗯,谢谢。
难道就这样了?
5楼2012-09-08 23:20:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 唐去过 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见