|
|
|
马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
搞不清“findobj”和“findall”的区别
2 x D: z- i; P, I书上写的是:
, a2 r5 s9 d7 D, ^9 S“findobj”返回系统root对象和所有子对象的句柄;' r' o5 T8 |2 e$ T9 P. S0 r
“findall(handlelist)”返回对象handlelist的层次下所有图像对象的句柄9 Q- b; j4 {' m; s4 A
' i- \6 o1 X( \# E( t
我就按书上编了一个小程序:9 ]/ o7 `) m6 C" v* G
close all;clear;clc;$ v. O% r8 U% d4 `' [' s
plot(1:10)# C+ t3 x1 Z r# k7 G0 `
xlabel xlab %x轴名称为“xlab”8 c8 o6 a( f7 Y7 l( J; h5 ^5 A
- M) P+ a( y: y5 z0 m+ Vdisp('findobj返回的对象句柄'); D- J2 n& z3 |2 j4 {
h1=findobj
r# I) {' L$ j( O$ E1 J3 s3 T5 C%获取系统root和所有子对象的句柄,只找到4个对象
. Z% Z% J: c/ A%>> 0 -- 屏幕的句柄2 {* P7 Q$ ~- v9 q' V3 _1 V3 K
%>> 1 -- 窗口的句柄
* U. A: ] @& P! o%>> 153.0018 -- 轴的句柄
, b a" A" M! l%>> 154.0023 -- 直线的句柄
- k3 [2 J5 y% T; E& T7 O( l
* a$ l7 M( W' j: k: p d9 F6 K. p: G% L- \5 ^$ N
disp('findall返回的对象句柄')
) A( ^/ S( B8 Y7 T) Ih2=findall(0). v G6 q- L: S# Y' l* \9 Q
%获取root对象下所有对象的句柄) f W$ ]/ `! n
%h2=[158*1],找到了158个对象6 |. m! b4 `; y9 Y% s) t* h
. R4 X( j/ [3 x3 a3 Y/ K* U 个人理解:findobj和findall(0)找到的对象个数起码应该是相等的,为什么二者不等?而且findall多找出了那么多对象,多出来的对象是体现在哪些图形上?
8 L& M& P+ @5 \8 j b2 }4 z& E8 n* W. v7 i7 j6 x$ M C% }
' P0 A# K7 u/ v( g% L! Ydisp('allchild返回的root子对象句柄')
4 h& H! j/ E th3=allchild(0)
. m# H$ n& K; e2 l/ N%获取root对象的子对象
6 D7 a4 Y8 E) S; Y" l, `%h3=1,只找到一个figure对象5 l. o) Z8 L1 x# \
0代表屏幕,1代表窗口,搜寻整个屏幕只有1个窗口图形,那么,窗口里的坐标轴、曲线不算么?为什么在搜索窗口的子对象时,有搜索出10个对象来呢(见下指令)?
+ E5 N. _# W2 V1 N
$ u9 c0 N" ]/ W" l- Y0 w9 O7 `! b4 T
disp('allchild返回的figure子对象句柄')
+ {5 n" G/ V$ C0 Dh4=allchild(1)9 ~, _/ d4 _! p9 R" V
%获取figure对象的子对象,4 ?: m) H, F' `
%h4=[10*1] |
|