[R] Test click sur GUI

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

[R] Test click sur GUI

#1

Message par pierrotm777 »

Bon , cela fait plusieurs jours que je cherche sur les différents forums et sur le net le moyen de tester le click souris sur une gui est retourner une action (aller, un message par exemple) .
J'utilise la fonction suivante pour le test du click gauche:
► Afficher le texte
Je joins l'ensemble de mon exemple pour mieux comprendre.
Le but est donc de cliquer sur l'un des trois logos en haut à droite et d'obtenir une action différente pour chaque logo !

Merci encore une fois pour votre aide
Fichiers joints
test_click_logo.zip
(71.95 Kio) Téléchargé 89 fois
Modifié en dernier par pierrotm777 le mer. 01 juin 2011 19:14, modifié 3 fois.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Test click sur GUI

#2

Message par Tlem »

Liez une action pour chaque logo.

Koda is your friend. :mrgreen:
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Test click sur GUI

#3

Message par pierrotm777 »

Puff, je n'ai pas de tête, j'ai mis à jour le post 1 avec les fichiers nécessaires.

désolé
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Test click sur GUI

#4

Message par pierrotm777 »

Alors , j'ai essayé koda et j'ai obtenu un peu la même chose que j'avais imaginé à savoir utiliser la function GUICtrlCreateDummy(), que je ne connaissait pas avant hier ! Encore une :|

Ca me donne donc cet exemple:
► Afficher le texte
Mais cela fonctionne encore moins que mon exemple
Je n'avais pas vue l'option GUISetAccelerators($Form1_AccelTable), et aprés lecture de l'aide, il fallait ajouter aux lignes de koda un test sur $Dummy1:

Code : Tout sélectionner

        Case $Dummy1
            MsgBox(0,"","Test",2)
Et là cela fonctionne, il me reste à voir si cela convient à mon script !
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Test click sur GUI

#5

Message par pierrotm777 »

Bon, j'ai testé, mais cela ne convient pas avec le click de la souris !
De plus, le premier appuie sur une touche est bien testé mais pas le suivant .
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Test click sur GUI

#6

Message par Tlem »

Heuu, j'ai du mal à comprendre votre raisonnement.
Est-ce que ceci correspond à votre demande ?
► Afficher le texte
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Test click sur GUI

#7

Message par pierrotm777 »

Merci de votre aide Tlem,
Cela pourrait me convenir, si la gui principale ainsi que les logos n'étaient pas des .png chargés grâce à GDI+ .
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Test click sur GUI

#8

Message par pierrotm777 »

Avec la fonction du post 1, j'arrive à lire le handel de chaque logo , mais je ne sais pas les tester dans mon exemple !
j'ai mis à jour le fichier zip du post 1 dans lequel il manquait le .png de la fenêtre principale !
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Test click sur GUI

#9

Message par Tlem »

Ce n'est pas un problème de GDI+, c'est juste que vous créez des objets graphique, mais ne stockez pas le control ID de chacun d'eux.

1 contrôle = 1 control ID
1 control ID = gestion du contrôle qui en dépend.

Ensuite, si je regarde votre code :
  • 1 - Vous stockez la liste des images à afficher dans un tableau par la ligne :

    Code : Tout sélectionner

    _FileReadToArray(@ScriptDir&"\liste.txt",$avarray)
    2 - Vous faites une boucle For/next afin d'afficher chaque image.

    3 - Dans cette boucle, vous lancez autant de fois que vous avez d'image, la fonction MySplash()
Le problème, c'est que la fonction MySplash ne renvois rien d'utilisable et que dans celle-ci vous créez à chaque fois une GUI ($GUI) que vous passez au premier plan de surcroit. :roll:

Revoyez votre manière de peupler votre GUI avec vos éléments et cela devrait le faire. ;)
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Test click sur GUI

#10

Message par pierrotm777 »

Bon , j'ai essayé de travailler le sujet mais sans succes:
► Afficher le texte
Avatar du membre
zeshrek
Niveau 10
Niveau 10
Messages : 984
Enregistré le : mer. 17 nov. 2010 09:31
Localisation : Sur ma chaise
Status : Hors ligne

Re: [..] Test click sur GUI

#11

Message par zeshrek »

C'est normal.
Tu n'identifie nulle part de facon pérenne tes icones (je comprend pas pkoi tu les mets dans des GUI filles... ce qui aide pas a les gerer depuis la mere.) du coup dans ta boucle qui prend le $msg, je vois mal comment tu pourras les récupérer.

Du coup il faut gérer ca avec les coordonnées de a souris. Tu sais ce que tu as déposé et en quelle coordonnées, donc quand tu cliques a un endroit, tu dois pouvoir séduire sur quoi se trouve la souris
► Afficher le texte
Si vis pacem para bellum
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Test click sur GUI

#12

Message par pierrotm777 »

Je n'ai trouvé que cette solution pour visualiser mes logo, mais vous avez une solution plus simple , je suis preneur :D .

Je teste de suite votre proposition !

C'ets ce que je souhaite mais le temps de réponse est trés lent .

Si vous avez une une solution pour créer les logo et tester un click sur chacun d'eux , je suis preneur !
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Test click sur GUI

#13

Message par Tlem »

Franchement, je ne pense pas que pierrotm777 cherche à faire des tas de GUI fille.
Ce sont simplement les fonctions MySplash et _SetBitmap qui ne vont pas. 8)

Créez la GUI ($GUI) en dehors de la fonction MySplash et en dehors de votre boucle For/Next (juste avant, c'est bien ;) ).
Ensuite, vous devrez trouver une solution pour récupérer de la fonction _SetBitmap l'ID ou le handle du contrôle image (sans quoi vous ne pourrez rien gérer). Au pire, surchargez votre image par un contrôle transparent pour lequel vous pourrez obtenir un control ID ou un handle.

Sans control ID ou handle, ce n'est pas la peine de chercher à faire quoi que ce soit !!!

Si vous arrivez à trouver une solution pour avoir ce control ID ou handle, stockez les dans un tableau. Et oui, je dit 'les' parce que vous avez plusieurs images et donc plusieurs control ID ou handle.
Ce n'est qu'à ces conditions que vous pourrez continuer votre code. :roll:
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
zeshrek
Niveau 10
Niveau 10
Messages : 984
Enregistré le : mer. 17 nov. 2010 09:31
Localisation : Sur ma chaise
Status : Hors ligne

Re: [..] Test click sur GUI

#14

Message par zeshrek »

Tlem a écrit :Sans control ID ou handle, ce n'est pas la peine de chercher à faire quoi que ce soit !!!
Bon, sur le principe, je suis 100% d'accord avec toi boss.
Mais...
Bin en fait on peut tres bien se débrouiller sans handle
C'est lourd et peu performant, mais il est tout a fait possible de faire une GUI sans le moindre controle. Il suffit pour ca de récupérer les coordonnées de la souris, et a partir de la savoir sur quelle zone l'utilisateur a cliqué.

Anyway, je ne comprend toujours pas l'interet de faire une gui fille juste pour y cloquer une image.
Il est possible de faire une GUI sans bordure ni fond, donc transparente.
Il est possible de mettre ensuite dans cette GUI une image qui servira de fond (et il existe des moyens de la rendre semi transparente si il vaut garder cet effet), et d'y mettre des boutons avec une image (pour garder le design tout arrondi)
Et du coup, la gui se gère tout a fait normalement.

A part ca, moi je dis rien...
Si vis pacem para bellum
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Test click sur GUI

#15

Message par Tlem »

zeshrek a écrit :C'est lourd et peu performant
C'est peut de le dire. Et puis ce n'est franchement pas une approche raisonnable dans cette situation, car il faudra calculer la position des contrôles par rapport à la fenêtre, puis de la fenêtre par rapport au bureau + la résolution d'écran et enfin gérer les coordonnées de la souris ... :shock:

Non, là, franchement, je te le laisse. :roll:
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Test click sur GUI

#16

Message par pierrotm777 »

J'ai essayé cela mais cela ne marche pas non plus !
► Afficher le texte
Je suis d'accord avec Tlem, le système avec la position de la souris a un temps de réponse trés long.

Nota:
Le format de ma liste de logo a un peu changé (les coordonnéspuis la taille sont incluses,I,$x,$y$,$w,$h,,1500,1500,"Logo"):

Code : Tout sélectionner

I,150,5,30,30,"gpsvalid:b",1500,1500,"Skype.png"
I,182,5,30,30,"gpsvalid",1500,1500,"gimp.png"
I,214,5,30,30,"online",1500,1500,"arrow.png"
Là je suis perdu !
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Test click sur GUI

#17

Message par Tlem »

pierrotm777 a écrit :Là je suis perdu !
Reprenez la construction de votre interface.

Regardez si vous avez la nécessité d'avoir 2 GUI superposées, ou si vous pouvez en garder une seule.

Ensuite, faites en sorte d'avoir le contol ID ou le handle de chaque éléments et en dernier étudiez la manière de stocker puis cliquer sur chaque élément.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Test click sur GUI

#18

Message par pierrotm777 »

Mon besoin est:
Une GUI et des logo capables de clignoter ou pas selon la présence ou pas d'un :B dans leur ligne de définition !
Aprés le plus simple est toujours le mieux ! :D
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Test click sur GUI

#19

Message par pierrotm777 »

Bon , j'ai réussi à adapter un code d'un ami à mon besoin, il manque juste la fonction de création des logo et celle de clignotement.
Je n'ai donc absolument pas le mérite de ce code !

Cliquez sur le haut droit du menu, un splash text doit apparaître :wink:

Pour info le fichier de définition est ainsi:

Code : Tout sélectionner

I,150,5,30,30,"skype:B",1500,500,"Skype.png"
I,182,5,30,30,"phone",1500,500,"Phone.png"
I,214,5,30,30,"online",1500,500,"Online.png"

Où 1500 est le délais où le logo reste allumé et 500 celui où il est éteint .
Le logo ne doit clignoter que si un :b est présent dans la ligne ! :D

Je joins les logo on off où _00.png = logo état off et _01.png = état on :D
Fichiers joints
Indicators.zip
(16.66 Kio) Téléchargé 61 fois
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Test click sur GUI

#20

Message par pierrotm777 »

Bon , je suis têtu, il y a surement mieux ou plus simple et je suis preneur, mais voici ma solution qui fonctionne trés bien cette fois ci :D
► Afficher le texte
Il ne me manque que la fonction de clignotement , alors si vous avez une idée !

Je suis preneur de toute simplification :D
Répondre