Image et "hyperlien" (?) - C++ - Programmation
Marsh Posté le 23-04-2003 à 19:35:58
C'est inutile de le faire chaque fois que la souris se déplace (MouseMove), mais seulement lorsqu'il y a un click
Sinon, oui, je vois pas d'autre moyen. Il faut faire en sorte de calculer facilement le cercle correspondant au click
Marsh Posté le 23-04-2003 à 20:30:44
mrBebert a écrit : C'est inutile de le faire chaque fois que la souris se déplace (MouseMove), mais seulement lorsqu'il y a un click |
Je pense quand même garder l'évenement MouseMove si je veux changer la forme du curseur au moment où il passe sur l'un des points...
Marsh Posté le 23-04-2003 à 23:37:19
Bon alors le code suivant me fait un truc bizarre:
Code :
|
Ca marche, la souris change bien de forme, mais uniquement pour le dernier point du vecteur...
Quelqu'un peut m'expliquer ça?
Marsh Posté le 24-04-2003 à 00:10:33
J'ai trouvé...
le problème est qu'à chaque mouvement de la souris la boucle est recalculée, et s'arrête sur le dernier élément de la boucle...
Le code correct est donc:
Code :
|
Et là ça marche...
Marsh Posté le 24-04-2003 à 09:22:14
haazheel a écrit : |
bhen si tu mets pas de break même après avoir trouvé une zone qui fera changer le curseur il parcourera les autres et remettra le curseur d'origine
Dans ta 2e solution un break permettrait d'arrêter la boucle quand on a trouvé, c'est tj ça de gagné
Marsh Posté le 23-04-2003 à 19:28:58
Salut,
alors voilà mon problème:
je programme avec Borland C++ Builder 6.0 et dans une fenêtre j'affiche une image grâce au composant TImage, sur laquelle j'ajoute des petits cercles dont les coordonnées me sont données par un fichier, grâce à la commande
Et là tout se passe bien... Mais je voudrais maintenant permettre à l'utilisateur de cliquer sur ces cercles pour enchainer une autre action.
La seule méthode à laquelle j'ai pensé serait, dans l'évenement MouseMove, de localiser les coordonnées de la souris sur l'image, et de lancer une boucle for() pour vérifier si les coordonnées du point survolé actuellement font référence aux coordonnées d'un point contenu dans un vecteur, rempli au fur et à mesure de l'affichage de ces cercles...
Mais comme mon fichier pourra contenir à peu près une centaine de ces points, j'ai peur que ça soit trop long à vérifier...
Je vous demande donc si vous connaissez une autre méthode pour arriver au même résultat...
Merci d'avance!!