|
马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
搞不清“findobj”和“findall”的区别 q' S$ H$ E" `' @5 ^
书上写的是:
) \9 ?# Y$ N* S“findobj”返回系统root对象和所有子对象的句柄;) a* g+ s. @4 V( a/ X! f
“findall(handlelist)”返回对象handlelist的层次下所有图像对象的句柄
- R6 D+ B7 ]! A7 e/ Q
4 H8 W) G( R# c# c3 X1 {8 s我就按书上编了一个小程序:
4 N$ c5 U0 N- E0 O; Q3 C6 ~$ bclose all;clear;clc;
* b( m6 |# c% V. C+ n6 L, @- mplot(1:10)$ Y8 V/ ]% N' Y" y: K/ V$ a* o
xlabel xlab %x轴名称为“xlab”3 C# J" e: f! Q" s
. H, ~* f! C4 ~6 n/ u# F8 ]& y
disp('findobj返回的对象句柄')
4 N0 C/ {" m3 ]6 K mh1=findobj* o3 w2 h" w6 g) S2 z
%获取系统root和所有子对象的句柄,只找到4个对象2 b5 v, x9 F' C5 i
%>> 0 -- 屏幕的句柄
0 c' U4 Y+ E7 a, v! r%>> 1 -- 窗口的句柄
' a: j0 m& A- \& ~%>> 153.0018 -- 轴的句柄
+ _. C, ? p! t8 S" C) r7 l%>> 154.0023 -- 直线的句柄
i! W* G4 T% |% L
5 c% B |: N% O4 C; F$ X/ P! q' R/ x( u2 Q: a1 _9 a) C. F. S: M
disp('findall返回的对象句柄')1 J0 d3 ^! [3 Z% l$ b
h2=findall(0)5 V' [" S t9 h% y
%获取root对象下所有对象的句柄1 c$ L- q0 c( k# q( B Y. o! o" \1 {
%h2=[158*1],找到了158个对象
: c# f. o+ G, d/ h- o: q
- N0 [1 y/ u% P' v 个人理解:findobj和findall(0)找到的对象个数起码应该是相等的,为什么二者不等?而且findall多找出了那么多对象,多出来的对象是体现在哪些图形上?
- \. t5 g/ e4 H3 A- b
m3 _4 W2 n2 a+ D1 J) u7 I* V/ {) [+ ], ^6 v
disp('allchild返回的root子对象句柄')
* b1 u+ L# I0 S ^! Uh3=allchild(0)' z; K) Z% B$ c6 F
%获取root对象的子对象
* w( K, G5 M) y%h3=1,只找到一个figure对象
6 t6 Y* r1 i- U v2 y* B 0代表屏幕,1代表窗口,搜寻整个屏幕只有1个窗口图形,那么,窗口里的坐标轴、曲线不算么?为什么在搜索窗口的子对象时,有搜索出10个对象来呢(见下指令)?
% V: S' H9 x$ d' d- A
c6 p( q! t T- K+ z. o6 Q* v" k3 d* J
disp('allchild返回的figure子对象句柄')1 k2 Q2 U4 u' h6 s
h4=allchild(1)+ N+ l3 N* r& v5 @) o
%获取figure对象的子对象,
" G* D$ T7 x2 R%h4=[10*1] |
|