MousePoint




Type POINTAPI
x As Long
y As Long
End Type
Dim pos As POINTAPI
GetCursorPos pos

'Se invece si desidera conoscere la posizione del puntatore

'relativa ad un particolare control si puo' chiamare la

'funzione ScreenToClient passandogli la variabile pos

'impostata in precedenza :

ScreenToClient Me.hWnd, pos

'Se invece ci si trova all'interno dell'evento MouseMove e

'si desidera trasformare le posizione relativa al video si

'puo' chiamare la funzione ClientToScreen :

pos.X = X / Screen.TwipsPerPixelX
pos.Y = Y / Screen.TwipsPerPixelY
ClientToScreen control.hWnd, pos

'Tutte le coordinate utilizzate dalle API sono in pixel

'mentre in VB, in relazione alla proprieta' ScaleMode che

'solitamente e' impostata a twips, quindi si devono

'convertire in base alla risoluzione dello schermo.

'Sempre rimanendo nell'argomento esiste una funzione che

'consente di conoscere la posizione di un control rispetto

'allo schermo, la funzione GetWindowRect :

Dim rec As RECT
GetWindowsRect control.hWnd, rec
In VB per conoscere la posizione del mouse si sfrutta
l'evento MouseMove dei control; questa posizione pero'
e' relativa al control e il VB non offre alcun modo per
conoscere le coordinate relative all'intero schermo.
Mediante le API si puo' ricavare la posizione del puntatore
semplicemente chiamando la funzione GetCursorPos:










( mousepoint.html )- by Paolo Puglisi - Modifica del 17/12/2023