SpQueryWindowPos: Difference between revisions
Appearance
m Martini moved page OS2 API:spQueryWindowPos to OS2 API:SPUTILS:spQueryWindowPos |
m Ak120 moved page OS2 API:SPUTILS:spQueryWindowPos to SpQueryWindowPos |
||
| (One intermediate revision by the same user not shown) | |||
| Line 60: | Line 60: | ||
CALL spSetPointerPos xptrpos,yptrpos | CALL spSetPointerPos xptrpos,yptrpos | ||
[[Category: | [[Category:SpUtils]] | ||
Latest revision as of 00:07, 27 February 2017
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.
| 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 |
| hwndInsertBehind Window behind which this window is placed. | |
| fl flags options |
Options. |
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