ElGaunt
Messages postés22Date d'inscriptionmercredi 23 octobre 2002StatutMembreDernière intervention 4 juin 2003
-
7 janv. 2003 à 12:46
ElGaunt
Messages postés22Date d'inscriptionmercredi 23 octobre 2002StatutMembreDernière intervention 4 juin 2003
-
9 janv. 2003 à 18:50
Yop !
Il faut que je crée un petit prog ou il y aurait une image et que selon à l'endroit ou je clique sur l'image, un evenement intervienne (une imge sur le cote qui change.) J'aimerais faire ça en vb autant que possible. Seulement, je débute encore.... Donc si c'est faisable en vb, est ce que vous pouvez me mettre un peu sur la voix et m'indiquer la méthode pour rendre mon image "dynamique". On m'a conseillé de mettre mon image par dessus plusieurs boutons de commande. Seulemnt, je n'arrive pas à dissimuler mes boutons sous mon image. Y'a t'il un moyen pour les rendre transarants ?
Voila, merci d'avance.
Et Bonne journée.
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013129 7 janv. 2003 à 13:02
Le mieux, c'est de récupérer les coordonnées de la souris lorsque tu clique sur ton image (variable X et Y de l'événement Mouse_Down) Et définir des zones. Par exemple :
If X > 100 and X < 110 and Y > 100 and Y < 110 then
'faire ce qu'il y a à faire lorsque la souris est située entre les pixels 100-110 sur l'axe X et Y
ElGaunt
Messages postés22Date d'inscriptionmercredi 23 octobre 2002StatutMembreDernière intervention 4 juin 2003 7 janv. 2003 à 13:16
Ouais mais bon, c'est pas gagné, je dois dessiner des formes pas simples à delimiter a grands coups de X et de Y. Juge par toi même :
Je vuex faire les zone en noire.
Je ferais ca vraiment en dernier recours.
Tu as pas d'autres idées ?
Merci quand même.
MrDogbert
Messages postés133Date d'inscriptionjeudi 26 octobre 2000StatutMembreDernière intervention20 juillet 20041 7 janv. 2003 à 13:33
Tu pourrais donner une couleur spécifique a chaque région de ton dessin, lorsque l utilisateur clique sur le dessin tu recupere la couleur du pixel ou il a cliqué puis suivant la couleur tu lances la procédure adéquate.
ex:
Private Sub dessin_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim Couleur As Long
Couleur = dessin.Point(X, Y)
If Couleur = vbRed Then Proc1
If Couleur = vbBlue Then proc2
End Sub
où dessin est une picturebox ou alors tu utilise les API
getpixel et screentoclient si nécessaire
ElGaunt
Messages postés22Date d'inscriptionmercredi 23 octobre 2002StatutMembreDernière intervention 4 juin 2003 7 janv. 2003 à 14:13
C'est une bonne idée, mais ça n'irait pas. Le but de ce petit prog est de remonter un peu le niveau d'un (TPE travaux personnel encadré... Une des joies de la TS) sur lequel je travaille. Le contenu étant pourri, une prof m'a demandé de présenter le truc de façon INTERACTIVE !! Du coup, l'utilisateur n'est pas censé savoir où se trouvent les zones sensibles de la langue et doit les retrouver grace à ce prog en cliquant au pif. Si je colore les zone à trouver, l'interactivité n'est plus là puisque le gars sais exactment ou cliquer...
Vous n’avez pas trouvé la réponse que vous recherchez ?
MrDogbert
Messages postés133Date d'inscriptionjeudi 26 octobre 2000StatutMembreDernière intervention20 juillet 20041 8 janv. 2003 à 00:15
Sinon tu divises ton image en plusieurs regions, tu mets une couleur specifique symbolisant la transparence sur les espaces vides de chaque image ainsi créée, tu places chacune des images dans une picturebox et tu "decoupes" ces picturebox pour ne laisser visible que les parties interessantes.
pour "decouper" voit les API createrectrgn, setwindowrgn, combinergn, etc...
mais la devient aussi compliqué que la premiere solution qui t a été proposée
ElGaunt
Messages postés22Date d'inscriptionmercredi 23 octobre 2002StatutMembreDernière intervention 4 juin 2003 8 janv. 2003 à 12:51
Merci, mais finalement, quelqu'un a trouvé la solution.
Il me suffit de mettre aux endroits ou je le souhaite des labels que je peux rendre transparant (propriété backstyle, tranparant) et qui répondent comme je le programme quand je clique dessus. :)