Opened 3 months ago

Last modified 2 weeks ago

#4056 closed Feature Request

MakePoints addition to WinAPIConv.au3 — at Initial Version

Reported by: MattyD Owned by:
Milestone: 3.3.19.0 Component: Standard UDFs
Version: Severity: None
Keywords: Cc:

Description

Just a suggestion for an addition to.

  • WinAPIConv.au3
  • and Structures_Constants.au3 (tagPOINTS)

Many WM messages receive mouse coordinates in lparam, which can sometimes have negative values. I figure approximating the makepoints macro could help in handling this.

https://learn.microsoft.com/en-us/windows/win32/api/wingdi/nf-wingdi-makepoints

#include <WinAPIConv.au3>

;tagPoints is short;short, tagPoint is long;long.
Global Const $tagPoints = "struct;short X;short Y;endstruct"

$lParam = 0x0000FFFF ;-e.g. returned by WM_ messages
$tPoints = _WinAPI_MakePoints($lParam)

ConsoleWrite(StringFormat("MakePoints: %d, %d\r\n", $tPoints.X, $tPoints.Y))
ConsoleWrite(StringFormat("Lo/Hi Word: %d, %d\r\n", _WinAPI_LoWord($lParam), _WinAPI_HiWord($lParam)))

Func _WinAPI_MakePoints($iValue)
	Local $tPoints = DllStructCreate($tagPoints)
	DllStructSetData($tPoints, 1, _WinAPI_LoWord($iValue))
	DllStructSetData($tPoints, 2, _WinAPI_HiWord($iValue))
	Return $tPoints
EndFunc

Change History (0)

Note: See TracTickets for help on using tickets.