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# / VB.NET - [vb.net] Click su un elemento in precise coordinate
Forum - C# / VB.NET - [vb.net] Click su un elemento in precise coordinate

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
fabriziorocca (Normal User)
Guru


Messaggi: 1162
Iscritto: 22/03/2009

Segnala al moderatore
Postato alle 22:05
Martedý, 09/03/2010
Sono alla presa con un programma particolare... e mi servirebbe un aiuto in questo.
Infatti st˛ creando un bottone che quando viene premuto praticamente deve fare un click su precise coordinate (x=16 e Y=34) di un elemento (in questo caso un webbrowser).
Ho giÓ provato dei codici a caso ma non ci sono riuscito.
Qualcuno saprebbe darmi una mano ?


PM Quote
Avatar
Thejuster (Member)
Guru^2


Messaggi: 1844
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 8:46
Mercoledý, 10/03/2010
serve anche l'altezza e la larghezza del controllo per essere piu precisi.

Codice sorgente - presumibilmente C++

  1. int MouseX; //cordinate mouseX;
  2. int MouseY; //cordinate mousey;
  3.  
  4. int Width = 100; //larghezza controllo
  5. int Height = 20; //altezza controllo
  6. int CX; //cordinate X controllo
  7. int CY; //cordinate Y Controllo
  8.  
  9. //al click
  10.  
  11. if(MouseX > CX && MouseX < Width && MouseY > CY && MouseY < Height) {
  12.  
  13. //evento click nelle cordinate del controllo
  14.  
  15. }






PM Quote
Avatar
fabriziorocca (Normal User)
Guru


Messaggi: 1162
Iscritto: 22/03/2009

Segnala al moderatore
Postato alle 21:33
Mercoledý, 10/03/2010
Non funziona, ho provato a sostituire a "Mouse" il nome dell'elemento, e ho messo le giuste coordinate, poi non ho capito cosa devo mettere in "//evento click nelle cordinate del controllo"


PM Quote
Avatar
Thejuster (Member)
Guru^2


Messaggi: 1844
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 9:32
Giovedý, 11/03/2010
Ti assicuro io che funziona.

questo e un semplice esempio dell'algoritmo che ho usato
per cliccare su ogni quadratino di una griglia disegnata in directX.
quindi sono piu o meno sui 1280 quadratini 32x32 posizionate in aree diverse.

questa parte

Codice sorgente - presumibilmente C# / VB.NET

  1. if(MouseX > CX && MouseX < Width && MouseY > CY && MouseY < Height) {
  2.  
  3. //evento click nelle cordinate del controllo
  4.  
  5. }



Guarda l'immagine.

Indica che quando il mouseX e > del punto di partenza del controllo ma NON supera la larghezza, uguale per l'altezza.. esegue quella funzione.

esempio

ControlloX = 10
ControlloY = 10
ControlloW = 100 (largezza)
ControlloH = 30 (altezza)

Mouse

Mx = 80 ( posizione del mouse X e a 80
My = 150 (posizione del mouse Y e a 150

se ora provassi a cliccare non succederebbe nulla perchŔ Y del mouse e fuori dalla portata del controllo supera i 30 che sarebbe l'altezza del controllo
mentre rientrebbe nella larghezza,

per farlo funzionare quella funzione, non s˛.
devi saperlo tu dove applicarla.
di solito viene inserita in un ciclo continuo. per verificare se viene cliccato in quell'area.


Thejuster ha allegato un file: esempio.PNG (1055 bytes)
Clicca qui per guardare l'immagine


PM Quote
Avatar
Alfonso (Ex-Member)
Guru


Messaggi: 688
Iscritto: 30/09/2009

Segnala al moderatore
Postato alle 10:16
Giovedý, 11/03/2010
Secondo me hai bisogno di questo:

http://www.pierotofy.it/pages/guide_tutorials/Visual_Basic ...

╚ in vb6 ma Ŕ semplicissimo adattarlo a vb.net


che le risposte ti siano servite o meno un tuo riscontro Ŕ segno di cortesia.

http://www.alfonsonatale.altervista.org/
PM Quote
Avatar
fabriziorocca (Normal User)
Guru


Messaggi: 1162
Iscritto: 22/03/2009

Segnala al moderatore
Postato alle 21:16
Lunedý, 15/03/2010
Sar˛ io che sono tonto ma proprio non ci riesco.

Praticamente si tratta di far click nelle coordinate x=8 Y=10 di un webbrowser che si trova nell'angolo in alto a sinistra della form, ho giÓ provato con il codice ma mi sottolinea degli errori (con colore blu)


PM Quote
Avatar
walker93 (Member)
Expert


Messaggi: 460
Iscritto: 31/01/2010

Segnala al moderatore
Postato alle 23:26
Mercoledý, 17/03/2010
devi ottenere le coordinate relative allo schermo come nel link di alfonso
poi ti basta fare:
Codice sorgente - presumibilmente C# / VB.NET

  1. 'posiziono cursore
  2. me.cursor.position = new point(coordinataX,coordinataY) 'oppure metti un punto
  3. 'per simulare pressione
  4. SendKeys.Send(Chr(Keys.LButton))



Il software Ŕ come il sesso, Ŕ meglio quando Ŕ libero.
Linus Torvalds, Conferenza della Free Software Foundation, 1996 (attribuito)

Non provare mai a spiegare il computer a un profano. ╚ pi¨ facile spiegare il sesso a una vergine.
Robert Anson Heinle
PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 20:22
Giovedý, 18/03/2010
Coordinate x e y di Cursor.Position si riferiscono alle coordinate assolute (misurate sullo schermo intero). Per cliccare il punto (8, 10) del WebBrowser devi posizionare il mouse nel punto WebBrowser.PointToScreen(New Point(8, 10)).


"Infelici sono quelli che hanno tanto cervello da vedere la loro stupiditÓ."
(Fligende Blatter)

"Dubitare di se stessi Ŕ il primo segno d'intelligenza."
(Ugo Ojetti)
PM Quote
Avatar
fabriziorocca (Normal User)
Guru


Messaggi: 1162
Iscritto: 22/03/2009

Segnala al moderatore
Postato alle 21:18
Giovedý, 18/03/2010
Una cosa che non capisco Ŕ questo "schermo intero" che continuate a sottolineare, intendete la dimensione totale dello schermo, o della form ?


PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo