Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    9

    [c++] Evento legato al mouse fermo

    Salve a tutti,

    E' possibile fare in modo che una volta che il mouse smette di eseguire la MouseMove e quindi si ferma, eseguire un'operazione?
    Nel mio caso devo memorizzare in una variabile le coordinate del punto in cui si trova il cursore del mouse nel momento dell'arresto.

    Grazie

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    In C++?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    9
    si bè visual c++

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    E l'evento MouseMove dov'e'? Che tipo di progetto hai creato?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    9
    Il progetto è un' applicazione mfc documento singolo.
    E in che senso l'evento MouseMove dov'è?

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Se non dici che e' un'applicazione MFC ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    9
    Non pensavo fosse così importante

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Originariamente inviato da kappa3
    Non pensavo fosse così importante
    Beh ... esistono tanti di quei modi di scrivere un programma in C++ che, al contrario, mi sembra indispensabile indicare con quali strumenti/librerie/framework si sta lavorando ...

    In tutti i casi, non mi sembra ci sia nulla (anche perche' dovremmo decidere che significa "fermo" ... per quanto tempo il mouse non si muove per cui puo' essere definito fermo?) che possa essere utilizzato per il tuo scopo.

    L'unica cosa che puoi fare e' utilizzare un timer (magari settato a 2 secondi) che fai ripartire continuamente nella MouseMove ... appena esci dalla MouseMove, dopo 2 secondi il timer scatta per indicarti che almeno da 2 secondi non viene riazzerato ... nell'evento del timer, quindi, puoi avere cosi' determinato che il mouse e' fermo (almeno da 2 secondi).
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    9
    Si avevo letto il tuo consiglio già in un'altra discussione, il problema è che due secondi per me sono troppi, credo che anche 0,2 secondi siano troppi, ho paura del fatto che dato che il tempo a mia disposizione è così breve il timer possa non essere un sistema del tutto efficiente.
    Dovrei svolgere delle prove.

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    286
    Molto atipica la tua esigenza.

    Ad ogni modo potresti porre la condizione in cui il punto attuale indicato dal mouse è uguale a quello immediatamente precedente, il ché significa che il mouse si è femato.

    codice:
    void  CChildView::OnMouseMove(UINT nFlags, CPoint point)
    {
    	int  x = -1;
    	int  y = -1;
    
    	if ( point.x = x || point.y = y )
    	{
    		// Il mouse insiste sullo stesso punto 
    	}
    
    	x = point.x;
    	y = point.y;
    
    	CWnd::OnMouseMove(nFlags, point);
    }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.