|
|
|
马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
搞不清“findobj”和“findall”的区别' i0 N! a0 J* V, R. |4 B
书上写的是: s8 v& J/ x( f# y1 ~! A
“findobj”返回系统root对象和所有子对象的句柄;
! a; W* T) P; u# j“findall(handlelist)”返回对象handlelist的层次下所有图像对象的句柄
7 n. o( P/ M9 ]2 F1 b
0 X: K3 s, C8 d' N我就按书上编了一个小程序:1 T5 I# C5 }2 Z" b, n
close all;clear;clc;; C/ i0 w8 }% F5 M+ u1 Z8 ^
plot(1:10)
8 S6 g2 d! J4 M4 N; ~xlabel xlab %x轴名称为“xlab”+ |4 F6 O" U* S) w) t
4 H; J/ n& w% {7 x/ O m- c
disp('findobj返回的对象句柄')5 \, w% r/ w# q: g
h1=findobj
& S( h0 W" `; D0 R; w) z%获取系统root和所有子对象的句柄,只找到4个对象7 I" ?2 W3 @" L! {, `( u" O
%>> 0 -- 屏幕的句柄8 y, k5 {/ M$ |
%>> 1 -- 窗口的句柄- X0 h9 F2 y3 t; u5 F
%>> 153.0018 -- 轴的句柄
. D7 `& {/ r' F9 |3 \1 e- T0 F%>> 154.0023 -- 直线的句柄
7 e; Q# b& I' W- z9 @, _) E8 j0 W
1 K, Q2 Z& m f/ a" f; S9 Odisp('findall返回的对象句柄')
" X% Z3 F. q7 c2 \4 s9 B4 [ Uh2=findall(0)
X. C; M6 O) y. U%获取root对象下所有对象的句柄
* k9 R, V9 |( \5 [%h2=[158*1],找到了158个对象& d' g4 }+ ?! d9 K0 P% s
# Y1 v$ j- c$ T, E. `$ \
个人理解:findobj和findall(0)找到的对象个数起码应该是相等的,为什么二者不等?而且findall多找出了那么多对象,多出来的对象是体现在哪些图形上?
7 A- C. h; y6 {( {" k' _; C! b/ n1 b; j& L7 x9 W! X
! R9 |6 v* C& d, h9 Y7 W+ W5 L5 Q
disp('allchild返回的root子对象句柄')
- l( Q) D! L5 Th3=allchild(0)
: V- [" r+ F# ]$ _ b%获取root对象的子对象
# Y( y' ^* I( o) N/ Z%h3=1,只找到一个figure对象
) I% W5 r$ b) T% V/ R R0 I, M 0代表屏幕,1代表窗口,搜寻整个屏幕只有1个窗口图形,那么,窗口里的坐标轴、曲线不算么?为什么在搜索窗口的子对象时,有搜索出10个对象来呢(见下指令)?. ~9 B7 L+ n) n6 e* L4 F- V/ r# N
- }- E4 N9 v1 Q) r2 Q9 t2 B; y& @( E+ W2 S
disp('allchild返回的figure子对象句柄')
: A3 w5 n$ m& X6 vh4=allchild(1)! A0 l4 r+ P; t! v7 c: `. j/ E( p
%获取figure对象的子对象,
8 U" S' G1 |& ]+ @( h%h4=[10*1] |
|