|
马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
搞不清“findobj”和“findall”的区别
: D" W, v8 I8 h4 f; J书上写的是:0 v5 g$ z9 J4 z2 |: s0 X8 f$ o
“findobj”返回系统root对象和所有子对象的句柄;
. H, t- n) L3 Y6 Q$ w“findall(handlelist)”返回对象handlelist的层次下所有图像对象的句柄 M5 J; ?: ]- A& N1 P
7 A {' e+ G" J3 Z
我就按书上编了一个小程序:
- @* X1 v& I# ^+ A4 B/ k2 S, bclose all;clear;clc; }- y, \$ A9 U' i1 c. U
plot(1:10)' X" X, \; t) D4 G3 L
xlabel xlab %x轴名称为“xlab”
+ |9 t) m& n0 V4 q9 a. K/ M7 q2 V" w' k- b/ T
disp('findobj返回的对象句柄')
8 U- ]# D- a, `) g/ X" kh1=findobj7 X$ t& I& l$ a$ G
%获取系统root和所有子对象的句柄,只找到4个对象% t. {7 W+ L% q0 A
%>> 0 -- 屏幕的句柄4 I. F0 L8 G+ d1 H3 x$ a2 P
%>> 1 -- 窗口的句柄
2 `+ B& o+ i1 P# e/ b' r%>> 153.0018 -- 轴的句柄: C8 D4 T0 N2 ^! G$ o
%>> 154.0023 -- 直线的句柄: C1 |4 g# I! f( u
: u1 A) N( W1 ?' ]6 O& d: Y# i1 h* J) Y% d& S; ]1 i
disp('findall返回的对象句柄')& M9 I) q; q5 [2 m4 ^9 m
h2=findall(0)! j: D( u0 _- v2 W4 Y5 m. P
%获取root对象下所有对象的句柄
8 x! \/ x% G4 U0 ^3 f; b$ }8 |%h2=[158*1],找到了158个对象
& c1 P9 _8 u2 D }) Q# F$ z- ]+ D v& ~, B* ~6 h9 n8 L/ K# Y- m
个人理解:findobj和findall(0)找到的对象个数起码应该是相等的,为什么二者不等?而且findall多找出了那么多对象,多出来的对象是体现在哪些图形上?
- {3 X* ~3 Y" B% U5 Y) f% H |( b2 o5 |& \
2 O f" d1 p! t. @8 ^disp('allchild返回的root子对象句柄')
" O# V8 v2 Z7 o7 \! sh3=allchild(0)
0 Q3 D7 W1 ~5 u: F, h# h%获取root对象的子对象
. b7 k- t& N# L: c4 p%h3=1,只找到一个figure对象7 [7 w- z. t7 G3 r
0代表屏幕,1代表窗口,搜寻整个屏幕只有1个窗口图形,那么,窗口里的坐标轴、曲线不算么?为什么在搜索窗口的子对象时,有搜索出10个对象来呢(见下指令)?8 q) [* V/ n+ n0 }& d
7 _0 s& q+ k* M) J# U0 W" Y/ i) c
5 l4 A( V! I# H: F
disp('allchild返回的figure子对象句柄'), n# h& g; r2 C3 [$ p8 v& C6 g
h4=allchild(1)
3 v9 [) X, X# A: E7 T9 ~+ j%获取figure对象的子对象,
' L4 ~; f. d: e3 y! i% }/ j%h4=[10*1] |
|