Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - Creare Grafico X e Y In scala
Forum - Visual Basic 6 - Creare Grafico X e Y In scala

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 1:00
Giovedì, 01/01/1970
Ciao a tutti ragazzi... Ho bisogno di un Piccolo Grande Aiuto...


Sto Facendo Un programma per amministrazione remota... E sono arrivato al punto di fare il desktop remoto..


Il Desktop ce l'ho... Il mio problema è nel movimento del mouse...

cioè Voglio fare in modo da ottenere la x e la y del Mouse sullo schermo... e di inviarle ripetutamente all'altro computer.


da li poi il mouse deve assumere le coordinate da me inviate...

Questa è una cosa che non so ancora fare..


POI... qua arriva il problema... I monitor non sono tutti uguali... ma hanno diverse risoluzioni...


Il mio problema sta appunto in questo... Se per esempio io ho un monitor da 15-16 pollici con 1280 x 800

e l'altro un monitor con 30 pollici con 1280 x 764


le coordinate del mio monitor... non rispecchieranno MAI la posizione nel monitor Remoto... cioè se io ho il cursore sulla s del pulsante Start... nel monitor remoto non sarà mai in quella posizione...


Perciò ho pensato di creare una specie di grafico... che rende la x massima del monitor remoto... il vertice in basso a destra dell'immagine del desktop remoto

e il vertice basso a sinistra la massima Y del desktop remoto...

In questo modo penso che muovendo il mouse nell'immagine posso muovere esattamente nella posizione uguale in entrambe i desktop.



Correggetemi se sbaglio :-|:-|:-|:-|

Potete anche dirmi il fatto per determinare le coordinate del mouse e di mettere il mouse in una certa parte del desktop in base alle coordinate?


Grazie 1000!!!!!!!!!!!!!

Ultima modifica effettuata da il 13/03/2008 alle 21:29
PM Quote
Avatar
P4p3r0g4 (Member)
Guru


Messaggi: 1319
Iscritto: 29/12/2006

Segnala al moderatore
Postato alle 0:05
Domenica, 16/03/2008
1) decidi una proporzione
Xo = X / K
Yo = Y / J
2) trasmetti le dimensioni dello schermo (credo che lo sceen.height e screen.width vadano bene.)
3) PROPORZIONA LA TUA IMMAGINBE SECONDO LA SCALA
4) ricavi gli x e gli y dell'immagine al mousemove e trasmettili setta le coordinate
X = Xo x K
Y = Yo x J

Ultima modifica effettuata da P4p3r0g4 il 16/03/2008 alle 0:06
PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 9:50
Domenica, 16/03/2008
Ciao Paperoga.. Grazie ancora per avere risposto.


Io vedi proprio ieri sera ho pensato un altro metodo...


per esempio.. prendo la SUA risoluzione (quella del remoto)


da li vedo se la mia è uguale... altrimenti se non lo è faccio questo:


se la sua massima x è 1900

e la mia 1800

posso fare = MouseX= 1800 + 100

e così dovrei avere una posizione perfetta in tutti e due (l'ho solo pensato non l'ho applicato :-|)

e lo stesso per la Y:

Lui ha 764

io 800

MouseY= 800 - 36

Dovrebbe funzionare secondo me... Tu che ne pensi?

P.S= J e K sono altre integer giusto?

E poi se faccio il mousemove nel'img non escono le x e le y normali..cioè escono numeri supergiganti fino a 11956!

come posso portarli al normale?

Fammi sapere se il mio metodo potrebbe funzionare...


E grazie 1000 della risposta!!!

PM Quote
Avatar
P4p3r0g4 (Member)
Guru


Messaggi: 1319
Iscritto: 29/12/2006

Segnala al moderatore
Postato alle 16:12
Domenica, 16/03/2008
allora. se ho capito bene quello che vuoi fare tu vuoi mettere la sua immagine dello schemo sul tuo schermo fullscreen e muovergli il mouse come il tuo.
la cosa migliore è usare le proporzioni.
diciamo che il suo schermo è largo Xrem Twip e lungo Yrem Twip (Twip è l'unità di misura Not = a Pixel)
e il tuo Xloc e Yloc.
adesso mettiamo in fullcreen il programma (senza la barra del titolo altrimenti si sfasa tutto (proprietà borderstyle la poni a 0 in progettazione))
form1.Height = Screen.Height
form1.Width = Screen.Width
form1.Left = 0
form1.Top = 0
e la picturebox
pic1.Height = Screen.Height
pic1.Width = Screen.Width
pic1.Left = 0
pic1.Top = 0
ora al pic1_mousemove(bla,bla,x,y)
posiiamo ricavare l'esatta posizione sull'altro schemo.
NewMousePosXrem = X * Xrem / Xloc
'per la proporzione X:Xloc=Vardatrovare:Xrem
NewMousePosYrem = Y * Yrem / Yloc

la trasmetti e riposizioni il mouse su quelle coordinate.

se non riesci a gestire la picturebox potrebbe essere più facile usare il form1_mousemove e usare una immagebox con la proprietà strech=true invece che la picturebox.

PM Quote
Avatar
P4p3r0g4 (Member)
Guru


Messaggi: 1319
Iscritto: 29/12/2006

Segnala al moderatore
Postato alle 16:17
Domenica, 16/03/2008
non va bene quello che dici perchè quando il tuo mouse è sulla posizione 0 sul suo sarà a 100 e via dicendo.

Ultima modifica effettuata da P4p3r0g4 il 16/03/2008 alle 16:20
PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 19:57
Domenica, 16/03/2008
Wow perfetta spiegazione.. ho capito quasi tutto..

l'unica cosa è...

NEwMousePosXrem e NewMousePosYrem

devo dichiararle come variabili integer?


Grazie mille dell'aiuto!!!

PM Quote
Avatar
P4p3r0g4 (Member)
Guru


Messaggi: 1319
Iscritto: 29/12/2006

Segnala al moderatore
Postato alle 16:18
Lunedì, 17/03/2008
io le dichiarerei long.
e ricorda di troncare i decimali e convertirle con clong(espressione)

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 19:44
Lunedì, 17/03/2008
Ciao paperoga.

HO notato che nell'evento "MouseMove"

la x e la y sono gigantesche, arrivano fino a 11945

per caso con il codice che hai dato tu:

Codice sorgente - presumibilmente Plain Text

  1. NewMousePosXrem = X * Xrem / Xloc
  2. 'per la proporzione X:Xloc=Vardatrovare:Xrem
  3. NewMousePosYrem = Y * Yrem / Yloc




vengono rese esatte?

Se si potresti spiegarmi a cosa servirebbe...e una breve spiegazione matematica?

Se non chiedo troppo ovviamente;)


grazie 1000 di tutto l'aiuto


PM Quote
Avatar
P4p3r0g4 (Member)
Guru


Messaggi: 1319
Iscritto: 29/12/2006

Segnala al moderatore
Postato alle 19:55
Lunedì, 17/03/2008
Testo quotato

Postato originariamente da .:ViRuS:.:

Ciao paperoga.

HO notato che nell'evento "MouseMove"

la x e la y sono gigantesche, arrivano fino a 11945

per caso con il codice che hai dato tu:

Codice sorgente - presumibilmente Plain Text

  1. NewMousePosXrem = X * Xrem / Xloc
  2. 'per la proporzione X:Xloc=Vardatrovare:Xrem
  3. NewMousePosYrem = Y * Yrem / Yloc




vengono rese esatte?

Se si potresti spiegarmi a cosa servirebbe...e una breve spiegazione matematica?

Se non chiedo troppo ovviamente;)


grazie 1000 di tutto l'aiuto



sono enormi perche` sono in twip.
per maggiori info vedi
http://en.wikipedia.org/wiki/Twip

e per la 2 domanda no vanno troncate

diciamo XLOC la massima laghezza sul tuo computer
diciamo XREM la massima laghezza sul computer remoto
diciamo XATT la posizione del cursore sul tuo computer
diciamo X la posizione che dovra avere il cursore sul computer remotot

allora per proporzione
Xatt : XLOC = X : Xrem
quindi
x = xatt*xrem/Xloc

ora cambia le variabili con quelle che possiedi e trovi la mia formula.
cheer

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo