|
|
|
马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
搞不清“findobj”和“findall”的区别. ]7 j; S$ s! [4 X/ o
书上写的是:
/ V6 O! R' x" N1 `( Q“findobj”返回系统root对象和所有子对象的句柄;& B/ T. u" e& j2 V$ `: g
“findall(handlelist)”返回对象handlelist的层次下所有图像对象的句柄
, X1 d& w; t! s* x9 c! f( d5 c q' n$ o* p O% b0 z
我就按书上编了一个小程序:
3 A0 T7 v) Y: w+ G; ~# Fclose all;clear;clc; ]9 ?) T9 y9 L6 o2 V }
plot(1:10)
+ L3 c4 }4 \' D0 Pxlabel xlab %x轴名称为“xlab”
2 J$ i1 V0 J# C7 j/ ]1 L2 s! J x# s0 o* q) G- y) E
disp('findobj返回的对象句柄')# k! ? ?6 w" t, g7 M
h1=findobj
. H! l' V2 e4 x) h%获取系统root和所有子对象的句柄,只找到4个对象
/ D* `* ~1 m j* |: ~%>> 0 -- 屏幕的句柄
* c, s& \% C+ M: @4 \6 {: S%>> 1 -- 窗口的句柄
d) |" r) T! e3 n9 Z1 t6 J1 b; y%>> 153.0018 -- 轴的句柄0 ]; c2 L* P+ T9 C
%>> 154.0023 -- 直线的句柄! S$ @2 D R5 O; y$ j
8 A6 p' P4 T( u3 D8 y0 \6 c
; z2 b2 G3 ?+ r% Q8 V! g8 E
disp('findall返回的对象句柄')* i4 i7 {% h$ z y0 U" |
h2=findall(0)
( L" ?! v8 H( V%获取root对象下所有对象的句柄; q! n( U# ?7 `# L. @
%h2=[158*1],找到了158个对象
4 i, l- ]2 [6 e( E$ ^0 o2 o: Z) E1 P" z6 B3 J6 S
个人理解:findobj和findall(0)找到的对象个数起码应该是相等的,为什么二者不等?而且findall多找出了那么多对象,多出来的对象是体现在哪些图形上?
5 ?6 m! t7 q8 G( O6 {' O' t
" {" z3 ~9 n9 p. c4 S
- y/ J7 B6 e5 _5 @2 d; cdisp('allchild返回的root子对象句柄')0 W G& w3 P) w5 s* l9 T
h3=allchild(0)
/ M( |5 ~- u# H5 H2 ]%获取root对象的子对象
" s! F) n3 ]- M6 Q! t%h3=1,只找到一个figure对象
. K: ~9 h" W. ^8 s1 X 0代表屏幕,1代表窗口,搜寻整个屏幕只有1个窗口图形,那么,窗口里的坐标轴、曲线不算么?为什么在搜索窗口的子对象时,有搜索出10个对象来呢(见下指令)?
& \- [8 q' |( r
. F5 d- x& {4 a7 r% o+ K! M
, \" w( K! e% j, qdisp('allchild返回的figure子对象句柄')( ~* I7 ~7 U1 w
h4=allchild(1)
2 d! W! ]) p" z% m' U. J: U%获取figure对象的子对象,$ D' M/ c- Q6 E! V" @
%h4=[10*1] |
|