Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Ottenere posizione mouse in finestra Direct2D
Forum - C/C++ - Ottenere posizione mouse in finestra Direct2D

Avatar
anthony015 (Member)
Pro


Messaggi: 116
Iscritto: 20/05/2011

Segnala al moderatore
Postato alle 13:21
Domenica, 02/10/2011
Buongiorno a tutti, mentre scrivevo una libreria per facilitare l'utilizzo delle direct2d, mi sono imbattuto nel problema specificato nel titolo, qualcuno conosce qualche funzione che ritorna il punto del mouse all'interno del "render target"? oppure(ammesso che esistano) se il tipo di dato HWND ha una funzione che mi ritorna la posizione del form, dato che la funzione CreateWindow(alla quale si passa come parametro la posizione di creazione del form) ritorna un HWND...
Grazie a tutti in anticipo...

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5475
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 13:32
Domenica, 02/10/2011


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
PM Quote
Avatar
anthony015 (Member)
Pro


Messaggi: 116
Iscritto: 20/05/2011

Segnala al moderatore
Postato alle 13:43
Domenica, 02/10/2011
credo che GetCursorPos mi ritorni la posizione del cursore in riferimento allo schermo, non alla finestra Direct2D

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5475
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 13:47
Domenica, 02/10/2011
Dato che hai un HWND, parti dalle coordinate di schermo e le trasformi con

ScreenToClient

http://msdn.microsoft.com/en-us/library/ms932582.aspx


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
PM Quote
Avatar
anthony015 (Member)
Pro


Messaggi: 116
Iscritto: 20/05/2011

Segnala al moderatore
Postato alle 17:55
Domenica, 02/10/2011
ti ringrazio moltissimo, funziona...
ora mi è sorto un altro problema, cioè, quello del pulire il buffer del mouse, dato che mettendo 2 cicli ravvicinati per carpire 2 punti diversi della posizione del cursore mi prende gli stessi 2...

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5475
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 18:06
Domenica, 02/10/2011
Non c'è modo di pulire il buffer ... e non avrebbe senso perché la funzione ti restituisce informazioni sulla posizione non sullo spostamento ...

Puoi fare tu un confronto nel tuo programma tra un valore "precedente" e uno "attuale" e se sono uguali assumi che il mouse non si è spostato.


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
PM Quote
Avatar
anthony015 (Member)
Pro


Messaggi: 116
Iscritto: 20/05/2011

Segnala al moderatore
Postato alle 18:20
Domenica, 02/10/2011
grazie, avevo già risolto optando anche io per questa soluzione...

PM Quote