11/09/08 16:06
super rambo
salve, ho una listbox e mi servirebbe che quando il mouse è al di fuori della list la proprietà visible della list va a false. so che devo usare l sub mouse_move ma non so come.. come posso fare?? grazie
aaa
11/09/08 16:29
ruggy94
Con Form_MouseMove identifica le coordinate del mouse e se identificano un punto al di fuori della list imposta la proprieta' visible di quest'ultima a false
aaa
11/09/08 17:15
super rambo
per la list mi sono spiegato male ed è come dici tu, ma se io metto il codice in form_mousemove non funziona perchè nel form c'è un webbrowser che occupa tutta la pagina e l'evento mouse_move nel webbrowser non c'è quindi come faccio???
aaa
11/09/08 17:41
ruggy94
Esiste un'API in grado di aiutarti.
Dichiarazioni:
Private Type POINTAPI
x As Long
y As Long
End Type
Private Declare Function GetCursorPos Lib "user32" _
(lpPoint As POINTAPI) As Long
Private Declare Function ScreenToClient Lib "user32" _
(ByVal hwnd As Long, lpPoint As POINTAPI) As Long
In un timer per ottenere le coordinate del mouse rispetto al form:
Dim pt As POINTAPI
Call GetCursorPos(pt)
Call ScreenToClient(Me.hwnd, pt)
Debug.Print "Screen Coords: ", pt.x, pt.y
Adesso ti basta aggiungere un If al timer in modo che identifichi quando il mouse esce dalla list1
Ultima modifica effettuata da ruggy94 11/09/08 17:41
aaa
11/09/08 17:51
super rambo
ho preso un punto al di fuori della list e ho fatto l'if.. funziona ma l'utente dovrebbe passare proprio in quel punto per mettere la proprietà visible a fale... tu intendevi questo o ho sbagliato io?? Grazie!!
aaa