Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    172

    [Vb2008] cordinate mouse

    Ho questo problema !
    Usando MouseMoveAbsolute con schermo con formato 1024 x 768 4/3 e dicendo che il mouse deve andare a x 100 y 200 dove io devo ciccare con il mouse, il mouse mi va giustamente a 100x 200y,ma se io metto lo schermo ad esempio a 1600 x 1200 il mouse va sempre a 100x 200y e la posizione non è giusta perché dovrebbe andare piu’ a destra e piu’ in basso.
    Questa è la domanda:
    Come posso fare in modo che quando cambio il formato dello schermo a 1600 x 1200 le proporzioni cambiano in modo che il mouse vada nelle cordinate giuste?

    non riesco a capire cos'è 65535!!


    Public Sub MouseMoveAbsolute(ByVal x As Integer, ByVal y As Integer)
    x = x * 65535 / Screen.PrimaryScreen.Bounds.Width
    y = y * 65535 / Screen.PrimaryScreen.Bounds.Height
    SendMouseInput((MOUSEEVENTF.ABSOLUTE Or MOUSEEVENTF.MOVE), x, y, 0, IntPtr.Zero)
    End Sub

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    970

    Re: [Vb2008] cordinate mouse

    non riesco a capire cos'è 65535!!
    Le coordinate del Mouse sullo schermo sono, indipendentemente dalla risoluzione, 0,0 (in alto a sinistra) e 65535,65535 (in basso a destra), mentre quelle dello schermo sono (per una ris. 1024x768) 0,0 (il alto a sinistra) e 1024,768 (in basso a destra).

    Per cui se vuoi muovere il Mouse in una certa zona dello schermo dovrai fare la suddetta conversione:

    x= PosSulloSchermo.X * (65535 / Screen.PrimaryScreen.Bounds.Width)

    Y= PosSulloSchermo.Y* (65535 / Screen.PrimaryScreen.Bounds.Height)

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    172
    ok questo l'ho capito!


    Ma adesso ad esempio io con la risoluzione 1024x768 con x 500 y 300 il mouse mi va a centro scermo,se cambio risoluzione non mi va piu' a centro schermo perche aumentano i pixel giusto?

    Come posso dirgli che cambiando in qualsiasi risoluzione aumenta anche proporzionalmente le cordinate?

    Speriamo mi sono spiegato meglio!

    Grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    970
    Forse non hai ancora capito...... che la posizione del Mouse è indipendente dalla risoluzione dello schermo come sopra ti ho accennato, per cui se vuoi andare al centro dello schermo vai a (65535 /2, 65535 /2), sia che tu sia a 1024x768 che a 1600x1200...

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    172
    In tanto molte grazi per le tue risposte!!

    Si hai ragione se divido /2 naturalmente e sempre centrale.

    ma se invece gli do le cordinate x 500 y 300 non è uguale.

    Cerco di spiegarmi meglio,uso il MouseMoveAbsolute per generare una serie di eventi per creare una missione in un simulatore di volo(percio' questo simulatore di volo quando cambi la risoluzione i tasti le opzioni sono in diverse posizioni,esempio:devo fare click del mouse nella cordinata x200 y300 per aggiungere un elicottero ,cambiando risoluzione a 1600 x 1200 quel tasto che aggiuge l'elicottero e a 600 x 900)

    Scusa di nuovo spero mi capisci

    Questo è il mio progetto http://forums.eagle.ru/showthread.ph...643#post672643

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    970
    Ma se sai già le coordinate al cambiamento di risoluzione aggiorni le coordinate quando intercetti, da codice, il cambiamento di risoluzione. No??

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    172
    Si ma dovrei farlo per qualsiasi risoluzione che usa l'utente finale, e con tutte le risoluzioni che ci sono!!
    Io uso almeno 400 posizioni cursore,speravo ci fosse un operazione tipo autosize!

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    970
    Bisogna vedere se i controlli di cui parli si spostano proporzionalmente alla risoluzione.....

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 © 2025 vBulletin Solutions, Inc. All rights reserved.