Gadget Screen XY Coords?

BlitzPlus Forums/BlitzPlus Programming/Gadget Screen XY Coords?

This seems to work (uses userlibs):

; -----------------------------------------------------------------------------
; IMPORTANT: Add this line to user32.decls in your userlibs folder...
; -----------------------------------------------------------------------------
; ClientToScreen% (window, point*): ClientToScreen
; -----------------------------------------------------------------------------

window = CreateWindow ("Test", 0, 0, 208, 80, 0, 1)

; Will retrieve screen co-ords of 'gadget', below...

gadget = CreateButton ("My screen co-ords are below!", 0, 0, 200, 25, window)

Type Point
	Field x, y
End Type
	
p.Point = New Point

textfield = CreateTextField (0, 30, 200, 25, window)

Repeat

	; Set point in gadget to be converted:
	
	p\x = 0
	p\y = 0
	
	ClientToScreen (QueryObject (gadget, 1), p)
	
	; p.Point now contains the co-ords 0, 0 in 'gadget', converted to screen space...
	
	SetGadgetText textfield, "X: " + p\x + " -- Y: " + p\y
	
Until WaitEvent () = $803

End