行为的改变ResizeFcn
回调会反映图形和容器的位置和布局的变化,以使它们的行为彼此之间和跨所有平台更加一致。
从R2014b开始ResizeFcn
回调函数可能在程序文件中的所有变量都被赋值之前执行。当这种情况发生时ResizeFcn
Callback返回一个错误。
例如,这个程序有一个ResizeFcn
函数返回的变量的回调函数createGUI
函数。
函数mygui hs = createGUI;函数处理= createGUI创造人物和它的孩子图(f =“标签”,“图”,...“ResizeFcn”@doResizeFcn,...“可见”,“关闭”);u = uicontrol (“父”f“标签”,“热”);处理= guihandles (f);%使数字可见集(f,“可见”,“上”);结束函数doResizeFcn(变长度输入宗量)长度(hs)结束结束
海关
不存在的时候doResizeFcn
Callback第一次执行(当图变得可见时)。mygui
未定义函数或变量“hs”。Error in mygui/doResizeFcn (line 18) length(hs) Error using mygui/createGUI (line 14) Error while evaluating Figure SizeChangedFcn
要纠正这个问题,请在分配回调引用的所有变量之后使图可见。在本例中,在调用createGUI
函数。
函数mygui hs = createGUI;使数字可见集(hs.fig,“可见”,“上”);函数处理= createGUI创造人物和它的孩子图(f =“标签”,“图”,...“ResizeFcn”@doResizeFcn,...“可见”,“关闭”);u = uicontrol (“父”f“标签”,“热”);处理= guihandles (f);结束函数doResizeFcn(变长度输入宗量)长度(hs)结束结束
从R2014b开始,改变不可见容器的大小,如图形、面板、按钮组,不会触发ResizeFcn
回调,直到容器变得可见。
在MATLAB以前的版本中®,ResizeFcn
当容器的大小发生变化时执行Callback,而不管它是否可见。
控件可以控制图形和容器的可见性可见
属性:
一个数字是可见的,如果它可见
属性设置为“上”
.
uipanel或uibuttongroup是可见的可见
属性及其祖先的属性被设置为“上”
.例如,父类是uipanel的uibuttongroup在“可见”
属性的uibuttongroup, uipanel和图形都被设置为“上”
.
从R2014b开始,更改图形或容器的外部边界不会触发ResizeFcn
回调。
例如,这个数字ResizeFcn
回调函数不会在新的图形系统中执行OuterPosition
(通过删除菜单栏)。然而,这个回调函数在之前的MATLAB版本中执行。
图(f =“ResizeFcn”,“显示缩放”);集(f,菜单条的,“没有”);
从R2014b开始ResizeFcn
Callback只在容器的可绘制区域(内部区域)发生变化时执行。之前的MATLAB版本可能不会执行ResizeFcn
当绘制区域改变时回调。
例如,这个uipanelResizeFcn
当你通过增加边框宽度来改变ui面板的绘制区域时,回调函数会在新的图形系统中执行。在以前的版本中运行此代码时,回调不会执行。
p = uipanel (“ResizeFcn”,“显示缩放”);集(p,“BorderWidth”3);