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 - Pick Graphic Object
Forum - C# / VB.NET - Pick Graphic Object

Avatar
Thejuster (Member)
Guru^2


Messaggi: 1704
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 9:15
Lunedì, 12/09/2016
Buongiorno ragazzi, avrei bisogno di una piccola delucidazione.

Sto realizzando una sorta di UI Editor.

https://images-2.discordapp.net/.eJwFwVEOgyAMANC7cAAqrDbU2x ...

Sebbene riesco a spostare oggetti grafici mediante un piccolo algoritmo di verifica

Codice sorgente - presumibilmente Plain Text

  1. if(e.X >= Oggetto[i].x && e.X <= Oggetto[i].W && e.Y >= Oggetto[i].Y && e.y <= Oggetto[i].H)



Il problema sussiste quando cerco di spostare un oggetto dove si è sovrapposto ad un altro.


https://s12.postimg.org/e03brn68d/Immagine.png


Succede che anche cliccando esempio sul rettangolo rosso, si sposta quello blu dietro o viceversa.
Avete un idea su come potrei evitare questo bug?



PM Quote
Avatar
lumo (Member)
Expert


Messaggi: 413
Iscritto: 18/04/2010

Segnala al moderatore
Postato alle 10:40
Lunedì, 12/09/2016
Z-index? anche se non so come funzioni a livello algoritmico.

PM Quote
Avatar
Snogar (Normal User)
Pro


Messaggi: 130
Iscritto: 09/01/2012

Segnala al moderatore
Postato alle 13:23
Lunedì, 12/09/2016
Ma usi le GDI+ ????  Nel caso pui usare le region.


PM Quote
Avatar
Thejuster (Member)
Guru^2


Messaggi: 1704
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 10:16
Martedì, 13/09/2016
@lumo sono GDI non controlli purtroppo


@Snogar si uso le GDI.
Tutto generato graficamente.

Cosa intendi per region?
mi sà che mi è sfuggita qualcosa.

L'idea di lumo è buona, quella di dare un numero relativo alla posizione di un oggetto.

Avanti, Dietro.


Ultima modifica effettuata da Thejuster il 13/09/2016 alle 10:19


PM Quote
Avatar
Snogar (Normal User)
Pro


Messaggi: 130
Iscritto: 09/01/2012

Segnala al moderatore
Postato alle 10:45
Martedì, 13/09/2016
In System.Drawing c'è la classe region ....questa ti permette di fare un bel po di cose, vatti a guardare su msdn cosa fa che c'è anche quello che ti serve. :k:


PM Quote
Avatar
Thejuster (Member)
Guru^2


Messaggi: 1704
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 10:18
Mercoledì, 14/09/2016
Cavolo, questo mi era proprio sfuggito.
Il region permette di fare veramente tantissime cose ma sopratutto evitarle di farle da 0.

Se ho capito bene e come una sorta di Control Container.
Solo che invece di contenere controlli, contiene porzioni grafiche.
dove e possibile tagliare, vedere se si toccano ecc ecc.
O anche creare delle maschere come in photoshop esempio.
giusto?


PM Quote
Avatar
Snogar (Normal User)
Pro


Messaggi: 130
Iscritto: 09/01/2012

Segnala al moderatore
Postato alle 10:26
Mercoledì, 14/09/2016
Si esatto ....con questo la manipolazione della grafica 2d è un giochetto.


PM Quote