FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Form(résolu)
presque le double clic Emptypar leclode Hier à 17:59

» trop de fichiers en cours
presque le double clic Emptypar Marc Hier à 11:42

» Bataille navale SM
presque le double clic Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Une calculatrice en une ligne de programme
presque le double clic Emptypar jean_debord Ven 26 Avr 2024 - 8:01

» Gestion d'un système client-serveur.
presque le double clic Emptypar Pedro Jeu 25 Avr 2024 - 19:31

» Les maths du crocodile
presque le double clic Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

» Naissance de Crocodile Basic
presque le double clic Emptypar jean_debord Jeu 25 Avr 2024 - 8:45

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
presque le double clic Emptypar Froggy One Mer 24 Avr 2024 - 18:38

» Dessine-moi une galaxie
presque le double clic Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
presque le double clic Emptypar jjn4 Lun 22 Avr 2024 - 13:43

» Bug sur DIM_LOCAL ?
presque le double clic Emptypar papydall Dim 21 Avr 2024 - 23:30

» 2D_fill_color(résolu)
presque le double clic Emptypar leclode Sam 20 Avr 2024 - 8:32

» Consommation gaz électricité
presque le double clic Emptypar leclode Mer 17 Avr 2024 - 11:07

» on_key_down (résolu)
presque le double clic Emptypar leclode Mar 16 Avr 2024 - 11:01

» Sous-programme(résolu)
presque le double clic Emptypar jjn4 Jeu 4 Avr 2024 - 14:42

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Avril 2024
LunMarMerJeuVenSamDim
1234567
891011121314
15161718192021
22232425262728
2930     
CalendrierCalendrier
Le Deal du moment : -28%
Brandt LVE127J – Lave-vaisselle encastrable 12 ...
Voir le deal
279.99 €

 

 presque le double clic

Aller en bas 
+2
lodchjo
bignono
6 participants
AuteurMessage
bignono

bignono


Nombre de messages : 1127
Age : 66
Localisation : Val de Marne
Date d'inscription : 13/11/2011

presque le double clic Empty
MessageSujet: presque le double clic   presque le double clic EmptyLun 6 Fév 2012 - 13:02

Bonjour à tous,
Bon voilà, je cherche toujours à produire un double clic avec panoramic, mais c'est pas évident. Ci-joint un petit code, qui ne le fait pas à chaque fois, mais ça peut donner des idées à certains pour trouver la solution, qui sait? Moi je commence à caler! Cliquez sur le picture noir.
Code:
dim ouiclic,nonclic,clic
label souris1,souris2
picture 1:left 1,200:color 1,0,0,0
on_click 1,souris2
timer 2:timer_interval 2,180:on_timer 2,souris1
end
souris2:
ouiclic=mouse_left_down(1)
nonclic=mouse_left_up(1)
if (ouiclic=1 and nonclic=0)
  print "double clic!";
  print number_click
  if number_click<>-1 then return
souris1:
  timer_off 2
'      clic=0
      ouiclic=mouse_left_down(1)
      nonclic=mouse_left_up(1)
      if (ouiclic=1 and nonclic=0) then clic=clic+1
      if clic>0 then print "clic!":clic=0
  timer_on 2
end_if
return
de plus ça me paraît difficile à mettre en oeuvre dans un programme!
a +
Revenir en haut Aller en bas
lodchjo

lodchjo


Nombre de messages : 162
Age : 53
Localisation : Anvers
Date d'inscription : 26/12/2011

presque le double clic Empty
MessageSujet: Re: presque le double clic   presque le double clic EmptyLun 6 Fév 2012 - 13:53

Bignono,

Bonne idée, ton petit programme!
Si tu me permets, je l'ai modifié un peu.

Mon stratégie, c'est de mettre en route le timer que après le premier click, pour savoir si l'utilisateur fait un deuxième click assez vite. En même temps, les clicks sur l'image sont comptés et réinitialisé quand le cycle du timer est fini. Si a la fin, il y a plus que 1 clic, on a un double click. Wink
Sinon, on a un seul clic. De cette manière, tu pourrais même introduire le triple click, lol. Un primeur en informatique! Razz

Pour surveiller le programme, j'ai fait du sorte que le nombre de fois qu'on a clické sur l'image est suivi. (Et apparait dans le titre de la fenetre "caption 0")
Pour que tu puisse mieux arrègler l'interval du timer, j'ai aussi fait du sorte que "time out" est affiché dans le titre de la fenêtre. Comme ça, tu voit quand on recommence pour peut-être reduire un peu cet interval jusqu'a une durée idéale.

Code:

dim clic
label souris1,souris2
picture 1:left 1,200:color 1,0,0,0
on_click 1,souris2
timer 2:timer_interval 2,1000:on_timer 2,souris1
end
souris2:
 clic=clic+1
 caption 0,str$(clic)
 timer_on 2
return
souris1:
 caption 0,"time out"
 timer_off 2
  if clic>1
  print "double clic!"
  else
  print "clic!"
end_if
clic=0
return

J'espère que c'est utile!

Lode

PS: comme ça, tu vois aussi combien de clicks sont registrés par panoramic. ça dépends aussi de la configuration de ton ordi. (Dans windows, panneau de configuration, on peut rapprocher les clicks qui doivent faire un double click, ou les éloigner.)
Revenir en haut Aller en bas
http://lode.weebly.com
exdragon

exdragon


Nombre de messages : 601
Date d'inscription : 05/01/2012

presque le double clic Empty
MessageSujet: Re: presque le double clic   presque le double clic EmptyLun 6 Fév 2012 - 14:01

Citation :
De cette manière, tu pourrais même introduire le triple click, lol. Un primeur en informatique!
cheers
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

presque le double clic Empty
MessageSujet: Re: presque le double clic   presque le double clic EmptyLun 6 Fév 2012 - 14:51

Bonne idée Smile
Revenir en haut Aller en bas
bignono

bignono


Nombre de messages : 1127
Age : 66
Localisation : Val de Marne
Date d'inscription : 13/11/2011

presque le double clic Empty
MessageSujet: Re: presque le double clic   presque le double clic EmptyLun 6 Fév 2012 - 16:08

Bonjour lode,
Interressant ta solution, mais c'est plus un triple clic qu'un double! Laughing
J"essaierai de voir le problème dans la semaine, je suis débordé en ce moment!
à +
Revenir en haut Aller en bas
lodchjo

lodchjo


Nombre de messages : 162
Age : 53
Localisation : Anvers
Date d'inscription : 26/12/2011

presque le double clic Empty
MessageSujet: Re: presque le double clic   presque le double clic EmptyLun 6 Fév 2012 - 17:01

bignono a écrit:
Bonjour lode,
Interressant ta solution, mais c'est plus un triple clic qu'un double! Laughing
J"essaierai de voir le problème dans la semaine, je suis débordé en ce moment!
à +
Pour pas avoir un triple, tu réduit le valeur de l'interval qui dans ma version est 1000. C'est a toi de chercher les meilleurs paramètres. Wink
Lode.
Revenir en haut Aller en bas
http://lode.weebly.com
exdragon

exdragon


Nombre de messages : 601
Date d'inscription : 05/01/2012

presque le double clic Empty
MessageSujet: Re: presque le double clic   presque le double clic EmptyLun 6 Fév 2012 - 17:20

ça sert à rien un triple^^
sauf au tiercé et au bar...
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

presque le double clic Empty
MessageSujet: Re: presque le double clic   presque le double clic EmptyLun 6 Fév 2012 - 22:40

Par contre, je ne comprends pas pourquoi il faut triple cliquer, dans la logique du programme, un simple double clic devrait fonctionner ...
Revenir en haut Aller en bas
lodchjo

lodchjo


Nombre de messages : 162
Age : 53
Localisation : Anvers
Date d'inscription : 26/12/2011

presque le double clic Empty
MessageSujet: Re: presque le double clic   presque le double clic EmptyLun 6 Fév 2012 - 23:39

Détecter le triple click est possible, mais c'était plutot une blague car effectivement probablement pas nécessaire.
En tout cas: ça détecte quand il y a plus que 1 seul click. Quand l'interval est réduit, ça sera limité a 2 clicks automatiquement, mais pas vraiment obligatoire. Dans ma code, plus que 1 click (2, 3, 4) produit le message "double click". A changer selon gout! Wink
Revenir en haut Aller en bas
http://lode.weebly.com
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

presque le double clic Empty
MessageSujet: Re: presque le double clic   presque le double clic EmptyLun 6 Fév 2012 - 23:57

En fait pour avoir double clic, avec le programme, je pense que ça fait pareil pour d'autres, mais je dois cliquer 3 fois au lieu de 2 alors que dans la logique, 2 devraient en effet suffir
Revenir en haut Aller en bas
Nardo26

Nardo26


Nombre de messages : 2294
Age : 55
Localisation : Valence
Date d'inscription : 02/07/2010

presque le double clic Empty
MessageSujet: Re: presque le double clic   presque le double clic EmptyMar 7 Fév 2012 - 1:14

Bonsoir en fait cela ne va pas être aussi simple que cela car si l'appui sur le bouton gauche est très bref,
il n'y a pas d'événement CLICK....
Amusez vous à double cliquer sur la boite noire, vous verrez que le compteur (caption 0) ne s'incremente pas forcement...
Code:
label clk1
DIM bClick:bClick=0
picture 1:left 1,200:color 1,0,0,0
on_click 1,clk1
END

clk1:
  bClick=bClick+1
  CAPTION 0,str$(bClick)
return
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Klaus

Klaus


Nombre de messages : 12274
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

presque le double clic Empty
MessageSujet: Re: presque le double clic   presque le double clic EmptyMar 7 Fév 2012 - 1:48

C'est tout l'objet de ma dll clickintercept.dll.

Je ne voudrais pas être pessimiste, mais même Windows ne fournit pas un moyen certain de discerner un double-clic. Les auteurs même de Windows disent qu'il est impossible de savoir si l'utilisateur veut faire un double-clic ou deux ou plusieurs simple clics. En effet, nul n'est préscient.

Voilà pourquoi Windows ne fournit que l'évènement "clic gauche", "clic droit", etc. C'est à l'utilisateur de compter les clics et de mesurer le temps entre chaque clic. Il y a, dans les profondeurs du registre, une valeur qui peut servir de référence pour déterminer le temps maximal entre deux clics pour que ceux-ci soient considérés comme un seul double-clic. En plus, il faut s'assurer que les deux clics soient détectés très "proches" l'un de l'autre, dans un carré de 5 pixels, par exemple. En effet, la souris peut bouger entre les deux clics, mais on peut aussi imaginer deux clics sur une souris se déplaçant très rapidement, et il ne peut alors y avoir double_clic, même si l'intervalle de temps est court !

C'est pourquoi au niveau de ma dll, j'ai mis un écart arbitraire de 500 milli-secondes. Tout second clic intervenant moins de 500 ms après un premier clic représente un évènement "double-clic" aue je signale comme tel, et c'est alors le programme application qui est chargé d'éliminer le premier simple clic pour ne retenir que le double clic.

C'est d'ailleurs ce que font les utilitaires habituels, les langages classiques comme Visual Basic, Delphi etc: ils interceptent ces messages et les réinterprètent de cette façon. Donc, à chacun de faire sa cuisine, mais il faut bien veiller à déclencher un évènement "double-clic" lors du second reçu brièvement apèrs le premier. Et comment déclencher un tel évènement alors que Panoramic ne connaît pas cela ? Je vous livre l'astuce qie j'utilise dans mon programme de démo pour ma dll: créer un EDIT invisible avec un ON_CHANGE. Lorsqu'on décide d'avoir un double-clic, il suffit de changer le contenu de cet EDIT et l'évènement de déclenche. On peut, par exemple, lui mettre les coordonnées du clic.

Exemple de code:
Code:

label double_clic
dim double_clic% : double_clic% = 22  : ' EDIT fictif pour générer l'évènement
dim obj% : obj% = 14 : ' numéro d'objet sur lequel on veut détecter le double-clic
edit double_clic% : hide double_clic% : on_change double_clic%, double_clic
...
double_clic:
' ici, on sait qu'un a un double-clic, avec ces coordonnées dans text$(double_clic%)
...
return

...
' ici, on décide qu'on a reçu un double-clic:
text double_clic%,str$(mouse_x_left_down(obj%))+","+str$(mouse_y_left_down(obj%))
' c'est tout ce qu'il y a à faire ici !

Voilà. J'espère que je n'ai découragé personne - prenez ça plutôt comme nouvelle piste de réflexion sur le sujet.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé





presque le double clic Empty
MessageSujet: Re: presque le double clic   presque le double clic Empty

Revenir en haut Aller en bas
 
presque le double clic
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Gestion du Simple clic et du Double clic
» Le double clic
» EURÉKA! Le double clic!!!
» Une seule ligne de code (ou presque). Qui dit mieux ?
» Clics droit, gauche et double clic dans un même menu

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: