当我的程序加载时,我创建了一个按钮来放置一个gif。按钮必须具有静态大小,以确保适合整个gif,但后面按钮的边框不会显示。我试过去掉边框,也试过使用按钮以外的东西。似乎什么都不起作用。
下面是我所做的示例代码:
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)));发布于 2016-03-14 21:58:02
图形、轴、uicontrol等具有可设置为inches、centimeters、points、pixels、characters和normalized的Units属性。
例如,让我们有一个图形和一个按钮。
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属性,这可能会导致调整大小操作,然后根据需要重新设置这些值。
https://stackoverflow.com/questions/35939178
复制相似问题