Répétez apres moi :J'aime PBAdonf. J'aime PBAdonf. J'aime PBAdonf.

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 26-04-2013 11:00:16

zeineb  
Membre Geek
Lieu: Tunisie
Date d'inscription: 11-03-2013
Messages: 31
Pépites: 148
Banque: 0

Savoir si on a cliqué sur un bouton

Bonjour,

J'ai besoin de savoir si on a déjà sur un bouton donné.
est ce qu'il y aurait une fonction du genre name_commande_boutton.isclicked()?

Hors ligne

 

#2 26-04-2013 11:30:11

rincevent  
Modérateur
Award: bf
Lieu: Belgique
Date d'inscription: 06-02-2007
Messages: 722
Pépites: 100,002,023
Banque: 0

Re: Savoir si on a cliqué sur un bouton

Salut,

non y a pas, tu dois créer une variable d'instance genre ib_my_button_x_has_been_clicked

et la mettre à true dans ton event clicked du bouton en question

comme ça après tu n'as qu'a tester si  ib_my_button_x_has_been_clicked = True


http://img114.imageshack.us/img114/8519/userbar175801nb.gif
Pourquoi ne puis-je vivre comme n'importe quel être humain ? Pourquoi mon destin est-il de ne pouvoir cesser de me battre ?

Hors ligne

 

#3 26-04-2013 13:21:27

_francois_  
Bienfaiteur du site
Lieu: TOULOUSE
Date d'inscription: 25-03-2010
Messages: 151
Pépites: 178,983,268,111
Banque: 9,223,372,036,854,776,000

Re: Savoir si on a cliqué sur un bouton

Si c'est pour savoir si le bouton a déjà été cliqué à un moment donné il faut utiliser la méthode de rincevent
Si c'est pour empêcher de re-cliquer sur le bouton pendant que le traitement afférant à ce bouton soit fini personnellement sur mes boutons je commence toujours l'event clicked par un this.enabled = false et finit l'event avec un this.enabled = true comme ça l'utilisateur voit bien que tant que le traitement n'est pas fini il ne peut pas cliquer sur nouveau sur le bouton
car il y a toujours des utilisateurs pour double cliquer sur les boutons ou cliquer de nouveau dessus plus tard malgré des messages du style "Traitement en cours"
On peut faire la même chose avec la variable d'instance id_my_button... mais au moins je trouve que c'est plus visuel.

Hors ligne

 

#4 26-04-2013 13:44:10

zeineb  
Membre Geek
Lieu: Tunisie
Date d'inscription: 11-03-2013
Messages: 31
Pépites: 148
Banque: 0

Re: Savoir si on a cliqué sur un bouton

Oui c'est ce que j'ai fait mais je pensais qu'il y avait quelque chose de prédéfini.
merci encore

Hors ligne

 

#5 16-05-2013 13:51:15

s.simo  
Membre
Date d'inscription: 08-01-2010
Messages: 6
Pépites: 32
Banque: 0

Re: Savoir si on a cliqué sur un bouton

La possibilité de Savoir si on a cliqué sur un bouton est déjà prédifinie, mais il faut préciser ce que vous voulez
1-savoir si on a clicker sur un bouton bien déterminé
2-savoir si on a cliquer sur bouton parmi plusieurs dans un formulaire ou autre précisez

15 ans d'éxpérience en pb pour vous aider

Hors ligne

 

#6 13-06-2013 07:53:27

elfeliz  
Bienfaiteur du site
Award: bf
Lieu: Liège, BE
Date d'inscription: 23-06-2009
Messages: 94
Pépites: 471
Banque: 0

Re: Savoir si on a cliqué sur un bouton

Hello,

Je suis preneur de l'info concernant ce qui est prédéfini sur ce cas :
  1-savoir si on a clicker sur un bouton bien déterminé

Et comment on le récupère pour - par exemple - enclencher un comportement à la suite d'une combinaison de bouton.
Exemple : j'ai trois boutons :
1 ouvrir la liste (qui ouvre une dw et charge les datas)
2 sélectionner tout
3 imprimer

Si je clique sur 1 puis 2 puis 3 , j'imprime toute la dw
Si je clique sur 1 puis je clique sur une ligne pour la sélectionner, puis sur 3 , je n'imprime que la ligne sélectionnée.

Donc, je voudrais savoir si j'ai cliqué sur 2 au moment au je traite l'impression en cliquant sur 3 ( suis-je clair   ).

Il y aurait-il moyen de s'en sortir sans variable d'instance comme proposé par Rincevent ?

Cela est très très intéressant...

Merci !

Dernière modification par elfeliz (13-06-2013 07:53:45)


No prob, just Pb !

Hors ligne

 

#7 13-06-2013 08:39:58

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

Re: Savoir si on a cliqué sur un bouton

elfeliz a écrit:

Donc, je voudrais savoir si j'ai cliqué sur 2 au moment au je traite l'impression en cliquant sur 3 ( suis-je clair   ).

Il y aurait-il moyen de s'en sortir sans variable d'instance comme proposé par Rincevent ?

Keep It Simple : il suffit de découp[l]er le problème pour faire une tâche simple à la fois, ça évite les pataquès :
- si on clique sur 1 ligne, on sélectionne la ligne SelectRow(row, true)
- si on clique sur "sélectionner tout"... ben on sélectionne tout SelectRow(0, true)
- la gestion du "imprimer" s'occupe de la sélection en cours (une boucle sur GetSelectedRow() en partant du haut et tant que ça retourne une ligne <> 0), pas besoin de savoir par où on est passé pour traiter ce qui doit être traité


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#8 13-06-2013 08:49:02

Van  
Bienfaiteur du site
Award: bf
Lieu: mouvaux
Date d'inscription: 19-03-2013
Messages: 125
Pépites: 673
Banque: 41

Re: Savoir si on a cliqué sur un bouton

Est ce que tes lignes comporte une checkbox elfeliz ou est ce que tu passe par la mise en selectionné avec surbrillance?

Dans les deux cas tu pourrais passé par un tableau listant les lignes soit par la checkbox soit par la fonction GetSelectedRow.

Savoir si on a appuyé sur un bouton sans passé par une variable d'instance à la fenêtre/userobject/autre me semble pas super car commente savoir si tu n'as pas réappuyé dessus.

D'ailleurs, si tu r'appuis dessus est ce que tu retire ta selection sur l'ensemble des lignes?




Ps : Me suis fait doublé par Seki
Tient d'ailleurs j'ai jamais trop fait d'impression mais cet impression que des lignes selectionné c'est bon uniquement s'il y a au moins une ligne selectionné?
Par quelle méthode d'impression tu passe pour cet impression des lgiens selectionné?
Car en regardant un peu la doc y'a pas mal de façon de faire.

Dernière modification par Van (13-06-2013 09:03:46)


Tant que ça bouge c'est pas mort, dans le doute frappe encore!
Ni dieu ni maître, sauf maître Kanter!

Hors ligne

 

#9 13-06-2013 09:07:07

elfeliz  
Bienfaiteur du site
Award: bf
Lieu: Liège, BE
Date d'inscription: 23-06-2009
Messages: 94
Pépites: 471
Banque: 0

Re: Savoir si on a cliqué sur un bouton

Hou là ,Sorry, je me suis mal exprimé =  je prenais ça comme exemple bien bête
Et c'est bête, en effet, de prendre ça comme exemple...

En vraie vie live, j'aurais aussi travaillé avec getselectedrow et/ou des checkbox

Mais c'est juste pour avoir une combinaison de click que je complique la donne, histoire d'avoir un cas d'école concret illustrant ce qui est "déjà prédéfini".

Donc, pour simplifier : si on a trois boutons : 1,2 et 3 et que le comportement au click de 3 est fonction du fait qu'on aie préalablement clické ou non sur 1, sur 1 et 2, ou sur rien...
Comment traiter ça sans utiliser de variables servant de flags ?


No prob, just Pb !

Hors ligne

 

#10 13-06-2013 09:19:45

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: Savoir si on a cliqué sur un bouton

Je ne vois pas pourquoi tu ne veux pas utiliser de variables...
Mais dans ce cas, tu peux par exemple renseigner le tag du bouton 3 (ou une propriété dédiée dans un ancêtre du bouton) lors du clic sur 1, sur 2...


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#11 13-06-2013 09:23:27

Van  
Bienfaiteur du site
Award: bf
Lieu: mouvaux
Date d'inscription: 19-03-2013
Messages: 125
Pépites: 673
Banque: 41

Re: Savoir si on a cliqué sur un bouton

Je pense pas avoir souvenir qu'un simple commandButton tu puisse le laissé en position basse.

L'idée est peut être de te faire un uo_switchCommandButton composé d'un picture object simulant le command bouton avec deux image possible appuyé ou non appuyé.

Tu change l'image ainsi qu'une variable propre à cet uo qui te permet de savoir si tu es en position basse ou haute.

Bon je fait peut être dans l'usine à gaz en ré-écrivant un existant. Si c'est le cas, que celui qui n'a jamais fait ça me lance la première bière!!!




....ouai ou le tag ^^'.....comme le dis erasorz

smileydehors

Dernière modification par Van (13-06-2013 09:26:10)


Tant que ça bouge c'est pas mort, dans le doute frappe encore!
Ni dieu ni maître, sauf maître Kanter!

Hors ligne

 

#12 13-06-2013 09:23:25

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: Savoir si on a cliqué sur un bouton

Van a écrit:

Si c'est le cas, que celui qui n'a jamais fait ça me lance la première bière!!!

Ils sont fous ces belges !
Attends au moins qu'on l'ait bue, on t'enverra la canette vide


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#13 13-06-2013 09:32:18

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

Re: Savoir si on a cliqué sur un bouton

Savoir si un comportement asynchrone et tout à fait indépendant (le clic possible sur plusieurs boutons) a eu lieu sans stocker un flag soit dans la fenêtre parent, soit dans les boutons (idéalement en codant une fois dans un ancêtre commun aux trois), je ne crois pas que ça puisse se faire.

Van a écrit:

que celui qui n'a jamais fait ça me lance la première bière!!!

Ça va pas, non ?


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#14 13-06-2013 09:37:51

Van  
Bienfaiteur du site
Award: bf
Lieu: mouvaux
Date d'inscription: 19-03-2013
Messages: 125
Pépites: 673
Banque: 41

Re: Savoir si on a cliqué sur un bouton

Je suis pas belge. Juste frontalier.

Et t'inquiet pas Seki j'ai de bon réflexe.......bon ça marche avec la bière en bouteille....moins avec une pression....

Sinon pour le sujet de base on est donc tous sur le même point, à part par flag en variable/uo/tag y'a pas trop de moyen de savoir si tel bouton a été cliqué.

Dernière modification par Van (13-06-2013 09:39:01)


Tant que ça bouge c'est pas mort, dans le doute frappe encore!
Ni dieu ni maître, sauf maître Kanter!

Hors ligne

 

#15 13-06-2013 09:48:13

elfeliz  
Bienfaiteur du site
Award: bf
Lieu: Liège, BE
Date d'inscription: 23-06-2009
Messages: 94
Pépites: 471
Banque: 0

Re: Savoir si on a cliqué sur un bouton

Bon, bientôt midi, ma première sera à vos santés !
(bein, oui, on boit de la bière chaque midi, ici ... )

En fait, je me demandais de quoi s.simo voulait parler, car je ne crois pas qu'on aie autre chose à disposition que les variables (d'instances souvent ) pour gérer ça.
Dans les boutons, point de propriété "clické" à ma connaissance.
Sauf à partir sur des vérification d'état "enfoncé" comme proposé, mais c'est se chatouiller pour se faire boire ... rire.

Santé !

Dernière modification par elfeliz (13-06-2013 16:04:51)


No prob, just Pb !

Hors ligne

 

#16 13-06-2013 10:20:05

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: Savoir si on a cliqué sur un bouton

ok, une Westmalle triple pour moi


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#17 13-06-2013 13:44:32

elfeliz  
Bienfaiteur du site
Award: bf
Lieu: Liège, BE
Date d'inscription: 23-06-2009
Messages: 94
Pépites: 471
Banque: 0

Re: Savoir si on a cliqué sur un bouton

Attention, si tu veux embarquer Van, on part plutôt sur une West-Vleeteren : c'est quand même plus près
Et perso, elle a ma préférence

Mais on s'éloigne ... bien que tout soit relatif : ça dépend de quelle frontière il parlait, hips...

Dernière modification par elfeliz (13-06-2013 16:06:02)


No prob, just Pb !

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22