IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

[VB6] menu contextuel sur clique droit souris


Sujet :

VB 6 et antérieur

  1. #1
    Membre à l'essai

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 15
    Points : 14
    Points
    14
    Par défaut [VB6] menu contextuel sur clique droit souris
    bonjour a tous,

    j'aimerais créer un menu contextuel sur le clique droit de ma souris. Mais le probleme c'est que j'utilise un OCX de visualisation moleculaire et je voudrais que le menu de la souris soit pour cet OCX.
    Le probleme c'est que l'OCX ne contient pas l'evenement Mouse_Click()

    Est ce qu'il y a un moyen de contourner ce probleme, du genre utiliser l'evenement Mouse_Clique de ma form et pouvoir l'appliquer a mon OCX ??????


  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    Detecter l'appui sur la touche droite de la souris en passant par une api ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    Fonction GetKeyState
     
    Declare Function GetKeyState Lib "user32" ( _
                     ByVal nVirtKey As Long) As Integer 
    Versions :
    . Windows 95/98 : Oui
    . Windows NT : A partir de 3.1
    . Windows 2000/XP : Oui
     
    Description :
    La fonction GetKeyState retourne le status de la touche virtuelle (virtual-key code) spécifiée. Autrement dit, cette fonction permet de savoir si une touche est enfoncée (toutes les touches du clavier et les boutons de la souris). 
    nVirtKey est la touche à tester (voir le tableau de constantes ci-dessous). 
    La fonction retourne 0 ou 1 lorsque la touche est inactive sinon -128 ou -127 lorsque la touche est enfoncée.
     
     
     
    Constante Valeur Définition 
    VK_F9 78 Touche f9 
    VK_F8 77 Touche f8 
    VK_F6 75 Touche f6 
    VK_F7 76 Touche f7 
    VK_F5 74 Touche f5 
    VK_F4 73 Touche f4 
    VK_F3 72 Touche f3 
    VK_F2 71 Touche f2 
    VK_F1 70 Touche f1 
    VK_DIVIDE 6F Touche "division". 
    VK_DECIMAL 6E Touche séparateur décimal. 
    VK_SUBTRACT 6D Touche "soustraction". 
    VK_SEPARATOR 6C Touche de séparation. 
    VK_ADD 6B Touche "addition". 
    VK_MULTIPLY 6A Touche "multiplication". 
    VK_NUMPAD9 69 Touche 9 (clavier numérique). 
    VK_NUMPAD8 68 Touche 8 (clavier numérique). 
    VK_NUMPAD7 67 Touche 7 (clavier numérique). 
    VK_NUMPAD6 66 Touche 6 (clavier numérique). 
    VK_NUMPAD5 65 Touche 5 (clavier numérique). 
    VK_NUMPAD4 64 Touche 4 (clavier numérique). 
    VK_NUMPAD3 63 Touche 3 (clavier numérique). 
    VK_NUMPAD2 62 Touche 2 (clavier numérique). 
    VK_NUMPAD1 61 Touche 1 (clavier numérique). 
    VK_NUMPAD0 60 Touche 0 (clavier numérique). 
    VK_APPS 5D Touche Windows applications (Microsoft Natural Keyboard). 
    VK_RWIN 5C Touche Windows droite (Microsoft Natural Keyboard). 
    VK_LWIN 5B Touche Windows gauche (Microsoft Natural Keyboard). 
    VK_Z 5A Touche z 
    VK_Y 59 Touche y 
    VK_X 58 Touche x 
    VK_W 57 Touche w 
    VK_V 56 Touche v 
    VK_U 55 Touche u 
    VK_T 54 Touche t 
    VK_S 53 Touche s 
    VK_R 52 Touche r 
    VK_Q 51 Touche q 
    VK_P 50 Touche p 
    VK_O 4F Touche o 
    VK_N 4E Touche n 
    VK_M 4D Touche m 
    VK_L 4C Touche l 
    VK_K 4B Touche k 
    VK_J 4A Touche j 
    VK_I 49 Touche i 
    VK_H 48 Touche h 
    VK_G 47 Touche g 
    VK_F 46 Touche f 
    VK_E 45 Touche e 
    VK_D 44 Touche d 
    VK_C 43 Touche c 
    VK_B 42 Touche b 
    VK_A 41 Touche a 
    VK_9 39 Touche 9 
    VK_8 38 Touche 8 
    VK_7 37 Touche 7 
    VK_5 35 Touche 5 
    VK_6 36 Touche 6 
    VK_3 33 Touche 3 
    VK_4 34 Touche 4 
    VK_1 31 Touche 1 
    VK_2 32 Touche 2 
    VK_0 30 Touche 0 
    VK_HELP 2F Touche "aide". 
    VK_DELETE 2E Touche "Suppression". 
    VK_INSERT 2D Touche insertion. 
    VK_SNAPSHOT 2C Touche impression écran. 
    VK_EXECUTE 2B Touche "exécution". 
    VK_SELECT 29 Touche "selection". 
    VK_DOWN 28 Flèche curseur bas. 
    VK_RIGHT 27 Flèche curseur droit. 
    VK_UP 26 Flèche curseur haut. 
    VK_LEFT 25 Flèche curseur gauche. 
    VK_HOME 24 Touche "début". 
    VK_END 23 Touche "fin". 
    VK_NEXT 22 Touche "page bas". 
    VK_PRIOR 21 Touche "page haut". 
    VK_SPACE 20 Touche Espace. 
    VK_ESCAPE 1B Touche Echap. 
    VK_CAPITAL 14 Touche verrouillage majuscule. 
    VK_PAUSE 13 Touche "Pause". 
    VK_MENU 12 Touche "Alt". 
    VK_CONTROL 11 Touche "Control". 
    VK_SHIFT 10 Touche "Shift". 
    VK_RETURN 0D Touche "Entrée". 
    VK_CLEAR 0C Touche d'effacement. 
    VK_TAB 09 Touche tabulation. 
    VK_BACK 08 Touche retour arrière. 
    VK_MBUTTON 04 Bouton du milieu de la souris (le 3ème boutton). 
    VK_CANCEL 03 Control-break. 
    VK_RBUTTON 02 Bouton droit de la souris. 
    VK_LBUTTON 01 Bouton gauche de la souris. 
    VK_F10 79 Touche f10 
    VK_F11 7A Touche f11 
    VK_F12 7B Touche f12 
    VK_F13 7C Touche f13 
    VK_F14 7D Touche f14 
    VK_F15 7E Touche f15 
    VK_F16 7F Touche f16 
    VK_F17 80H Touche f17 
    VK_F18 81H Touche f18 
    VK_F19 82H Touche f19 
    VK_F20 83H Touche f20 
    VK_F21 84H Touche f21 
    VK_F22 85H Touche f22 
    VK_F23 86H Touche f23 
    VK_F24 87H Touche f24 
    VK_NUMLOCK 90 Touche verrouillage numérique. 
    VK_SCROLL 91 Touche verrouillage défilement. 
    VK_ATTN F6 Touche "Attn". 
    VK_CRSEL F7 Touche "CrSel". 
    VK_EXSEL F8 Touche "ExSel". 
    VK_PLAY FA Touche "Play". 
    VK_ZOOM FB Touche "Zoom". 
    VK_NONAME FC Reservé. 
    VK_PA1 FD Touche PA1. 
     
    Exemple d'utilisation :
     
    ' Exemple de Philippe Plançon : plancon@onetelnet.fr
     
    ' Coordonnées d'un point de l'écran
    Private Type POINTAPI
        x As Long
        y As Long
    End Type
     
    ' Retourne la position de la souris sur l'écran
    Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
     
    ' Teste si une touche est enfoncée
    Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
     
    ' Déclaration des touches
    Const VK_LBUTTON = 1 ' Left mouse button
     
    Private Sub Timer1_Timer()
     
        ' Déplacez-vous où vous voulez et appuyez sur le bouton gauche
        ' de la souris et hop on sait tout quand on veut
     
        '---Déclaration des variables---
        Dim Coord As POINTAPI
        '---Affiche les coordonnées du curseur de la souris---
        If GetKeyState(VK_LBUTTON) >= 0 Then
            Me.Caption = "Bouton gauche de la souris relaché"
        Else
            GetCursorPos Coord
            Me.Caption = "Bouton gauche de la souris enfoncé : x = " & _
                         Coord.x & " , y = " & Coord.y
        End If
    End Sub
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre à l'essai

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 15
    Points : 14
    Points
    14
    Par défaut
    merci SpaceFrog je vais l'essayer
    une autre question
    comment je fais un menu contextuel de souris.

  4. #4
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    avec l'editeur de menu en visible = false
    Vous vous posez une question, la réponse est peut-être ici :
    Toutes les FAQs VB
    Les Cours et Tutoriels VB6/VBScript
    Les Sources VB6


    Je ne réponds pas aux questions techniques par MP. Utilisez les forums. Merci de votre compréhension

  5. #5
    Membre à l'essai

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 15
    Points : 14
    Points
    14
    Par défaut
    ok merci pour tout

    j'essay tout ça demain et je vous tiens au courant.
    en attendant je laisse le post a NON RESOLU par precaution peut etre

  6. #6
    Membre à l'essai

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 15
    Points : 14
    Points
    14
    Par défaut
    Question : quel est le rapport entre un Point de type PointApi et un twips :
    Car sur msdn, il est dit q'un twip est egal un 1/20 de point mais cela n'est pas vrai !!!

  7. #7
    Rédacteur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2002
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 608
    Points : 1 561
    Points
    1 561
    Par défaut
    GetCursorPos te donne une position en pixels. Le rapport entre pixels et twips dépend de ta résolution (cf les propriétés de l'objet Screen TwipsPerPixelX et TwipsPerPixelY)

  8. #8
    Membre à l'essai

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 15
    Points : 14
    Points
    14
    Par défaut
    beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 10/01/2014, 09h25
  2. [XL-97] Ne pas afficher menu contextuel sur clic droit si utilisé pour Macro
    Par jehhej dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/02/2011, 11h52
  3. menu contextuel sur click droit
    Par fouxy dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 13/04/2008, 16h40
  4. Afficher un menu contextuelle sur le click droit d'une image
    Par PrinceMaster77 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/01/2006, 12h19
  5. Ajout de menu perso sur clique droit de la souris !!
    Par Kyp dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 09/12/2005, 17h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo