下面一段代码展示了如何在1个新窗口上生成1个普通按钮,并对其属性进行分别设置。运行结果如图3-1所示。
S.fh=figure('position',[300 300 222 137],… 'menubar','none',… 'name','创建按钮',… 'numbertitle','off',… 'resize','on'); S.pb=uicontrol(S.fh,'Style','pushbutton',… 'String','普通按钮',FontSize=12,FontName='宋体'); S.pb.Position(3:4)=[90 round(90*0.618)]; S.pb.Position(1)=(S.fh.Position(3)-S.pb.Position(3))/2; S.pb.Position(2)=(S.fh.Position(4)-S.pb.Position(4))/2;
图3-1 创建普通按钮
第一段代码为生成窗体的代码。
Position属性指定窗体的位置和大小。在此示例中,窗体距离计算机屏幕左边300像素,距离屏幕底边300像素,宽为222像素,高为137像素。此语句假定Units属性的默认值是像素(pixels)。
menubar属性指定菜单栏,在这里设置为none,即没有菜单栏。
name属性指定窗体名称,在这里设置为“创建按钮”。
numbertitle属性指定窗体序号,在这里设置为off,即不编号。
resize属性指定窗体是否可以调整大小,在这里设置为on,即可以调整大小。
后文不再对生成窗体做介绍。
第二段代码说明如下。
第一个参数S.fh指定父容器的句柄,S.fh可以写为fh,在第一段代码做相应修改即可,如果窗口为2个或者2个以上,这个写法可以区分哪些控件在哪个窗口。用户还可以将父容器指定为面板或按钮组。
Style属性设为pushbutton表示将用户界面控件指定为普通按钮。
String属性表示将按钮字符显示为普通按钮。在默认情况下,按钮仅允许显示一行文本。如果指定多行文本,则仅显示第一行;如果指定的控件宽度太小而无法容纳指定的字符串,MATLAB软件会使用省略号截断显示该字符串。如果要多行显示,可以像第1章开篇的例子一样使用类似网页编辑的超文本标记语言(Hypertext Markup Language,HTML)实现多行显示。
FontSize属性规定了按钮上显示字体的大小,本例为12,根据系统决定单位。
FontName属性规定了按钮上显示的字体,本例为宋体,选取字体时要确认系统安装了该字体。
Position属性指定按钮的位置和大小。在此示例中,按钮宽、高是通过计算获取的相对尺寸,采用此种方法是为了使按钮在窗体中居中。查询按钮的实际位置和大小可以通过在命令行窗口输入S.pb.Position获取,为[66 40.5 90 56],它位于距离父容器左侧66像素和距离父容器底边40.5像素的位置,按钮自身的宽度为90像素,高度为56像素。此语句假定Units属性的默认值是像素。
将图像添加到按钮。要将图像添加到按钮,可为按钮的CData属性分配一个 m × n ×3 RGB值的数组,用于定义真彩色图像。
按钮一般与其他控件组合使用。