森之张卫东 发表于 2015-8-24 22:04

生成用户控制图形对象(用户界面控制)——uicontrol


命令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

  属性名  属性名含义  属性值
    控制控件类型与显示  
  BackgroundColor  对象的背景颜色  有效值:ColorSpec  缺省值:与系统有关
  Cdata  显示于对象之上的真颜色图片  有效值:矩阵
  ForegroundColor  文本字体的颜色  有效值:ColorSpec  缺省值:(黑色)
  SelectionHighlight  当对象被选中时突出显示  有效值:on、off  缺省值:on
  String  用户控制界面的标签,也是列表框与弹出菜单中的项目  有效值:任意有效的字符串
  Visible  用户界面控制是否可见  有效值:on、off  缺省值:on
    关于控件对象的一般信息  
  Children  用户界面控制界面没有子对象  
  Enable  用户界面控制是否可用  有效值:on、inactive、off  缺省值:on
  Parent  用户界面控制对象的父对象  有效值:图形窗口标量句柄
  Selected  对象是否为选中状态  有效值:on、off  缺省值:off
  SliderStep  滑块步长尺度  有效值:二维向量  缺省值:
  Style  用户界面控制对象的类型  有效值:pushbutton、edit、togglebutton、slider、text、radiobutton、popupmenu 、listbox、frame  缺省值:pushbutton
  Tag  由用户指定的对象的标记符  有效值:任意有效字符串
  TooltipString  对象的工具提示  有效值:任意有效字符串
  Type  图形对象的类型  有效值:字符串(只读)  缺省值:uicontrol
  UserData  用户指定的数据  有效值:矩阵
    控制控件对象的位置  
  Position  用户界面控制对象的大小与位置  有效值:位置矩形  缺省值:
  Units  解释属性position向量的单位  有效值:pixels、inches、character、normalized、points、centimeters  缺省值:pixels
    控制字体与标签  
  FontAngle  字符的倾斜度  有效值:normal、italic、oblique  缺省值:normal
  FontName  字体系列名称  有效值:字符串  缺省值:与系统有关
  FontSize  字体大小  有效值:一标量  缺省值:与系统有关
  FontUnits  字体大小单位  有效值:pixels、normalized 、inches、centimeters、points  缺省值:points
  FontWeight  文本字体的磅值  有效值:light、normal、demi、bold  缺省值:normal
  HorizontalAlignment  标签字符串的对齐方式  有效值:left、center、left  缺省值:决定于用户界面控制的对象
  String  用户控制界面的标签,也是列表框与弹出菜单中的项目  有效值:字符串
    控制回调函数的执行  
  BusyAction  回调函数中断方式  有效值:cancel、queue  缺省值:queue
  ButtonDownFcn  当按钮按下时执行的回调函数  有效值:字符串
  Callback  控制操作  有效值:字符串
  CreateFcn  在对象生成过程中执行的回调函数  有效值:字符串
  DeleteFcn  在对象删除过程中执行的回调函数  有效值:字符串
  Interruptible  回调函数中断的模式  有效值:on、off  缺省值:on
  UIContextMenu  与界面控制中的对象相关的菜单(如按下鼠标右键)  有效值:句柄
    关于当前状态的一般信息  
  ListboxTop  第一个显示于列表框中的项目的索引  有效值:标量  缺省值:[1]
  Max  最大值(与用户界面控制对象有关)  有效值:标量  缺省值:与系统有关
  Min  最小值(与用户界面控制对象有关)  有效值:标量  缺省值:与系统有关
  Value  用户界面控制对象的当前值  有效值:标量或向量  缺省值:与系统有关
    控制组件的访问  
  HandleVisibility  句柄是否可从命令窗口中与GUIs中访问  有效值:on、callback、off  缺省值:on
  HitTest  组件是否可由鼠标单击选中  有效值:on、off  缺省值:on



我是男神 发表于 2015-8-25 08:59

啦啦啦~~~我是默认签名(*^__^*)

我是男神 发表于 2015-8-25 08:59

啦啦啦~~~我是默认签名(*^__^*)

我是男神 发表于 2015-8-25 08:59

啦啦啦~~~我是默认签名(*^__^*)

我是男神 发表于 2015-8-25 12:31

啦啦啦~~~我是默认签名(*^__^*)

我是男神 发表于 2015-8-25 19:27

啦啦啦~~~我是默认签名(*^__^*)

我是男神 发表于 2015-8-25 19:29

啦啦啦~~~我是默认签名(*^__^*)

我是男神 发表于 2015-8-25 19:29

啦啦啦~~~我是默认签名(*^__^*)

我是男神 发表于 2015-8-25 19:29

啦啦啦~~~我是默认签名(*^__^*)

我是男神 发表于 2015-8-25 19:29

啦啦啦~~~我是默认签名(*^__^*)
页: [1] 2
查看完整版本: 生成用户控制图形对象(用户界面控制)——uicontrol