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: |