Jump to content

SpQueryPointerPos: Difference between revisions

From EDM2
Ak120 (talk | contribs)
mNo edit summary
Line 8: Line 8:


{| class="wikitable"
{| class="wikitable"
|-
|+Table 3 Position codes for spQueryPointerPos.
!positionCode!! description
!positionCode!! description
|-
|-
Line 18: Line 18:
|-
|-
|}
|}
Table 3 Position codes for spQueryPointerPos.


'''Returns:'''
'''Returns:'''
Line 53: Line 52:
  CALL spSetPointerPos xptrpos,yptrpos
  CALL spSetPointerPos xptrpos,yptrpos


[[Category:The OS/2 API Project]]
[[Category:SpUtils]]

Revision as of 23:27, 26 February 2017

This function queries the pointer position.

Syntax: position = spQueryPointerPos ( [ [ hwndDesktop , ] positionCode ] )

Parameters:

  • hwndDesktop – Desktop-window handle. If ommited the default desktop handle (HWND_DESKTOP) will be used.
  • positionCode – Code of position value to be retrieved.
Table 3 Position codes for spQueryPointerPos.
positionCode description
x Query horizontal (x) position of the Pointer.
y Query vertical (y) position of the Pointer.
b Query horizontal (x) and vertical (y) position of the Pointer. They will be returned space separated.

Returns:

  • “” – Error occured.
  • other – Pointer position.

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