(premetto che, prima che mi saltiate addosso, per esigenze che non sto ad elencare questa funzione la devo implementare in VB6, quindi non convincetemi a metterla in altri linguaggi perché non dipende da me).

Ho la necessità di spostare degli oggetti sul form trascinandoli col mouse, ed ho risolto così:

codice:
Private Declare Sub ReleaseCapture Lib "USER32" ()
Private Declare Function SendMessage Lib "USER32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Public Sub MuoviControllo(ByVal Handle As Long)
  ReleaseCapture
  SendMessage Handle,  &HA1,  &HA2, 0&
End Sub

Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  If Button = 1 Then MuoviControllo Command1.hwnd
End Sub
Funziona, ma mi servirebbe poterlo fare con:

*) Una label e uno shape (un cerchio), che non sembrano avere la proprietà *.hwnd

*) Con due oggetti insieme (cioè ne sposto uno e l'altro gli sta dietro, dato che la label e il cerchio formano un "puntino numerato" che sarebbe una cosa sola...


Qualcuno può darmi una dritta (va bene anche storta, basta che funzioni )?