CONFINARE IL MOUSE ALL’INTERNO DI CERTE COORDINATE

martedì 21 febbraio 2012 - 13.44
Tag Elenco Tags  C#  |  VB.NET  |  .NET 4.0  |  Windows 7  |  Visual Studio 2010

xyzsurf Profilo | Newbie

Come si può impedire che il mouse esca da un contenitore(Panel, GroupBox) o dalla form stessa?
E’ possibile impedire al mouse di muoversi sull’asse orizzontale o verticale? Cioè permettere spostamenti unicamente sull’asse X o Y e non su entrambi?

luigidibiasi Profilo | Guru

si è possibile sempre con le win32api creando una clipzone

Luigi Di Biasi


http://www.dibiasi.it/
http://netsell.dibiasi.it - ecomm software -
http://blogs.dotnethell.it/luigidibiasi/
http://yadamp.unisa.it/ - YADAMP CMS -

xyzsurf Profilo | Newbie

ok cercherò ... comunque maledette api a me nemmeno il miele piace!

zirobyte75 Profilo | Newbie

fai così
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

dopo averle dichiarate ... puoi usarle ... supponiamo che tu desideri confinare il mouse in un area tipo un PanelGame ... un semplice pannello ...

Private Sub ConfinaMouse() Dim retval As Long 'Inserisce le cordinate del Panel in ZonaConfineMouse retval = GetWindowRect(PanelGame.Handle, ZonaConfineMouse) 'Confina il cursore nel PanelGame retval = ClipCursor(ZonaConfineMouse) End Sub

basterà chiamare la sub ... nel caso tu desiri ripristinare il movimento del mouse ...

Private Sub LiberaMouse() Dim retval As Long Dim Schermo As Long ' Cattura l'Handle dello schermo Schermo = GetDesktopWindow() ' Inserisce le coordinate dello schermo in Zona retval = GetWindowRect(Schermo, ZonaConfineMouse) ' LIBERA il cursore allo schermo retval = ClipCursor(ZonaConfineMouse) End Sub


se riesci a pensarlo puoi anche realizzarlo!
http://www.youtube.com/user/zirobyte75
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5