什么是GUI:人和计算机进行信息交流的工具,由各种对象组成
对象
对象(一个具体的物),在一幅图中窗口,坐标轴,曲线,文本都是对象。
窗口是显示器的子对象,坐标轴是窗口的子对象,曲线是坐标轴的子对象……
对象与句柄一一对应
句柄
什么是句柄
- 句柄是一个标识符,是拿来标识对象(显示器句柄为0……)的,它就象我们的姓名(编号)一样。
- 它类似于一个指针,但指针的值是内存地址,而句柄是一个数。
为什么需要句柄?
- 对对象进行操作,就需要先知道对象的句柄值,电脑并不能直接理解什么是显示器,坐标轴,只有给对象编号后(句柄),下达带句柄的指令电脑才能理解。
如何得到对象的句柄
-
allchild() 函数 (doc allchild 指令可以查找到allchild的帮助文献)
查找指定对象(句柄值所代表的对象)的所有子对象
例子:allchild(gcf) 可以获得当前窗口的所有子对象(没错gcf就是当前窗口的意思),获得了一大堆句柄值,但不知道每个句柄值具体代表哪个对象(电脑找出来所有子对象,但用句柄值表达出来,电脑也只会用句柄值表达)
findobj()函数可以按照要求查找带限定条件的对象的句柄值
例子:find(allchild(gca),'Type','Text')
在allchild()返回的所有句柄值代表的对象中寻找Type属性为Text的对象,并返回它的句柄值。(通过这个例子还可以看出,和C语言,python一样,电脑识别字符串都要依靠单引号)
2. 可以用get(ans(1)) 返回这个句柄值代表的对象的各种属性(ans(1)是gcf第一个子对象的句柄值),然后里面一般会有一个type属性,可以看出这个对象的现实含义。
3. 可以通过set对对象进行操作
例子: set(ans(1),'position',[0.13 0.13 0.5 0.5]) 对ans(1)句柄所表示的对象的属性进行操作。(四个数字分别是position的横坐标,纵坐标,宽度,高度)
可以通过set()同时对多个属性进行操作,set(句柄值,‘属性1’,‘这项属性改变后的值’,‘属性2’,‘这项属性改变后的值’……)
|
请发表评论