Discussions au sujet des autres produits NI

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

click droit sur table

Bonjour,

Je cherche à creer deux evenements sur les click droit de la souris

action1 si click droit dans colonne station :  choix dans une liste de ville d'un ring menu et insertion du nom choisi sur cette ligne

action 2 si click droit dans date de debut ouverture du calendrier pour chosir une date de debut et insertion sur la ligne


J'ai essayer de degrossir mais ça commence pas bien, j'obtiens pas les coordonnées de la cellule pointée, et je filtre pas sur le click droit...

Je veux bien un peu  d'aide  pour  detecter  les evenement click droit colonne 1 et click droit colonne 2

Merci d'avance

Cordialement

Tinnitus







CLAD / Labview 2011, Win Xp
------------------------------------------------------
Mission d'une semaine- à plusieurs mois laissez moi un MP...
RP et Midi-pyrénées .Km+++ si possibilité de télétravail

Kudos always accepted / Les petits clicks jaunes sont toujours appréciés
Don't forget to valid a good answer / pensez à valider une réponse correcte
0 Compliments
Message 1 sur 13
4 983 Visites
Bonjour,

Le début du VI est OK :

- le filtre sur le click droit avec le numérique "bouton" c'est une bonne idée.  2 = click droit
- les coordonnées du click peuvent être prises avec "Coords" - C'est pas très elegant mais si le tableau ne bouge pas (position, taille), on peut faire un filtre sur les coordonnées horizontales.

Collone 1 : entre 95 et 220 pour horizontal
Colonne 2 : entre 220 et 346 pour horizontal

De plus dans le VI actuel, pour filtrer sur le click droit, il faut juste changer "Différent" en "Egal".

Voila, j'espère que cela va vous aider.

Par contre ce qui m'inquiète c'est la suite...ça sera pas facile, mieux vaut peut être partir sur un cluster.

Bon courage !

Cordialement,
Christophe
0 Compliments
Message 2 sur 13
4 972 Visites
Bonjour,

Pour le filtrage, que je mette egal ou different l'action se deroule quand même ( a=a+1)  ?

Bon mais c'est pas le plus important ce qui m'ennuie le plus c'est de recuperer les coordonnées de la cellule sur laquelle s'est produit le click

Ca doit surement etre possible de gerer en pixels mais j'ai l'impression de reinventer l'eau tiede ! non  et comme tu dis si j'ai le malheur de deplacer la table ....
c'est pas possible  de recuperer les coordonnée "cellules" 1,2  2,2   3,2  ?

Cordialement

Tinnitus

nouveau vi :



CLAD / Labview 2011, Win Xp
------------------------------------------------------
Mission d'une semaine- à plusieurs mois laissez moi un MP...
RP et Midi-pyrénées .Km+++ si possibilité de télétravail

Kudos always accepted / Les petits clicks jaunes sont toujours appréciés
Don't forget to valid a good answer / pensez à valider une réponse correcte
0 Compliments
Message 3 sur 13
4 969 Visites
bonjour,
comme je n'ai a ma disposition que la version 8,2 je n'ai pas pu ouvrir ton vi, mais d'après ce que j'ai compris voici un élément de réponse susceptible de te rendre service (ou alors à d'autres...):
j'ai fait directement un screen de mon vi sans l'adapter au tiens, par exemple la condition d'évènement change dans ton cas puisque ce sera pour un clic de souris et non pour un déplacement de souris dans le miens etc...mais l'essentiel est lisible.
Bref conférer image attachée.
Message 4 sur 13
4 965 Visites
mince j'ai pas fais attention que tu bosses sur une table et pas sur une liste mais c'est pas grave y a la même méthode "PointEnLigne-Colonne" pour les tables.
cf vi joint.


Message Edité par dops le 07-17-2008 12:18 PM

Message Edité par dops le 07-17-2008 12:20 PM
0 Compliments
Message 5 sur 13
4 959 Visites
Bonjour,

Merci Dops, je crois que j'aurais pu chercher un moment , j'ai pas encore le reflex de passer par les methodes!!!

Bon j'arrive à faire des choses mais c'est pas encore ça

1) j'arrive toujours pas a  n'agire que sur le click droit car il m'affiche un menu qui lest propre à l'interface : "retablir la valeur par defaut , copier les données ..."
je suis donc passer sur le click gauche c'est mieux mais le ring menu apparait quand même sur un click droit !!!! j'ai été obligé d'utiliser un case ???

2) le menu fait un choix de ville sur une valeur changée , ce qui fait que si je faix deux fois le même choix , la selection ne se fait pas et mon menu reste apparant
puisque pas de nouvelle valeur  detectée, jaimerais bien qu'il me valide mon choix même si c'est le même que precedement, il aurait bien la solution de creer une case
vide et de repointer dessus a chaque fois mais c'est pas très elegant.

ici la nouvelle version en 8.2

Cordialement

Tinnitus



CLAD / Labview 2011, Win Xp
------------------------------------------------------
Mission d'une semaine- à plusieurs mois laissez moi un MP...
RP et Midi-pyrénées .Km+++ si possibilité de télétravail

Kudos always accepted / Les petits clicks jaunes sont toujours appréciés
Don't forget to valid a good answer / pensez à valider une réponse correcte
0 Compliments
Message 6 sur 13
4 902 Visites
le même que precedement sauf que j'ai ajouté le calendrier : j'arrive même pas à mettre a jour l'indicateur  !!!

Cordialement

Tinnitus

vi en 8.2
CLAD / Labview 2011, Win Xp
------------------------------------------------------
Mission d'une semaine- à plusieurs mois laissez moi un MP...
RP et Midi-pyrénées .Km+++ si possibilité de télétravail

Kudos always accepted / Les petits clicks jaunes sont toujours appréciés
Don't forget to valid a good answer / pensez à valider une réponse correcte
0 Compliments
Message 7 sur 13
4 895 Visites
bonjour,
j'ai pu ouvrir ta version 8,2 je comprends mieux Smiley tirant la langue.
La version jointe ci-dessous fait le boulot mais avec des modifications de ta version.
Quelques explications (après tu prends ce qui t'intéresse) :

1) amha il vaut mieux éviter de trop utiliser les noeuds de propriétés pour manipuler tes commandes. Je parle de la table essentiellement. Au lieu de remplir à chaque boucle la table par son noeud de propriété, il est davantage dans l'esprit de la programmation Labview de la remplir par un flux de données franc et clairement lisible , le gros cable rose qui traverse l'écran avec un registre à décalage dans mon vi. Le noeud de propriété est utilisé une fois au début ( hors de la boucle) pour initialiser la table.
1bis) pour ce qui est des variables elles sont à proscrire . les variables c'est le MAL ! Il faut les éviter autant que possible. Il faut rester le plus possible dans le flux de données.
 Donc pfiiout adieu les variables dans la version proposée.

2) ensuite j'ai compris que tu préférais utitliser un clic droit pour éditer ton tableau. Dans ce cas il est peut-être préférable d'uitliser directement la fonction d'édition de menu contextuel pour une commande au lieu de créer un popup. ça paraît plus propre. Pour ce faire, il suffit d'un clic droit sur la table dans la face-avant en mode édition, "avancé > menu local d'exécution > éditer". Le fichier rtm correspondant que j'ai enregistré est joint. Tu pourras l'éditer en le rouvrant selon la même procédure.
Attention il s'agit d'une édition statique (avant le run) du menu contextuel de la commande. Tu peux aussi procéder à une édition dynamique (par programmation ) . Consulter l'aide.
Attention !! Il faut désactiver ce menu hors de la colonne 1. C'est pourquoi j'utilise une condition d'évènement Filtre ("Activation d'un menu local ?"): dans le cas où la colonne cliquée est autre que 1, l'évennement est zappé par labview (via la valeur TRUE envoyée au terminal "annuler ?")

3)bon y a un soucis: j'ai vu que tu souhaitais faire apparaître le calendrier à la position du clic. Le problême c'est que dans ma version ça fait appraître le menu contextuel du contol .NET. c'est plutot pénible. J'ai cherché à supprimer ce fichu menu via les propriétés "Contextmenu" ou "contextmenustrip"  (Clear() et autres méthodes) mais ça plante. Je sais pas faire et j'aimerais bien si quelqu'un peut nous montrer ...
 Le truc qui marche c'est de faire apparaître le calendrier hors de la zone graphique de la table (à une position fixe par exemple) mais t'as pas l'air d'y tenir. Donc à toi de trouver comment éviter ce fichu menu qui ne fait qu'une ligne mais qui gène .

4) dernier détail : pour faciliter la saisie, j'ai fait apparaître la sélection de la case cliquée (genre case entourée), au moyen des propriétés "débutSél" et "TailleSél". C'est un détail.
5) j'ai un peu documenté le vi.

Voilà quelques pistes dont tu peux t'inspirer à ta guise. Smiley clignant de l'œil

Bonne route.



Message Edité par dops le 07-19-2008 12:11 PM

Message Edité par dops le 07-19-2008 12:13 PM
0 Compliments
Message 8 sur 13
4 870 Visites
petit plantage quand on clique-droit ailleurs que sur le calendrier qd il est ouvert. c'est réparé avec ce fichier joint: si la souris sort du calendrier celui-ci se referme.
c'est bon  là j'arrète Smiley heureux
Message 9 sur 13
4 860 Visites
Drnière mise à jour.
Problème du menu contextuel du calendrier résolu. Smiley clignant de l'œil
 A présent le popup apparaît bien centré sur le pointeur de la souris. Pas de plantage. Puisque le popu est disparait dès que la souris sort. J'ai intercalé une event struture pour la condition "souris relachée" avant la structure du calendrier. Car sinon labview trop rapide passait à la séquence du calendrier avant que l'utilisateur ait relaché son bouton (c'est imperceptible mais ça déclenchait le menu contextuel du calendrier).

Dernières remarques: pourquoi avoir chpoisi l'event "dateselected " plutot d'un simple "onclick sur monthcalendar" ->L'avantage de l'enregistrement d'évènement du controle.net (dateselected) c'est qu'il permet de changer de mois ou d'année.
Pour ce qui est de  laforme générale une machine d'état semble plus adequat que cette juxtaposition de structure.

Enfin ça mrche, c'est l'essentiel.
Smiley heureux

Smiley heureux

0 Compliments
Message 10 sur 13
4 799 Visites