Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
get z order (zorder) + overlapped
#1
Is there way to get
  • stack order (zorder) of a specific window: In which order is the window currently
  • is a specific window overlapped: is the window overlapped by another window

About the zorder, it may be explained here: Z-order
but I could not find the exact line that accomplishes the getting of the z order.

About the overlap, I searched on 'overlap' and 'zorder' but I could not get the appropriate topic. I might have overlooked.

I also tried "toolbar >> windows, controls >> window/control actions AND Accesible object actions", there I can perfectly SET all the desired settings and states but I want to GET the above mentioned states. (But still I might have overlooked something there.)
#2
Macro Macro2430
Code:
Copy      Help
out
int w=win("" "QM_Editor")

int k
RECT r r2 r3; DpiGetWindowRect w &r

out "<><Z 0x80ff80>Visible windows above w in Z order:</Z>"
k=w
rep
,k=GetWindow(k GW_HWNDPREV)
,if(!k) break
,if(!IsWindowVisible(k)) continue
,outw k
,DpiGetWindowRect k &r2; if(IntersectRect(&r3 &r2 &r)) out "<><c 0xff>(overlaps w)</c>"

out "<><Z 0x80ff80>Visible windows below w in Z order:</Z>"
k=w
rep
,k=GetWindow(k GW_HWNDNEXT)
,if(!k) break
,if(!IsWindowVisible(k)) continue
,outw k

out "<><Z 0x80ff80>All visible windows in Z order, w blue:</Z>"
ARRAY(int) a; int i
win("" "" "" 0 "" a)
for i 0 a.len
,k=a[i]
,outw k 0 _s
,if(k=w) out F"<><c 0xff0000>{_s}</c>"
,else out _s
#3
WOW!, thank you!!!!


Forum Jump:


Users browsing this thread: 1 Guest(s)