| Supplique pour un clic droit | |
|
|
Auteur | Message |
---|
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Supplique pour un clic droit Sam 17 Déc 2011 - 14:13 | |
| Ça m'ennuie (je suis poli) de ne pouvoir me servir de façon simple du clic droit de la souris. Dans Windows, le clic gauche sert en général à sélectionner un article ou valider une action, alors que le clic droit sert à toutes les fonctions particulières, informations, copier/coller, etc. Dans Panoramic, le clic gauche a en gros la même fonction, mais le clic droit est inopérant, la fonction ON_CLICK ne réagit qu'au clic gauche, et de ce fait on se prive de beaucoup de possibilités.
On peut réaliser la fonction à l'aide d'un TIMER (par exemple 300 ms) qui surveille la souris, mais je trouve que c'est très lourd d''être obligé de lancer un timer pour ça.
J'aimerais bien que le ON_CLICK réagisse indifféremment au clic gauche ou droit, à mon avis ça ne changerait rien aux programmes existants (peu importe en général que l'utilisateur ait cliqué gauche ou droit), mais ça permettrait par un test en début de sous-programme de savoir quel bouton a été cliqué, pour faire éventuellement une action différente.
Je dis ça surtout parce que je pense que ce serait une modif minime au niveau de Panoramic (enfin il me semble), et que ça pourrait rendre de grands services pour les clics de beaucoup d'objets genre LIST, quitte en général à ignorer cette possibilité (comme je disais, ça ne change rien à l'existant).
Mais si ça n'est pas d'intérêt général, je veux bien reconnaître que c'est une demande mal venue. | |
|
| |
Jack Admin
Nombre de messages : 2394 Date d'inscription : 28/05/2007
| Sujet: Re: Supplique pour un clic droit Sam 17 Déc 2011 - 16:50 | |
| - Citation :
- Mais si ça n'est pas d'intérêt général, je veux bien reconnaître que c'est une demande mal venue.
Aucune demande n'est mal venue. Ce sont les demandes postées sur ce forum qui font avancer PANORAMIC. Je vais te faire la même réponse que je viens de faire pour la "détermination de la ligne et colonne lors du clic sur un GRID": je vais regarder ce qu'il est possible de faire. C'est tout ce que je peux répondre pour le moment car je suis très loin de PANORAMIC... Mais dès que j'ai une heure ou deux devant moi, je m'y mets. | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Supplique pour un clic droit Sam 17 Déc 2011 - 17:46 | |
| Eh bien Jack, je ne peux que te remercier de prendre toutes ces demandes en considération, quel que soit leur aboutissement. Merci encore, mais... lève quand même un peu le pied pour les fêtes ! | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Supplique pour un clic droit Sam 17 Déc 2011 - 18:41 | |
| @JL35 Je viens y mettre mon grain de sel, L'idée de pouvoir intercepter le clic- droit est une bonne chose. Mais cela soulève un problème qui n'en est pas un, sauf à encore ajouter une demande, je m'explique. Dans Windows et la plupart des logiciels que je connais le clic- droit sert à ouvrir un menu déroulant que l'on appelle menu contextuel. Ce menu sera différent suivant la position de la souris, tu vas me dire JL35, pas de problème pour savoir où est la souris avec les fonctions MOUSE_X_POSITION. Bref, je ne sais pas si tu me vois venir avec mes grands sabots: Il faudrait en guise de cerise sur le gâteau une nouvelle fonction qui indiquerait lequel objet système est survolé ou cliqué. Je reprends ta demande pour être sur d'avoir bien compris. Ce que tu souhaites c'est de pouvoir savoir a n'importe quelle moment du programme si le click- droit est activé, genre ON_CLICK_RIGHT ?,clic_droit_ ?. J'ai mis volontairement le point ? en gras car à mon avis c'est là qu'est l'os, ou alors il faudra mettre cette fonction à chaque objets-système crées. Ce qui serait le top ce serait résultat=IF_CLICK_MOUSE_RIGHT_POSITION_X pour avoir la position X dans le cas d'un clic- droit et idem pour Y. Bon je pense que çà ne doit pas être simple à coder. Je pense qu'avec ce genre de réflexion on fait avancer. Pour résumer mon fouillis, c'est l'association de la position et de l'évenement qui me chagrine Pour Noël, çà risque d'être juste | |
|
| |
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Supplique pour un clic droit Sam 17 Déc 2011 - 20:25 | |
| Bonsoir, Bon je sais, c'est une DLL.... mais : MOUSE.DLL permet de récupérer les coordonnées de la souris et l'état des boutons (gauche/molette/ droit)... | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| |
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Supplique pour un clic droit Sam 17 Déc 2011 - 23:36 | |
| Je réponds d'abord à Jean Claude: non, ce n'est pas du tout ce que tu penses, je ne demande rien d'aussi compliqué. Pas de fonction supplémentaire, seulement une extension du ON_CLICK. Je n'ai pas besoin qu'on me dise quel objet a été cliqué, puisque le ON_CLICK actuel, renvoie sur un sous-programme lié à un objet particulier. Je veux seulement que le ON_CLICK existant réagisse de la même façon sur un clic gauche ET sur un clic droit. - Code:
-
LIST n: ... ON_CLICK n, Trait: ' comme actuellement ... END
Trait: ' Ici, test si c'est un clic droit ou un clic gauche, seulement si on désire différencier les deux, avec les fonctions déjà ' existantes (par ex Mouse_Right_Down, etc), et traitement en conséquence. ... RETURN Actuellement, le ON_CLICK est déclenché uniquement sur un clic gauche. @Nardo ben oui, encore une dll, mais ça ne résout pas le problème: si le On_Click Panoramic ne déclenche pas, on n'ira pas dans le sous-programme, et donc on n'ira pas tester les boutons de la souris ! Ou alors avec un Timer, mais ça on peut déjà le faire en panoramic, et c'est lourdingue. | |
|
| |
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Supplique pour un clic droit Dim 18 Déc 2011 - 8:12 | |
| Bonjour ! Je m’attendais à cette réponse JL35.... L’idéal serait peut être un ON_CLICK_RIGTH N, Procedure | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Supplique pour un clic droit Dim 18 Déc 2011 - 9:29 | |
| Ces précisions confirment que j'étais à coté de la plaque, en effet, c'est bien plus simple que ce que je pensais.
Le " ON_CLICK_RIGHT N, procedure " de NARDO résume bien ta demande JL35, avec un petit plus: on sait déjà que c'est un clic-droit.
A+ | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Supplique pour un clic droit Dim 18 Déc 2011 - 9:35 | |
| Hum, pas sûr que ce soit ce que demande JL35 d’après ce que j'ai compris. L'idée de JL35 serait plus de garder le ON_CLICK N, procédure quelque soit le bouton (gauche, milieu, droit) et de traiter dans la procédure événementielle associée (comme pour les touches)
Procédure: IF Clicked(N) = 1 then ... => On traite le bouton gauche IF Clicked(N) = 2 then ... => On traite le bouton droit IF Clicked(N) = 3 then ... => On traite le bouton du milieu (optionnel, rajout perso pour être cohérent et ne pas avoir à l'ajouter plus tard)
C'est plutôt comme ça que j'ai compris la demande de JL35 | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Supplique pour un clic droit Dim 18 Déc 2011 - 9:42 | |
| Donc pratiquement ce que fait la DLL de Nardo, sans les coordonnées. A+
PS: @NARDO je viens d'essayer ta DLL avec le fichier ".bas" fourni et çà marche nickel. j'ai ensuite désactivé le TIMER et remplacer par ON_CLICK 0,procTimer et du coup çà ne marche plus que sur le bouton gauche de la souris. Maintenant je comprends bien les limites de ON_CLICK. | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Supplique pour un clic droit Dim 18 Déc 2011 - 10:49 | |
| Oui Jean-Claude à part le fait que demande JL35 depuis le début, c'est à dire la détection du clic droit pour déclencher la procédure événementielle (déclanchée par un clic quel qu'il soit). Le problème n'est pas le traitement du clic, mais le déclenchement de la procédure, c'est ce qui dit JL35 depuis le début, seul le clic gauche déclenche l'événement ON_Click, d'où le problème. Il voudrait que tout les boutons de la souris (en l'occurence, lui ne demande que le droit en plus) déclenche la procédure que l'on peut traiter ensuite avec la DLL de Nardo ou des fonctions internes à Panoramic qui pourraient être ajoutées / modifiées.
Le problème, c'est que la DLL ne peut pas intervenir sur le déclenchement du traitement pour vérifier l'état du clic. | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Supplique pour un clic droit Dim 18 Déc 2011 - 11:49 | |
| EXACTEMENT Jicehel, tu as tout compris et je ne dirais pas mieux !
Pas d'instruction supplémentaire, c'est inutile, seulement le déclenchement du ON_CLICK actuel sur n'importe quel clic, et après on se débrouille tout seul. En général on se fiche de quel bouton a été cliqué pour déclencher l'événement (d'où le fait que ça ne changerait pas les programmes déjà faits), mais ça permettrait de faire des traitements différents en fonction du bouton cliqué.
Ça ne change pas la philosophie de l'instruction ON_CLICK : traitement de l'événement si l'utilisateur a cliqué (peu importe sur quoi). Ça ne change même pas la documentation, regardez, rien ne précise qu'actuellement c'est uniquement sur un clic gauche !
Je dis ça parce que je pense (enfin ça me paraît logique) que c'est simple à réaliser pour Jack et que ça résoudrait simplement le problème. | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Supplique pour un clic droit Dim 18 Déc 2011 - 13:06 | |
| Maintenant c'est très clair pour moi, Merci à tous. (en particulier à Jicehel) Bon Dimanche | |
|
| |
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Supplique pour un clic droit Dim 18 Déc 2011 - 13:16 | |
| Je serait plus pour quelque chose de plus général du genre: on_mouse_Event N,Procedure avec derriere une variable globale mouse_event% qui renvoie le type d'événement.
Cela permettrai de tester les boutons, le focus ou tout autres événements susceptibles d'arriver au fur et a mesure des besoins. Cela sera certainement plus simple pour Jack de rajouter par la suite des fonctionnalités sans changer/créer des nouvelles commandes...
| |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Supplique pour un clic droit Dim 18 Déc 2011 - 13:53 | |
| Certes, mais ça c'est d'une bien plus grande ampleur que ce que je demande...
Et j'en profite pour revenir sur la remarque judicieuse de Jicehel concernant le CLICKED(N) renvoyant des valeurs différentes (1, 2 et 3) suivant le bouton qui a été cliqué, ce qui faciliterait grandement les choses. | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Supplique pour un clic droit Dim 18 Déc 2011 - 14:15 | |
| Sans ajouté de nouvelles fonctions J'ai tellement hate de voir ariver les procédures, que je fais bien attention a ne pas distraire Jack (Déjà qu'il bosse sur des moteur de jeux 2D, 3D, etc ... et sur la procéduralité de Panoramic ....). J'essaye de me discipliner pour ne pas le divertir de sa quête principale afin de voir rapidement arriver les procédures et les premières librairies faite par les Panoramitiens. Je me demande quand même ce que Sputnic va apporter (certainement un gain de performance, mais aura-t-il de nouvelles fonctions ?) Enfin là, je commence à dériver, surtout ne me répondais pas sinon on va polluer ce post | |
|
| |
Contenu sponsorisé
| Sujet: Re: Supplique pour un clic droit | |
| |
|
| |
| Supplique pour un clic droit | |
|