分享

Matlab中Uicontrol 对象属性详解

 maoj66 2014-06-16
Uicontrol:是user interface control 的缩写(用户界面控制)。在各计算机平台上,窗口系统都采用控制框和菜单,让用户进行某些操作,或设置选项或属性。控制框是图形对象,如图标、文本框和滚动条,它和菜单一起使用以建立用户图形界面,称之为窗口系统和计算机窗口管理器。MATLAB控制框,又称uicontrol,与窗口管理器所用的函数十分相似。它们是图形对象,可以放置在MATLAB的图形窗中的任何位置并用鼠标激活。MATLAB的 uicontrol包括按钮、滑标、文本框及 弹出式菜单。Uicontrol由函数uicontrol生成。
     >>Hc_1=uicontrol(Hf_fig, ' PropertyName ' ,PropertyValue,...)

Uicontrol:是user interface control 的缩写(用户界面控制)。在各计算机平台上,窗口系统都采用控制框和菜单,让用户进行某些操作,或设置选项或属性。控制框是图形对象,如图标、文本框和滚动条,它和菜单一起使用以建立用户图形界面,称之为窗口系统和计算机窗口管理器。MATLAB控制框,又称uicontrol,与窗口管理器所用的函数十分相似。它们是图形对象,可以放置在MATLAB的图形窗中的任何位置并用鼠标激活。MATLAB的 uicontrol包括按钮、滑标、文本框及 弹出式菜单。Uicontrol由函数uicontrol生成。
     >>Hc_1=uicontrol(Hf_fig, ' PropertyName ' ,PropertyValue,...)
其中,Hc_1是由函数uicontrol生成uicontrol对象的句柄。通过设定uicontrol对象的属性值' PropertyName'  ' PropertyValue ' 定义了uicontrol的属性;Hf_fig是父对象的句柄,它必须是图形。如果图形对象句柄省略,就用当前的图形建立不同类型的控制框。MATLAB共有八种不同类型或型式的控制框。它们均用函数uicontrol建立。属性 ' Style ' 决定了所建控制框的类型。 ' Callback ' 属性值是当控制框激活时,传给eval在命令窗口空间执行的MATLAB字符串。
下面将给出uicontrol 对象的一些属性及它们相应的值和描述,{}内的内容为默认值,如{default},除非另外声明,否则所有的属性都可以进行设置,所有对象都通用的属性将在附件中列出。
1.‘BakcgroundColor'(背景颜色)---ColorSpec(特定的颜色).这个属性声明了用来填充uicontrol对象的背景颜色,ColorSpec是一个三元素的RGB 向量或者标准颜色的字符串号,默认的颜色值是和系统相关的,并且可以通过输入命令get(0,'DefaultUuicontrolBackgroundColor')获得。
2.‘Callback'(返回,回调)----string(字符串)。这个属性声明了当用户触发uicontrol对象(如:在按下一个'pushbutton'或者拖动一个'slider')时候所执行的字符串,'frame' 和静态的'text'uicontrol类型不发出回调。
3.‘CData'--m-by-n-by-3 array( 矩阵)这个属性是一个在'pushbutton'或'fogglebutton'uicontrol类型上显示的真彩色图像。
4 ‘Enable'---{‘on'}(默认状态)|‘inactive'(静态)|'off'(关)这个属性声明了是否启用这个uicontrol对象,当设置为'on'的时候,在这个uicontrol被选中的时候,执行这个回调字符串,当设置为'off'的时候,这个uicontrol标签字符串就变暗。当设置为'inactive' 的时候,uicontrol没有被变暗,当设置为'off'和'inactive'的时候,不执行这个回调字符串,但是'ButtonDownFcn'属性还是会起作用。
5 ‘Extent' (宽度,长度)---[0 0 width heigth],这个属性是一个只读属性,它返回用来标识这个uicontrol所使用的文本字符串的大小,其格式为标准的直角坐标格式,单位为'Units'属性所声明的单位,这个属性可用于确定装载所期望标签字符串而需要的uicontrol的大小。
6 ‘FontAngle'(字体倾斜度)---{‘normal'}|'italic'(斜体的)|'oblique'(斜的,歪的)这个属性声明了所用的字符的倾斜度。
7‘FontName'( 字体)---string这个属性声明了所使用的字体类型,使用'FixedWidth'就将字体设置为保存在根对象的'FixedWidthFontName'属性中的字体。
8‘FontSize'(字体大小)---number(数字),声明了字体的大小,单位为'FontUnits'属性所声明的单位。
 
   ‘FontUnits—{‘points'(点)}|'normalized'|'inches'(英寸)|'centimeters'(厘米)|'pixels'(图素)这个属性声明了字体相对于这个高度的大小使用的单位,设定为'normalize'是指uicontrol 的高度为1.
9 ‘FontWeight(字体粗细)'---'light'|{‘normal'}|'demi'(半)|'boid'
10 ‘ForegroudnColor'( 前景色)---ColorSpec(色值)声明了uicontrol的标签文本的颜色,ColorSpec是一个三元素的RGB向量,或者是一个标准颜色的字符串名,默认值为黑色。
11          ‘HorizontalAlignment'(水平方向上的对齐方式)—{‘left'}(左)|'center'(中)|'right'(右)这个属性声明了uicontrol在水平方向上的对齐方式,在windows pc机上,这个属性只影响到'edit'和'text'类型的uicontrol.
12          ‘ListboxTop'---scalar, 对'listbox'类型的uicontrol,这个属性声明了显示在列表最顶端的字符串的索引。
13          ‘Max'(最大)---scalar(比列),对于'radiobutton' 和'checkbox'类型的uicontrol,'Max'是uicontrol为'on'时'Value' 属性的值,对于'slider' 类型的uicontrol,‘Max'是用户能够选择的最大值,并且它必须比'Min'属性所声明的值要大,默认值为1,对于'edit' 类型的uicontrol,如果'Max'-‘Min'>1,那么就可以进行多项选择,如果'Max'-‘Min'<=1,那么就只可以进行单项选择。
14          ‘Min'---scalar类似13
15           ‘Position'(位置)---[left(左) bottom(底) width(宽) heigh(高)]它声明了uicontrol的位置,格式为相对于图形窗口左下角的标准直角坐标格式,单位为'Units'属性所定义的单位,windows pc中‘popupmenu'类型的uicontrol 的高度是由字体来设置的,并且将heigth 忽略。
16           ‘SliderStep'(滚动条步长)—[arrow_step trough_step]这个属性声明了一个值,这个值是经过标定的'Max'-'Min' ,大小在0到1间,arrow-step是点滚动条上的箭头时滚动条移动的步长, trough_step是点滚动条的滑槽时滚动条移动的步长。
17          ‘String'—string这个属性声明了显示在按钮,拨动按钮,静态文本,弹出菜单上的uicontrol标签字符串,弹出菜单中的多个菜单项或者列表中的多个列表项可以声明为字符串单元数组,字符串矩阵或者由竖线字符分开的字符串,多行可编辑文本或者静态文本控件中的行分隔符号出现在字符串矩阵的各行之间或者字符串单元数组的每一个单元之间,竖线字符未被解释成线分隔符,在'edit'类型的uicontrol中,经过修改的文本可以通过这个属性返回。
‘Style'(类型)—‘pushbutton'( 按钮键)|'togglebutton'( 触发器)|'radiobutton'(无线按钮)|'chechbox'( 检查框)|'edit'(编辑)|'text'(文本)|'slider'( 滑标)|'frame'( 框)|'listbox'(列表)|'popupmenu'(跃上型)这个属性声明了要生成的uicontrol对象类型。
。。。按钮键典型地用于执行一个动作而不是改变状态或设定属性。下面的例子(mmctl1.m)建立标志为Close的按钮键uicontrol。当激活该按钮时,close关闭当前的图形。以象素为单位的' Position ' 属性定义按钮键的大小和位置,这是缺省的 ' Units ' 属性值。属性 ' String ' 定义了按钮的标志。
例1>>Hc_close=uicontrol(gcf, ' Style ' , ' push ' ,' Position ' ,[10 10 100 25],' String ' ,'Close ' ,' CallBack ' , ' close');
。。。无线按钮,又称选择按钮或切换按钮,它由一个标志并和标志文本的左端一个小圆圈或小菱形所形成。当选择时,圆圈或菱形被填充,且 ' Value ' 属性值设为1;若未被选择,指示符被清除, ' Value ' 属性值设为0。无线按钮键 ' style ' 的属性值是 ' radiobutton ' 线按钮典型地用在一组互斥的选项中选择一项。为了确保互斥性,各无线按钮uicontrol的回调字符串必须不选组中其它项,将它们各项的 ' Value ' 设为0。然而,这只是一个约定,如果需要,无线按钮可与检查框交换使用。
 
...检查框,检查框典型地用于表明选项的状态或属性。通常检查框是独立的对象,如果需要,检查框可与无线按钮交换使用。
例2建立了一个检查框uicontrol,设置坐标轴 ' Box ' 属性,当此检查框被激活时,测试 ' Value ' 属性以确定检查框是否以往被检查或清除过,并适当设置 ' Box ' 属性。

>>hbox=uicontrol(gcf,'style','check','position',[100 50 100 20],'string','Axisbox','callback',['ifget(hbox,"value")==1,set(gca,"box","on"),else,(gca,"box","off",end')];
。。。。滑标, 滑标,或称滚动条,包括三个独立的部分,分别是滚动槽、或长方条区域,代表有效对象值范围;滚动槽内的指示器,代表滑标当前值;以及在槽的两端的箭头。滑标uicontrol' Style '  属性值是 ' slider ' 。滑标典型地用于从几个值域范围中选定一个。滑标值有三种方式设定。方法一:鼠标指针指向指示器,移动指示器。拖动鼠标时,要按住鼠标按钮,当指示器位于期望位置后松开鼠标。方法二:当指针处于槽中但在指示器的一侧时,单击鼠标按钮,指示器按该侧方向移动距离约等于整个值域范围的10%  ;方法三:在滑标不论哪端单击鼠标箭头;指示器沿着箭头的方向移动大约为滑标范围的1%  。滑标通常与所用文本uicontrol对象一起显示标志、当前滑标值及值域范围。
例3实现了一个滑标,可以用于设置视点方位角。用了三个文本框分别指示滑标的最大值,最小值和当前值。3.m:
fig=meshgrid(1:50);
mesh(fig)
vw=get(gca,'View');
Hc_az=uicontrol(gcf, 'Style', 'slider', 'Position', [10  5  140 20], 'Min', -90, 'Max', 90, 'Value', vw(1), 'CallBack', ['set(Hc_cur,"String",num2str(get(Hc_az,"Value")))', 'set(gca, "View", [get(Hc_az,"Value") , vw(2)])']);
Hc_min=uicontrol(gcf,'Style','text','Position',[10  25  40  20],'String',[num2str(get(Hc_az, 'Min' )),num2str(get(Hc_az, 'Min'))]);
Hc_max=uicontrol(gcf, 'Style', 'text', 'Position', [110  25  40  20], 'String', num2str(get(Hc_az,'Max')));
Hc_cur=uicontrol(gcf, 'Style', 'text', 'Position', [60  25  40  20], 'String' , num2str(get(Hc_az,'Value')));
Axis off
18          TolltipSrting ----sting这个属性指当用户将鼠标指针移动在uicontrol之上并且在它上边停留的时候所显示的功能提示。
19      ‘Units'----{‘pixels'}|'normalized'|'inches'|'centimeters'|'points'这个属性声明了uicontrol对象属性所使用的度量单位。(见8)

11          ‘Value'(值)----scalar or vector这个属性包含了uicontrol的当前值:
1:‘Radiobutton'和'Checkbox'--- 当设为'on'的时候,为'Max',当设为'off'的时候,为 ‘Min'.
2:'Slider'--- 代表了滚动条位置的数字。
3:‘PopUpMenu'—选定项目的索引。
4:'ListBox'—选定列表项的索引的向量。
5:‘Togglebutton'---当按钮被按下的时候,为'Max';当按钮弹上来的时候,为'Min'
其它的uicontrol的类型不用设置这个属性。
例4:
stop=uicontrol('style','toggle','string','stop','background','white';%在窗口上画了一个按钮控件,标题为Stop,背景设为白色。
例5:下面的例子建立了一个框架,把两个按钮和一个标志放入其中。
>>  Hc_frame  =  uicontrol(gcf,' Style ', ' frame ' , ' Position ' ,[250 200 95 65]);
>>  Hc_pb1  =  uicontrol(gcf, ' Style ' , ' pudhbutton ' ,' Position ' ,[255 205 40 40], ' String ' , ' OK ' );
>>  Hc_pb2  =  uicontrol(gcf, ' Style ' , ' pushbutton ' ,' Position ' ,[300 205 40 40], ' String ' , ' NOT ' );
>>  Hc_1b1  =  uicontrol(gcf, ' Style ' , ' text ' ,' Position ' ,[255 250 85 10], ' Str ' , ' Push Me ' );
例6:建立Close 按钮键、无线按钮;对24小时建立检查框。
Hc_close=uicontrol( ' Style ' , ' push ' ,' Position ' ,[.65  .05  .30  .30], ' BackgroundColor ' ,[.8  .8  .9],' String ' , ' Close ' ,' CallBack ' ,' close(gcf) ' );
Hc_sec=uicontrol( ' Style ' , ' radiobutton ' ,' Position ' ,[.05  .05  .50  .13], ' Value ' ,sec,  ' String ' , ' Seconds ' );           
Hc_mil=uicontrol( ' Style ' , ' checkbox ' ,' Position ' ,[.05  .22  .50  .13],' Value ' ,mil,' String ' , ' 24-Hour ' ); 
本文主要参考以下两网页:
1:http://www./cai/matlab/matlab5/chap212.htm
2:http://cache.baidu.com/c?word=matlab%2Cuicontrol&url=http%3A//www%2Ematwav%2Ecom/jishu/jishu000005%2Ehtml&b=1&user=baidu
(注:文章中的命令与大小写无关!)


 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多