|
|
马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
搞不清“findobj”和“findall”的区别9 }1 |# ^& B5 |2 [, f9 x* {
书上写的是:$ X4 d% r; B( c6 p
“findobj”返回系统root对象和所有子对象的句柄;4 L) [) G5 o9 W0 S, g
“findall(handlelist)”返回对象handlelist的层次下所有图像对象的句柄$ e3 d4 Y5 f3 r9 Y( x
0 w" F% p$ n9 l! O" l; t; D, Q2 u我就按书上编了一个小程序:
, J; {: I+ t4 x! P1 U" Z2 o& n4 `. F3 uclose all;clear;clc;
5 h9 c' Q( \6 E" d5 c; w- mplot(1:10)
' i9 A$ ~" s0 `- F4 H1 ^2 k* Y- h5 qxlabel xlab %x轴名称为“xlab”
: R1 i$ m$ I1 h9 J. J% f8 ]2 j( w/ Z1 E( m9 d. A3 }! @1 \8 w
disp('findobj返回的对象句柄')9 w; d- m% S; Y9 d2 X, S- `, R' J
h1=findobj
: k. I9 i& [" y%获取系统root和所有子对象的句柄,只找到4个对象
" R% t$ W& m) b/ W8 i%>> 0 -- 屏幕的句柄
1 ]2 o( Y! F; O%>> 1 -- 窗口的句柄
$ m1 a" t3 Q6 Y, P# M( ?9 Z8 X%>> 153.0018 -- 轴的句柄
8 X7 x0 V2 @( N* h$ N* v" x%>> 154.0023 -- 直线的句柄0 S: c3 u# A% s) ^
% Y( V! q5 t! H% l; a! K# o7 D, s- c8 @
disp('findall返回的对象句柄')
; I" G2 }5 C' w+ ^h2=findall(0)
5 g9 {& Y. h6 c. A%获取root对象下所有对象的句柄
9 Y8 G2 s) Z8 O- ^%h2=[158*1],找到了158个对象, t7 g- v* a+ |
1 b4 X5 ]7 U7 s. J" l6 P
个人理解:findobj和findall(0)找到的对象个数起码应该是相等的,为什么二者不等?而且findall多找出了那么多对象,多出来的对象是体现在哪些图形上?) S9 i' u" k6 K1 Q8 C. z2 V: E% C
1 a7 Z& I5 `# i2 n: Q8 j% D$ ?* o
8 W& ~' x& Z( h1 ~: Zdisp('allchild返回的root子对象句柄')
* R2 ^9 L o+ sh3=allchild(0)( G( h2 `. f6 a' q4 p& o
%获取root对象的子对象
3 o* F- n% u5 _4 m# Z%h3=1,只找到一个figure对象9 j2 q( O! ]) R5 H/ a2 W& j0 b
0代表屏幕,1代表窗口,搜寻整个屏幕只有1个窗口图形,那么,窗口里的坐标轴、曲线不算么?为什么在搜索窗口的子对象时,有搜索出10个对象来呢(见下指令)?
( c- S2 G/ f, b% b- d' I& p3 U
6 A' S; E/ R6 o) A/ A w, m: C1 L( o1 q
disp('allchild返回的figure子对象句柄')/ y+ G0 `+ r. O( f
h4=allchild(1)$ H# M& Y1 D) D) `# i4 b# L
%获取figure对象的子对象,3 g* M7 }# N f7 ^' Y+ S
%h4=[10*1] |
|