Bonjour !
J'ai créé un petit programme qui me permet de créer des images aléatoires sur une gui et je me retrouve avec un problème. En fait mes images sont créées aléatoirement selon la position de la souris et j'ai une image pour voir quelle est l'image que j'ai sélectionné, celle ci est donc supposé se retrouver au dessus. mon problème est donc de comprendre comment mettre cette image au dessus des autres. Comme rien ne vaut un petit exemple, voila une partie de mon code.
Ici, le clic droit permet de sélectionner une image et de normalement mettre l'image zone par dessus, ce qui ne marche pas et voila donc mon problème.
Voila, je vous remercie par avance pour vos réponses (ce qui ne m'empêchera pas de vous remercier quand même après !) !
Voir exemple 2
On obtient de meilleurs résultats mais c'est plus compliqué (au début)
Si vous voulez jouer uniquement sur le pic, il y a GUICtrlSetState ( controlID, state ) avec $GUI_ONTOP (2048) Le contrôle aura l'attribut Ontop (au dessus des autres fenêtres) (zOrdering).
Cordialement,
Walkson "Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Ça pourrait marcher mais dans ce cas, je n'ai qu'une seule image qui change. Ici le but serait de passer l'image zone au dessus de l'image 0 mais que l'image 0 reste quand même visible.
Ceci dit, ça m'inspire quand même parce que le $GUI_EVENT_PRIMARYDOWN et le GUI_EVENT_SECONDARYDOWN sont beaucoup plus pratique que mon _IsPressed qui se répète tant que la touche est enfoncé !
J'ai essayé le $GUI_ONTOP mais j'ai l'impression que ça ne marche que pour les images créées au lancement de la gui et pas pour celle qui sont rajoutées après la création.
Mais j'ai commencé a faire des test avec GDIPlus (c'est compliqué en effet mais je m'en sort) et j'en suis encore à la phase de test !
Mais merci, c'est gentil ! si je ne trouve toujours pas, je ne manquerai pas de redemander de l'aide ! Et je suis bien évidemment toujours ouvert à des proposition !
Bon je repasse le sujet en non résolu parce que malgré toutes ces tentatives, rien ne marche...
Pour le GDIPlus, ça marche mais je n'arrive pas à faire en sorte que l'image se déplace un fois créée.
Pour le GUICtrlSetState($zone,$GUI_ONTOP), j'ai l'impression que il ne marche qu'avec les images créées avant et non pas pour les images que je créé pendant que la gui est active.
J'ai bien tente un
En fait je ne comprends pas très bien ce que tu cherches à faire, le code du post #1 a l'air de marcher pas mal ?
Pourrais-tu reformuler la question plus précisément, avec explications claires et détaillées (façon instituteur de cours préparatoire)
" L'échec est le fondement de la réussite. " (Lao-Tseu ) " Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Oui bien sûr pas de problème. En fait j'ai l'intention de créer une appli de création de carte procédurale (il y à probablement plus simple que comme je le fait mais ça m'amuse de faire comme ça !) et j'ai donc réussi a faire quelque chose de bien mais j'aimerais pouvoir sélectionner une carte après l'avoir créée et mettre le focus dessus en l'entourant dans une case rouge (l'image zone).
Mon clic gauche servirait alors à créer une image et le clic droit d'afficher l'image zone par dessus l'image créée précédemment pour voir quelle est la carte sélectionnée.
Pour l'instant, faire le clic droit met b'in l'image zone au bon endroit mais malheureusement l'image n'est pas visible car elle est cachée par les cartes créées.
J'espère que c'est plus clair comme ça mais je peut reformuler si ce n'est toujours pas clair !
En fait ce serait une carte(genre carte du monde) qui pourrait être dessinée aléatoirement si on clic à un endroit. Exemple : je clic gauche à un endroit de la gui et une image se place (choisie aléatoirement parmi d'autres cartes) et si je clic droit, cela met cette image précédemment choisie en évidence en l'entourant par un carré rouge.
Par exemple sur le premier code que j'ai donné (que j'ai modifié très légèrement parce que j'ai remarqué un problème qui empêchait le bon fonctionnement), si vous cliquez gauche juste à coté du 0 déjà présent, un autre 0 sera créé a coté. SI vous faites un clic droit sur l'image nouvellement créée, l'image zone disparaîtra du 0 de base mais ne réapparaîtra pas sur le nouveau 0, ce qu'il est censé faire.
En fait le moyen le plus simple est de faire une 2ème gui pour "zone"
Dans le code ci-dessous, le clic gauche crée des images dans la gui 1, le clic droit crée la gui $zone sur l'image concernée (mais seulement si le pointeur de souris est sur une image)
J'ai fait compact pour montrer l'idée, n'hésite pas à demander si certains points te paraissent obscurs
Ah oui en effet ça marche ! Merci bien, j'aurais jamais pensé à me servir d'une autre GUI pour faire apparaître ma zone tiens !
Merci beaucoup ! D'après ce que je vois sur le code, ça me paraît assez clair mais je vais m'y attarder un peu plus et voir si je comprend bien tout !
Cette fois je passe le sujet en résolu (j'espère définitivement) !
Un seul pic suffit pour plusieurs images
Après, si vous devez travailler beaucoup sur les images, je vous conseille GdiPlus (voir l'aide) Rachat de crédit meilleur taux crédit
Voir exemple 2 On obtient de meilleurs résultats mais c'est plus compliqué (au début)
Si vous voulez jouer uniquement sur le pic, il y a GUICtrlSetState ( controlID, state ) avec $GUI_ONTOP (2048) Le contrôle aura l'attribut Ontop (au dessus des autres fenêtres) (zOrdering).
Bonjour tout le monde. On vous remercie d’avoir partagé cela avec nous, je trouve cela vraiment intéressant ! Cependant j’ai une question à vous poser si c’est possible. Merci de votre retour Amicalement