PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 2024 → Menu contextuel sur des tables
Menu contextuel sur des tables
Iniciado por guest, ago., 16 2005 3:45 PM - 2 respostas
Publicado em agosto, 16 2005 - 3:45 PM
Bonjour,

j'ai plusieurs tables (qui sont clonées), en cliquant droit j'appelle un menu contextuel qui est différent selon : le numéro de la table et l'indice de la ligne.
Je récupère l'indice de la ligne en faisant :
NumLigneSelect = TableInfoXY(MoiMême, tiNumLigne , SourisPosX(),SourisPosY())

Ca fonctionne. Je clique droit le menu contextuel s'ouvre. Le problème c'est que si je clique droit ailleurs sans avoir cliquer gauche (et donc fermé le menu) ça plante. NumLigneSelect=-1 !

Je sais pas si je suis très clair :
J'ouvre le menu contextuel, je le referme en cliquand ailleurs, je le réouvre OK.
mais si : j'ouvre, je le laisse ouvert, je veux en ouvrir un autre ailleurs : ça plante.

Comment faire pour le refermer automatiquement ??

J'ai essayé de simuler un clic gauche avec la fonction envoietouche mais je n'arrive pas à la faire marcher.

Quelqu'un a-t-il une solution ??

Merci d'avance.
Publicado em agosto, 16 2005 - 5:08 PM
Bonjour,

J'ai eu le même problème la semaine dernière.

Je l'ai réglé en mettant le code suivant dans la balise "AFFICHAGE MENU CONTEXTUEL" (WM_CONTEXTMENU) de la table concernée (et non dans la balise "BOUTON DROIT ENFONCE")

NumLigneClickDroit est un entier = TableInfoXY(MoiMême,tiNumLigne+tiOrigineEcran,SourisPosX(),SourisPosY())

TableSelectPlus(MoiMême,NumLigneClickDroit)

(ne pas oublier le +tiOrigineEcran dans l'instruction TableInfoXY)

Cordialement,

Dimitri gregorevitch
Publicado em agosto, 16 2005 - 6:55 PM
C'était bien la solution.
Merci beaucoup.