Gambas-it

Gambas3 => Programmazione => Topic aperto da: Pino Zollo - 05 Aprile 2020, 00:38:20

Titolo: DrawingArea [Risolto]
Inserito da: Pino Zollo - 05 Aprile 2020, 00:38:20
Ciao....
Vorrei ottenere le coordinate del mouse in una DrawingArea....

Ho :

Codice: [Seleziona]
Public Sub DwgElevation_MouseDown()

 Debug "Coordinate  " & Str(DwgElevation.X) & "   " & Str(DwgElevation.Y)

End

Public Sub DwgElevation_DblClick()

  Debug "DC Coordinate  " & Str(DwgElevation.ScreenY) & "   " & Str(DwgElevation.ScreenX)

End

.... ma dovunque clicchi ottengo sempre gli stessi numeri....le coordinate dell'angolo in alto a sinistra della DrawingArea con MouseDown... (X e Y della medesima)

Anche il DblClick mi da sempre nueri uguali...

Qualche suggerimento ?

Grazie
Pino



Titolo: Re:DrawingArea
Inserito da: vuott - 05 Aprile 2020, 00:48:45
.... ma dovunque clicchi ottengo sempre gli stessi numeri....le coordinate dell'angolo in alto a sinistra della DrawingArea
...perché le proprietà .X e .Y di ogni oggetto grafico restituiscono appunto le coordinate dell'angolo in alto a sinistra di tale oggetto, ossia la distanza di questo angolo dell'oggetto rispettivamente dal margine sinistro del Form (o meglio del Contenitore ove è posto l'oggetto in questione) e dal margine superiore del Form.

Pertanto, se vuoi ottenere le coordinate ove viene cliccato il puntatore del mouse all'interno della DrawingArea, devi usare, sì, quelle proprietà, però con la Classe Mouse.

Esempio:
Codice: [Seleziona]
Public Sub DrawingArea1_MouseDown()

 Debug "Coordinate  " & Str(Mouse.X) & "   " & Str(Mouse.Y)

End
Titolo: Re:DrawingArea
Inserito da: Pino Zollo - 06 Aprile 2020, 17:06:19
OK Grazie....funziona bene :ok:
Titolo: Re:DrawingArea
Inserito da: Pino Zollo - 06 Aprile 2020, 17:08:27
 [Risolto]