Page 1 sur 1

evenement sur textgadget

Publié : mer. 10/déc./2008 19:44
par zaphod
...

Publié : mer. 10/déc./2008 21:14
par Anonyme2
Voici un code qui affiche l'identifiant statique du gadget

mettre en marche le debugger pour afficher

Il y a peut-être plus simple ...

A+

Code : Tout sélectionner

#Fenetre = 0

#TexteGadget0 = 0
#TexteGadget1 = 1
#TexteGadget2 = 2
#TexteGadget3 = 3
#TexteGadget4 = 4

 If OpenWindow(#Fenetre, 0, 0, 270, 160, "TextGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
      TextGadget(#TexteGadget0, 10, 10, 250, 20, "Gadget texte standard (texte aligné à gauche)")
      TextGadget(#TexteGadget1, 10, 40, 250, 20, "Gadget texte (texte aligné à droite)", #PB_Text_Right)
      TextGadget(#TexteGadget2, 10, 70, 250, 20, "Gadget texte (texte centré)", #PB_Text_Center)
      TextGadget(#TexteGadget3, 10, 100, 250, 20, "Gadget texte avec bordure", #PB_Text_Border)
      TextGadget(#TexteGadget4, 10, 130, 250, 20, "Gadget texte (texte centré) + bordure", #PB_Text_Center | #PB_Text_Border)

      Repeat
           Select WaitWindowEvent()
                     
                Case #WM_LBUTTONDOWN
                     ; on retrouve les coordonnées de la souris
                     If GetCursorPos_(MousePos.POINT)
                          ; on les transforme en coordonnées par rapport à la fenêtre
                          If ScreenToClient_(WindowID(#Fenetre), MousePos)
                               ; on retrouve l'identifiant système de l'élément cliqué s'il existe
                               Select ChildWindowFromPoint_(WindowID(#Fenetre), MousePos\x, MousePos\y)

                                    ; on affiche l'info sur le gadget correspondant

                                    Case GadgetID(#TexteGadget0)
                                      Debug "#TexteGadget0 cliqué"
                                    
                                    Case GadgetID(#TexteGadget1)
                                      Debug "#TexteGadget1 cliqué"

                                    Case GadgetID(#TexteGadget2)
                                      Debug "#TexteGadget2 cliqué"

                                    Case GadgetID(#TexteGadget3)
                                      Debug "#TexteGadget3 cliqué"

                                    Case GadgetID(#TexteGadget4)
                                      Debug "#TexteGadget4 cliqué"
                             EndSelect
                          EndIf
                     EndIf 
                     
                Case #PB_Event_CloseWindow
                     ; on quitte
                     Break 
                     
                     
           EndSelect
           
      ForEver
      
 EndIf

Publié : mer. 10/déc./2008 23:04
par Kwai chang caine
J'ai un peu plus simple....
La combine viens de Milan1612 sur le forum US

Tout est dans l'option #SS_NOTIFY :wink:

http://www.purebasic.fr/english/viewtopic.php?t=29763

Code : Tout sélectionner

#Fenetre = 0 
#TexteGadget0 = 0 

OpenWindow(#Fenetre, 0, 0, 270, 160, "TextGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) 
TextGadget(#TexteGadget0, 10, 10, 250, 20, "Gadget texte standard (texte aligné à gauche)", #SS_NOTIFY) 
      
Repeat 
 
 Evenement = WaitWindowEvent() 
 
 Select Evenement

  Case #PB_Event_Gadget  
   If EventGadget() = #TexteGadget0
    Debug "#TexteGadget0 cliqué" 
   EndIf 
 EndSelect 

Until Evenement = #PB_Event_CloseWindow 

Publié : jeu. 11/déc./2008 1:40
par Ar-S
Effectivement KCC c'est plus simple

Publié : jeu. 11/déc./2008 6:06
par Anonyme2
Y a pas photo :D

Publié : jeu. 11/déc./2008 9:21
par zaphod
...

Publié : jeu. 11/déc./2008 9:35
par Kwai chang caine
De rien ZAPHOD

KCC il cherche toujours les solutions les plus simples.
Enfin surtout une solution qu'il peut comprendre :oops:

Rajouter SS_NOTIFY, KCC il a compris tout de suite :D
Comme ça KCC, il est content, quand il comprend, il croit qu'il est devenu intelligent :lol:

Publié : jeu. 11/déc./2008 10:57
par Anonyme2
Ca me rappelle une discussion avec Fred sur le forum fr il y a pas mal de temps (en années) et c'était surement sur un ancien forum car je n'ai pas retrouvé.

Ce style SS_NOTIFY je l'avais utilisé (il me semble) pour les imagegadget lorsque j'avais créé ma grille de loto qui comportait plus de 500 imagegadget et j'avais besoin de récupérer l'identifiant de l'image sur laquelle on avait cliquée.

Comme quoi j'ai la mémoire courte :mrgreen:

Le code que j'ai posté fonctionne avec les fenêtres et surement tous les gadgets, ça peut être utile.

A+

Publié : jeu. 11/déc./2008 13:58
par Kwai chang caine
Ne t'inquiete pas, je l'ai gardé ton joli code 8)

D'ailleur, KCC, il les gardent tous, les jolis codes.

Y marque, le lien de la page, et le petit genie qui l'a trouvé.

Comme ça, quand il a une question, d'abord y va voir dans sa hotte ou tous ses copains y lui on fait des cadeaux
Apres y demande a monsieur "Search"
Et apres, seulement apres, y casse les noisettes a ses copains :D

D'ailleurs .............Kcc il a eu l'idée de créer un truc qui n'existe pas,................ une mega enclyclopedie ouverte.

LE WIKICC !!! :lol: :lol:

Publié : jeu. 11/déc./2008 15:34
par Anonyme2
Heureusement que tu es là pour nous faire rire un peu :D

Publié : jeu. 11/déc./2008 17:58
par Kwai chang caine
Je te remercie de ce gentil compliment, qui me touche 8)

Il est nul, mais qu'est ce qui dit comme connerie KCC :D
La vie elle est pas toujours drole, alors heureusement que y'a le forum, cet espace de copains ou il fait bon s'y retrouver entre "zinzin" d'une meme passion que peu comprennent :?

ça deviens une drogue, lire tout ce que la famille a fait de neuf :D
Feter l'anniversaire d'un "poto" du forum comme DOBRO
A double titre car DOBRO en plus d'etre un "Poteau" c'est aussi un "Pillier" du forum :lol:

Si le monde etait aussi gentil que vous ......on arretterais de se battre pour une place de parking, ou pour le dernier bocal de cornichon au supermarché :?

ça me fait penser que ...................comme on se connais pas vraiment, si ça se trouve,............... ça aurait pu etre un frere du forum a qui j'ai mis un coup de ventouse a chiotte sur la tete a castorama parce qu'il fouillait dans mon sac :?

On devrait faire comme les gang porter le meme tatouage, ou alors un foulard "Power PB", ou une boucle d'oreille, enfin bref un truc qui nous permette de nous reconnaitre........ :roll:
Comme ça la prochaine fois qu'a casto, y'en a un qui porte le foulard "Power PB" et qu'il fouille dans mon sac devant moi..........
Et ben, KCC il reposera dans le rayon la ventouse a chiotte qu'il a dans les mains, et il embrassera son frere du forum :D

En fin de compte ces forums PB, c'est un peu comme l'addiction à la cigarette.
D'ici que le gouvernement nous demande pas bientot de sortir dehors pour aller "FORUMER" :lol: