首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在窗口中更改显示设置时,防止特定的matlab gui按钮更改大小。

问在窗口中更改显示设置时,防止特定的matlab gui按钮更改大小。
EN

Stack Overflow用户
提问于 2016-03-11 19:31:08
回答 1查看 95关注 0票数 0

当我的程序加载时,我创建了一个按钮来放置一个gif。按钮必须具有静态大小,以确保适合整个gif,但后面按钮的边框不会显示。我试过去掉边框,也试过使用按钮以外的东西。似乎什么都不起作用。

下面是我所做的示例代码:

代码语言:javascript
复制
pos = [3, 4, 50, 40];
gif = sprintf('<html><img src="file:/%s\\myGif.gif"/></html>',pwd); 
ld = uicontrol('style','push', 'BackgroundColor', 'w', 'ForegroundColor',...
'w', 'pos', pos, 'String',gif,'enable','inactive','CData',uint8(240*ones(18,18,3)));
EN

回答 1

Stack Overflow用户

发布于 2016-03-14 21:58:02

图形、轴、uicontrol等具有可设置为inches、centimeters、points、pixels、characters和normalized的Units属性。

例如,让我们有一个图形和一个按钮。

代码语言:javascript
复制
fig=figure();
pb =uicontrol('style','pushbutton','string','Push','parent',fig);

当Units属性设置为normalized以外的任意值时,position和outerposition属性的值将绑定到父实体(假设fig句柄是pb的父实体)的左下角和单元的长度(假设set(pb,'units','inches'))。在父(fig)移动和/或调整大小时,子位置将保持与左下角相同,且其大小不会改变(因为它绑定到绝对值)

当Units被设置为normalized (比如set(pb,'units','normalized'))时,position和outerposition属性被绑定到父对象的大小的左下角和。在调整父项(fig)大小时,子项的位置将保持与父项框架的相对位置相同,子项的大小也是如此(因为它绑定到父项维度)。

此行为独立于parents units属性。

如果子元素( (outer)position的前两个元素)的位置是相对于父维度的,而子元素( (outer)position的最后两个元素)的大小是恒定的,那么解决方案就不那么简单了。典型的情况是控件位于图的右侧。

当用户负责调整大小时,可以使用ResizeFcn属性并创建例程来更改子对象的适当属性。

当代码负责调整大小时,可以在命令之前读取position属性,这可能会导致调整大小操作,然后根据需要重新设置这些值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35939178

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档