图形的重要属性
第十章用户图形界面好的编程习惯把GUI应用程序数据存储到handles结构中,以便任意的一个回调函数都可以应用它。好的编程习惯如果你修改了handles结构中的任何GUI应用数据,确保在函数退出之前保存了调用guidata的结构。
一些有用的函数在设计回调函数过程中有三种特殊函数经常被使用:gcbo,gcbf和findobj。虽然这些函数在MATLAB 6 GUIs中的没有像以前版本那么频繁,它们还是非常有用,做为程序员,肯定会碰到。gcbo函数(获得回调对象)返回产生回调函数的对象的句柄,gcbf函数(获得回调图形)返回包含该对象的图形的句柄。这些函数可以被回调函数用来确定产生回调的对象或图形,以便可以修改图形中的对象。
findobj函数搜索父对象中的所有子对象,查找那些指定属性具有特定值的对象,它返回任何特征匹配的对象的句柄。findobj最常用的格式是Hndl = findobj(parent, ' Property', Value');其中parent是父对象(如图形)的句柄,Property是要检查的属性,而Value是要查找的值。假设程序员要更改名称(tag)为“Button1”的按钮的文字,该程序可能先查找这个按钮,然后用下面的语句替换该文字:
Hndl = findobj(gcbf, 'Tag', 'Button1');
set (Hndl, 'String', 'New text');
对象属性每个GUI对象都包含一系列可以自定义该对象的扩展属性,各种类型的对象(如图形、坐标轴,uicontrols控件等)之间只有轻微的差别,所有类型的对象的所有属性都可以通过帮助浏览器在线找到它们的介绍文档,例如关于MATLAB GUI编程技巧的更多详细内容可以参考这个链接。
表10.2图形的重要属性:
-
Color 设定图形的颜色。值要么是预定义的颜色如“r”、“g”或“b”,要么是一个有3个元素的向量,这3个元素分别代表红、绿和蓝,范围从0-1之间。比如洋红色为[1 0 1]。
-
MenuBar 设定是否在图形上显示默认菜单。可以设为“figure”表示显示默认菜单,而设为“none”则删除菜单。
-
Name 设定要图形标题栏显示的名称
-
NumberTitle 设定是否在标题栏显示图形数量,可以设为“on”或者“off”。
-
Position 设定图形在屏幕上的位置,单位为“units”。这个值接受一个4元素的向量,前2个元素表示图形左下角的x和y坐标。而后2个元素则表示图形的宽度和高度。
想象一下,轻轻松松几行代码就能操控这些属性,简直是为你的编程之旅插上了翅膀!对于更多的实用技巧和实例,不妨浏览一下Matlab GUI编程实践技巧分享。是不是感觉MATLAB的世界一下子变得鲜活起来了呢?!
正如所有伟大的探险一样,编程的每一步都是发现新大陆的过程,善用这些技巧,你也可以成为这个领域的探险家!