Soucis de double click

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Soucis de double click

Message par Ar-S »

Ce code dans ma boucle principale ne détecte pas le double click mais 2 fois l'event un click gauche, je ne pige pas pourquoi.
Une idée ?

Code : Tout sélectionner

Case #EXP ; gadget explorerlistgadget()

            Debug EventType() ; Vérif des events 

            Select EventType()

                  Case #PB_EventType_LeftDoubleClick
           
                        If ThreadLIST = 0
                              Debug "Lancement du thread"
                              ThreadLIST + 1
                              Thread = CreateThread(@ListPics(), Zbob)
                        Else
                              Debug "impossible, opération en cours"

                        EndIf
                     
            EndSelect
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: Soucis de double click

Message par G-Rom »

Sans testé le code , tu appels 2x de suite EventType() , avec ton debug , avec ton switch.
Appel le qu'une fois , colle le résultat dans une variable.
Avatar de l’utilisateur
GallyHC
Messages : 1708
Inscription : lun. 17/déc./2007 12:44

Re: Soucis de double click

Message par GallyHC »

Bonjour,

Je pense aussi au vu de "Case #EXP ; gadget explorerlistgadget()" que tu fait tout tes tests d'évenement en dur...

il est plus que judicieux de faire :

Code : Tout sélectionner

    event = WaitWindowEvent()
    etype = EventType()
    evgad = EventGadget()
Et de vérifier la variable après. Enfin c'est ce que penses et ce que je fait. Et si je dis pas de bétise à chaque fois qui a un appel a une fonction elle ce vide après.

C'est quand même pas mal ce que disais "G-Rom" :).

Cordialement,
GallyHC
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Soucis de double click

Message par Ar-S »

@G-Rom - Avec ou sans le debug ça ne fonctionne pas.

Je ne vois tout de même pas pourquoi ça ne fonctionnerai pas ainsi.
Voilà la boucle "complète" avec le minimum de contenu.
Je viens d'essayer en vérifiant les event en debut de boucle mais ça ne marche toujours pas !

Code : Tout sélectionner


; --------------------------------------------------------------------------------------------
; ----------- BOUCLE ------------ PRINCIPALE
; --------------------------------------------------------------------------------------------
Repeat

EvWIN = WaitWindowEvent()
EvGAD = EventGadget()
EvTYPE = EventType()
EvMENU = EventMenu()
 
  Select EvWIN
    ; ///////////////////
    
; --------------------------------------------------------------------------------------------
; ----------- EVENT ------------ MENU (raccourcis clavier)
; --------------------------------------------------------------------------------------------
      Case #PB_Event_Menu
            Select EvMenu
                  Case #TOUCHE_ESC
                        Quite = 1
            EndSelect
; --------------------------------------------------------------------------------------------
; ----------- EVENT ------------  GADGETS
; --------------------------------------------------------------------------------------------
       Case #PB_Event_Gadget
            Select EvGAD
                  Case #ROOT
  
                  Case #EXP

                  If EvTYPE =  #PB_EventType_LeftDoubleClick
                   
DEBUG "DOUBLE CLICK ?! " + str(EvTYPE)

                   
           
             EndIf  
            

            EndSelect

    ; ////////////////////////
EndSelect  

Until Quite = 1
Au niveau de la syntaxe je ne vois rien qui cloche.

P.S : perdre du (beaucoup de) temps pour ce genre de chose me gonfle à un point !
Dernière modification par Ar-S le sam. 15/juin/2013 13:49, modifié 1 fois.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Soucis de double click

Message par Backup »

...
Dernière modification par Backup le mar. 19/août/2014 10:02, modifié 1 fois.
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Soucis de double click

Message par Ar-S »

Merci dobro pour cette solution de secours mais bon, devoir passer par GetDoubleClickTime_ et GetTickCount_ pour gérer le double click c'est abuser.

----edit-----

Je vais tester en passant du double click au callback ou plus simple par un timer qui me renverra le path courant de l'explorerlist toutes les x ms..
je vais voir ce que ça donne.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: Soucis de double click

Message par G-Rom »

Code : Tout sélectionner

If event = #PB_Event_LeftDoubleClick
...
marche tout aussi bien.
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Soucis de double click

Message par Ar-S »

G-Rom a écrit :

Code : Tout sélectionner

If event = #PB_Event_LeftDoubleClick
...
marche tout aussi bien.
je suis passé par toutes les combi, rien ne change.
il doit y avoir une couille dans mon code.. si je galère trop je le posterai au complet (pas si long que ça)
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: Soucis de double click

Message par G-Rom »

par WindowEvent() je parle. pas eventtype().
salutcava
Messages : 34
Inscription : lun. 10/juin/2013 12:01

Re: Soucis de double click

Message par salutcava »

Bonjour/bonsoir

J'espere que je ne vais pas dire des betises aussi grosses que moi, j'essaye simplement d'aider :
En effet la detection du double click sur ce type de gadget ne veux pas fonctionner chez moi non plus.
Peut etre que le doubleclick-gauche sur un ExplorerListGadget est intercepté pour savoir s'il faut changer de repertoire courant, cette interception aurait pour effet de ne pas rendre accessible l'evenement doubleclick-gauche ? (car ca fonctionne pour le doubleclick-droit)

Comme Dobro, je n'ai qu'une solution alternative à proposer :
S'il s'agit de verifier qu'un nouveau repertoire s'affiche au lieu du doubleclick-gauche en lui-même, alors tu peux passer par GetGadgetText qui renvoie le repertoire courant affiché, et verifier si le repertoire courant affiché a changé depuis la derniere fois.
En esperant avoir été utile.

Bonne journée/soirée.
Avatar de l’utilisateur
MLD
Messages : 1124
Inscription : jeu. 05/févr./2009 17:58
Localisation : Bretagne

Re: Soucis de double click

Message par MLD »

Salut Ar-S

Donne un bout de code avec une fenêtre car WaitWindowEvent() ne fonctionne pas sans une fenêtre.
Si tu fait cela ce soir, je regarde demain. Mais ton code parait un peu tordus :mrgreen:
Bon WE
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: Soucis de double click

Message par G-Rom »

Code : Tout sélectionner

OpenWindow(0,0,0,800,600,"")

While(1)
   event = WindowEvent()

  Select event
    Case #PB_Event_CloseWindow
      Break
    Case #PB_Event_LeftDoubleClick
      Debug "dbl click..."
  EndSelect
Wend
Marche sur , xp32 , 7x32, 7x64. linux x64.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Soucis de double click

Message par Backup »

...
Dernière modification par Backup le mar. 19/août/2014 10:02, modifié 1 fois.
Avatar de l’utilisateur
MLD
Messages : 1124
Inscription : jeu. 05/févr./2009 17:58
Localisation : Bretagne

Re: Soucis de double click

Message par MLD »

Chut Il est 11 H, et il dort encore 8O
G-Rom et Dobro vous avez raisons vos codes fonctionne parfaitement. :lol:
Par hazard A-Rs Tu n'aurais pas oublié de créer une fenêtre avant l'appel a WaitWindowEvent() :oops: :mrgreen:
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Soucis de double click

Message par Ar-S »

MLD a écrit :Chut Il est 11 H, et il dort encore 8O
G-Rom et Dobro vous avez raisons vos codes fonctionne parfaitement. :lol:
Par hazard A-Rs Tu n'aurais pas oublié de créer une fenêtre avant l'appel a WaitWindowEvent() :oops: :mrgreen:
Toi Image

Pour info MLD, tous les eventtype souris fonctionnent dans mon code, seul le double click chie. Et comme c'est pour un explorerlist, c'est embêtant pour récupérer le rep en cours.
Je vais encore chercher même si je pense m'orienter vers le callback.
Je vous tiens informé. Merci pour vos codes.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Répondre