|
|
马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
搞不清“findobj”和“findall”的区别, J( N7 }; Y$ ? _* f/ ^
书上写的是:' |* w Z, \8 J& }1 |7 T' Q
“findobj”返回系统root对象和所有子对象的句柄;/ g6 o* d6 \$ b# _3 X, M/ C, i' x. p
“findall(handlelist)”返回对象handlelist的层次下所有图像对象的句柄
) Z6 |+ f2 b0 B/ W; F) ~
, G( o0 P, y8 V% N我就按书上编了一个小程序:$ H6 x' V$ g" @4 u: x
close all;clear;clc;
% @ v1 J9 [& L8 v3 M( c- Wplot(1:10)
! G) ~, K" C9 O; [2 Fxlabel xlab %x轴名称为“xlab”5 f& l1 y" v- e& _ S, }9 q
+ L2 f& |! z) }disp('findobj返回的对象句柄') V6 s6 v0 c' u0 K, K7 v
h1=findobj
4 n6 {5 U# e( P%获取系统root和所有子对象的句柄,只找到4个对象
8 A/ K' i3 z+ k' W [- z%>> 0 -- 屏幕的句柄, \; P) V @' J8 i6 W
%>> 1 -- 窗口的句柄
4 V/ M+ m5 e9 _%>> 153.0018 -- 轴的句柄( N) |) o" x; K l. F/ t G
%>> 154.0023 -- 直线的句柄
+ J" u/ R3 Z" N0 |& D S4 {: ^. \0 ?. V- @
1 f% g& c: h+ J& Xdisp('findall返回的对象句柄')
$ _' {8 F3 _/ c4 i9 K$ dh2=findall(0)
# u" \& e" F/ Q7 m0 G6 N%获取root对象下所有对象的句柄
6 T$ Y* @) {% ] V- b9 x%h2=[158*1],找到了158个对象
0 {; Q( N5 _: v# B7 A% A; ]* K; g6 r- c7 ]- @9 I
个人理解:findobj和findall(0)找到的对象个数起码应该是相等的,为什么二者不等?而且findall多找出了那么多对象,多出来的对象是体现在哪些图形上?
' R5 l4 a3 j7 _ T+ P) @& e1 I7 \$ n. w8 t, V8 y6 @% G& q [5 M( m
* `# E1 i5 B& Adisp('allchild返回的root子对象句柄')
, z5 S1 o5 ?7 O# `+ X! [. Hh3=allchild(0)- m* S! B+ b: l' x& y/ y
%获取root对象的子对象6 Z7 s4 _& b; M! W. k
%h3=1,只找到一个figure对象
2 h5 V4 }! B) G( e$ \6 w! J0 O2 F 0代表屏幕,1代表窗口,搜寻整个屏幕只有1个窗口图形,那么,窗口里的坐标轴、曲线不算么?为什么在搜索窗口的子对象时,有搜索出10个对象来呢(见下指令)?" v' ~: _1 }( c# G3 r( s, ]
' N: ?; O+ X9 N. v9 `& ~
% l" t9 w m8 W) D) s& ]8 P
disp('allchild返回的figure子对象句柄')
, A" P% s; d6 ^1 ^$ j1 {1 Eh4=allchild(1)
0 p5 a7 o' q7 Y# h2 R2 b%获取figure对象的子对象," e) z7 w$ U0 c+ [
%h4=[10*1] |
|