Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

[Résolu] VB6 - savoir ligne sélectée dans grille avec clic droit


Invité Notpa

Messages recommandés

Bonjour à tous !

 

VB6 :

 

J'ai une form avec un contrôle Grid qui fait 10 lignes (Rows) par exemple. Si je fais un clic gauche, la variable ROW contient bien la ligne sélectionnée. Mais si je fais un clic droit (Sub cpt_grid_MouseDown...Button = 2) la variable ROW contient toujours la dernière valeur sélectionnée par un clic gauche, pas celle du clic droit.

 

Ex: Grid.Rows = 10

clic gauche sur la ligne 5 : Row = 5

clic droit sur la ligne 3 = Row = 5 (dernière sélectionnée)

 

Je suis donc obligé de faire un clic gauche pour sélectionner la ligne concernée, puis un clic droit pour être sur la bonne ligne. Pas souple et source d'erreurs...

 

Question :

Comment faire pour qu'un clic droit sur une grille renseigne la variable Row de la ligne sur laquelle j'ai cliqué ?

 

Merci de votre aide

 

Notpa

Lien vers le commentaire
Partager sur d’autres sites

Hello Tomtom !

 

Merci de ton aide. Mais trouvé la solution. Le contrôle Grid ne permet pas d'avoir la ligne sélectionnée avec un clic droit.

 

Je vais donc remplacer le contrôle Grid par le MSFlexGrid control. Plus puissant et plus souple. Lors d'un MouseDown, la variable MouseRow contient la ligne (Row) où l'on a cliqué, et ceci aussi bien avec un clic droit qu'un clic gauche.

 

Donc, mon problème est résolu !

 

Merci Tomtom et à bientôt sur les JALC !

 

Notpa

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir sebdraluorg,

 

Si, mais tout comme MouseDown, MouseUp de donne pas plus de possibilités. C'est pourquoi j'ai remplacé le control Grid par MsFlexGrid qui lui le permet, et est beaucoup plus puissant. Comme je suis en début de développement, je peux me le permettre.

 

Mais merci quand même !

 

Notpa

Lien vers le commentaire
Partager sur d’autres sites

Ah bon ? Etonnant que le MouseUp soit déclencher avant d'affecter la sélection..

Mais bon oui si tu peux te permettre un composant plus évolué pourquoi t'en priver ;)

 

Par contre, tu dis etre en "début de développement" ?

Y a -t-il une raison particuliere à devoir le faire en VB6 ? Car il est quand meme obsolete depuis un moment, il n'est plus supporté au niveau sécu et compilation depuis des années et donc obsolete pour les CPU actuels.

Il n'a d'ailleurs jamais géré le multi-threading.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour chers collègues !

 

sebdraluorg :

Etonnant que le MouseUp soit déclencher avant d'affecter la sélection

Pas trop compris. MouseUp est déclenché lorsque l'on lâche le bouton de la souris, quelque soit le bouton. La sélection se se fait qu'avec le bouton droit. C'ewst pourquoi je ne comprends pas trop ta remarque...

 

Par contre, tu dis etre en "début de développement" ?

Y a -t-il une raison particuliere à devoir le faire en VB6 ? Car il est quand meme obsolete depuis un moment, il n'est plus supporté au niveau sécu et compilation depuis des années et donc obsolete pour les CPU actuels.

Je l'écrit en VB6 car c'est un langage que je maitrise assez bien. Lorsque j'étais en activité (je suis retraité depuis 5 ans maintenant), j'ai écrit une cinquantaine de programmes en VB6, dont le plus gros fait environ 2.500 lignes de code, avec pratiquement tous les contrôles possibles (grille, graphiques, onglets, arborescence, barres de progression, feuilles MDI, menus, etc etc), le tout avec du SQL un peu partout sur bases Access (200 tables environ réparties sur une petite dizaine de bases Access).

 

Je développe maintenant chez moi pour le plaisir (je suis un peu maso !) mais n'écris plus qu'un ou deux programmes par an. Ici, je développe une appli pour la gestions des membres de l'assos d'informatique (400 personnes) dont je suis l'un des formateurs (20 profs bénévoles). Je n'ai aucun problème de compil. Quand au coté sécu, vu que ce sont des applications locales et pas pour le web, le risque est très faible. Les programmes que j'ai écrits fonctionnent toujours, et ceci sous XP, Vista et Seven. 32 bits, bien sûr. Il ne sont pas adaptés au full support du 64 bits. Mais à ce niveau, on s'en fiche !

 

Il n'a d'ailleurs jamais géré le multi-threading.

Comme je viens de le dire ci-dessus, cela n'a aucune importance pour l'emploi de ces programmes.

 

Dylav :

Notpa, tu devrais t'orienter vers VB.Net, qui a pris la suite.

Tu crois que ça vaut le coup ? Pour un ou deux petits programmes de gestion de données que j'exécute sur un seul PC ? Si je décide un jour de développer les applis sur le net, pourquoi pas, mais pour le moment, VB6 me convient totalement.

 

 

En tous cas, merci à vous deux pour vos remarques judicieuses !

 

Au plaisir

 

Notpa

Lien vers le commentaire
Partager sur d’autres sites

  • Modérateurs
Si je décide un jour de développer les applis sur le net, pourquoi pas, mais pour le moment, VB6 me convient totalement.

VB .Net est peut-être destiné aussi à développer des applications Web, mais en tout cas il permet, comme VB6, de construire des exécutables (applications locales genre MonAppli.exe) d'apparence tout à fait sympathique (boutons, listes déroulantes, zones de saisie, etc). ;)

 

Mais j'avoue que je n'en suis qu'aux balbutiements… avec le tutoriel du Site du Zéro :super:

Je ne connais pas VB6 (dans le détail), mais j'ai l'impression qu'il y a de très fortes ressemblances.

Lien vers le commentaire
Partager sur d’autres sites

Salut l'ami !

 

Une question que je me suis posé et que je me pose toujours :

 

J'ai VB6 installé (et aussi les CD officiels ainsi que le MSDN), si j'installe le VB.NET ou VB Express, est-ce qu ce ne pas pas me mettre la grouille dans VB6 ? Il peut y avoir des conflits de DLL, d'OCX et je ne sais quoi encore. Ce qui risquerait de perturber mes pgms VB6 de fonctionner.

 

Autre question : si VB Express est gratuit, qu'en est-il de VB.NET ?

 

Pour le moment, VB6 me suffit, mais on ne peut pas savoir de quoi l'avenir sera fait...

 

;)

 

Notpa

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...