Jump to content

SpQueryWindowPos: Difference between revisions

From EDM2
Created page with "This function queries the window size and position of a visible window. '''Syntax:''' pos = spQueryWindowPos ( [ hwnd , ] key ) '''Parameters:''' hwnd – Window handle. If ..."
 
No edit summary
Line 34: Line 34:
options ||Options.
options ||Options.
|-
|-
}
|}
 
Table 6 Position Value IDs for spQueryWindowPos
Table 6 Position Value IDs for spQueryWindowPos



Revision as of 03:46, 6 April 2015

This function queries the window size and position of a visible window.

Syntax: pos = spQueryWindowPos ( [ hwnd , ] key )

Parameters: hwnd – Window handle. If ommited the default desktop handle (HWND_DESKTOP) will be used.


key – Selects the position value to be queried.

hwndInsertBehind Window behind which this window is placed. fl flags options ||Options.
Key Description
cy

height || Window height.

cx

width|| Window width.

y

left|| Y coordinate of the window's origin.

x

bottom|| X coordinate of the window's origin

Table 6 Position Value IDs for spQueryWindowPos

Returns: Window position value.

Example Code:

/* scclock.cmd (spUtils Example Code) */
/* Switches the Smartcenter (aka WarpCenter or eComCenter) clock by */
/* simulating a button click on the clock */

CALL RXFUNCADD 'spLoadFuncs','spUtils','spLoadFuncs'
CALL spLoadFuncs
CALL spSetAutoSleep 0
focus=spQueryFocus()
PARSE VALUE spQueryPointerPos() WITH xptrpos yptrpos

hwnd=spFindWindowHandle(,,,'SmartCenter',,'\PMSHELL.EXE')
IF hwnd=0 THEN DO
     SAY 'Smartcenter (WarpCenter or eComCenter) not found'
     RETURN
END

xoffset=spQueryWindowPos(hwnd,'x')
yoffset=spQueryWindowPos(hwnd,'y')
xpos=spQueryWindowPos(hwnd,'cx')-5
ypos=5

CALL spSetPointerPos xoffset+xpos,yoffset+ypos
CALL spPostMsg hwnd,'WM_BUTTON1DOWN',spMPFROM2SHORT(xpos,ypos)
CALL spPostMsg hwnd,'WM_BUTTON1UP',spMPFROM2SHORT(xpos,ypos)
CALL spPostMsg focus,'WM_BUTTON1DOWN',spMPFROM2SHORT(0,0)
CALL spPostMsg focus,'WM_BUTTON1UP',spMPFROM2SHORT(0,0)
CALL spSetPointerPos xptrpos,yptrpos