Comment peut on diviser un TImage en plusieurs zones cliquable
Comment peut on diviser un TImage en plusieurs zones cliquable
qu'entends tu par diviser un timage en plusieurs zones cliquable ?
Bonjour,
Personnellement j'utiliserais l'évènement onclick de TIMage.
Je récupèrerait la position du click dans l'image. (Mous.CursorPos et TImage.Screentoclient)
Puis je testerais si le point "cliquer" est dans une zone "cliquable" (PtInRect).
je vous donne un exemple :
imaginons la carte de la france et que mon programme doit cliquez sur chaque petite zone de cette carte et déclencher un événement. Si je fais ça en récupérant les coordonnée de chaque point de la carte ,je pense que c'est pas tres une solution optimale
Ce que je proposais était de tester sur une région rectangulaire (ptinRect), et non sur un point de l'image.
Si vous désirer tester dans d'autre type de région c'est plus difficile.
Peut être pourriez vous créer des régions avec CreatePolyPolygonRgn (voir http://zewaren.developpez.com/delphi/regions/)
Et tester si le point ou vous avez cliquer est dans une des régions (PtInRegion) ?
La difficulté Dans ce cas est de définir les contours des régions sans laisser de troues dans la carte.
je connais cette fonction mais là, ça resout pas mon probleme, c'est pas du tout faisable. Il s'agit de toute une carte à decouper, il ya de quoi se ranger les ongles
Partager