命令6 uicontrol
功能生成用户控制图形对象(用户界面控制)。也通过该命令运行图形用户界面。当对象被选中时,一般会执行相应的操作。系统支持多种控件,每一种都有不同的作用:
校验框——当单击检验框时,会执行一操作。该组件对于提供用户多个独立的选择是很有用的。要激活一校验框,只需用鼠标单击该组件即可,且选中的状态在组件上显示出来。 可编辑文本框——允许用户输入与修改文本文字的区域。当用户想把文字作为输入时,可使用该组件。若一可编辑文本框有焦点,则单击文本框的菜单栏不会执行任何操作。因此,在单击菜单条后,语句get(edit_handle,’String’)并没有返回当前编辑框中的内容。因为系统必须执行回调函数来改变属性 string的值,即使屏幕上显示的文字已经改变。 框架——该组件为一封闭的、可见的、图形窗口区域。框架能使一用户图形界面中相关的控制组件能容易理解。框架没有相关的回调程序。只有控制组件能在框架中显示。框架不是透明的,因此用户定义的组件先后顺序决定了组件是否被框架遮住或可见。属性Stacking order决定了控制组件的显示顺序:第一个定义的组件最先显示,后面定义的控制组件则覆盖已经存在的组件。若用户要用一框架包围一些组件,则必须第一个定义框架。 列表框——显示一些项目的列表(用命令string设置),且允许用户选择一个或多个项目。属性Min与Max控制着选择的模式。属性Value显示可选择的项目与包含着字符串列表中项目的索引;对于选择了多个项目则用向量表示。在任何的能改变属性Value值的、鼠标松开的操作之后,系统MATLAB将马上执行列表框的回调函数。因此,用户有必要增加一“Done”按钮,用于推迟当要多次选择项目时的操作。在执行列表框回调函数Callback属性之前,列表框中项目的选择有单击或双击之分,对应于将图形窗口属性SelectionType设置为normal或open。 弹出菜单——当组件被按下时,打开且显示一选择列表(用命令string设置)。当没有打开时,该组件显示当前的选择项。该组件对于用户想给其他用户提供一系列的互斥的选择项,又不想占用太多的区域。 普通按钮——当该组件被按下时,将执行一操作。要激活一按钮,只需在按钮上按下鼠标按钮。 单选按钮——该组件与校验框相类似,但它包含几个互斥的、而且相关的选项(例如在任意时刻,只能选择一个状态)。要激活某一单选按钮,只需在该组件上按下鼠标即可。被选中的组件同时显示出来。 滑块——该组件允许用户通过移动某一范围之内的滑块来输入一指定的数值。用户要移动一滑块,只需在滑块上按下鼠标不放,且在滑块方向上移动;或者是在滑槽内单击鼠标;或者是单击滑块条上的箭头。当松开鼠标后,滑块所在位置将与一数值对应。用户可以设置滑块的最大值、最小值与当前值等。 静态文本框——显示文本行。静态文本经常作为其他控制对象标签,以提供其他用户相关信息,或者是显示一滑块的数值。其他用户不能交互地改变静态文本,因此对于静态文本,没有相关的回调函数。 触发按钮——当该组件被单击且显示出它们的状态(on或者off)时,控制是否执行回调函数。
用法handle = uicontrol(parent) 在父对象parent上生成一用户图形控制界面。用户界面控制对象都是图形窗口的子对象,所以当窗口中没有坐标轴时,同样可以放置控制组件于图形窗口中。
handle = uicontrol(…,'PropertyName',PropertyValue,…) 参量PropertyName为属性名,参量PropertyValue可为结构数组或者为单元数组,同时随意地返回刚生成的对象的句柄。当然用户可以通过命令set与get来设置与询问生成对象的属性值。
附:表7-12列出所有的用于命令uicontrol对象的属性名。每一属性名当作一描述该属性的链接。
表7-12
| | | 控制控件类型与显示 | | | | | | | | | 有效值:ColorSpec 缺省值:[0 0 0](黑色) | | | | | | | | | | 关于控件对象的一般信息 | | | | | | 有效值:on、inactive、off 缺省值:on | | | | | | | | | | | | 有效值:pushbutton、edit、togglebutton、slider、text、radiobutton、popupmenu 、listbox、frame 缺省值:pushbutton | | | | | | | | | 有效值:字符串(只读) 缺省值:uicontrol | | | | 控制控件对象的位置 | | | 有效值:位置矩形 缺省值:[20 20 60 20] | | | 有效值:pixels、inches、character、normalized、points、centimeters 缺省值:pixels | 控制字体与标签 | | | 有效值:normal、italic、oblique 缺省值:normal | | | | | | | | | 有效值:pixels、normalized 、inches、centimeters、points 缺省值:points | | | 有效值:light、normal、demi、bold 缺省值:normal | | | 有效值:left、center、left 缺省值:决定于用户界面控制的对象 | | | | 控制回调函数的执行 | | | 有效值:cancel、queue 缺省值:queue | | | | | | | | | | | | | | | | | | | 关于当前状态的一般信息 | | | | | | | | | | | | | 控制组件的访问 | | | 有效值:on、callback、off 缺省值:on | | | |
|