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 :

Position de la souris au dernière appuis sur le bouton gauche de la souris


Sujet :

VB 6 et antérieur

  1. #1
    Nouveau membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 35
    Points : 27
    Points
    27
    Par défaut Position de la souris au dernière appuis sur le bouton gauche de la souris
    Bonjour ,

    Alors voila je cherche en ce moment à récupérer la position de la souris AU MOMENT du dernier appuis sur le bouton gauche de la souris (si possible, j'explique pourquoi plus bas mais si vous avez une autre solution je suis preneur)

    Déjà ce qui me fait dire que c'est possible :
    http://www.developpez.net/forums/d21...niere-globale/
    Sur ce topic bossun (je l'es contacté) à l'aire sur de lui quand il dit :
    "la moindre petite action que tu génère crée des messages dans ton OS que tu peux récupérer par après"
    Donc je me dit que sa pourrais me permettre de corrigé un petit problème que je rencontre actuellement
    J'imagine qu'une API existe....

    Le problème que je veut corrigé :
    Je cherche à interdire le déplacement des graphique dans un MSChart (VB6) pour cela j'utilise l'API mouse_event pour forcé le relâchement du click gauche au moment de la sélection d'une liste (ou d'un point). Ce qui fonctionne très bien. Donc je veut maintenant me crée une classe qui prendras en charge la gestion de tout les MSChart de mon appli (pck il y en à ÉNORMÉMENT en final ). Problème si l'événement sélect d'une liste déclaré sur la form met du temps à s'exécute (et une simple mise à jours du caption d'un label suffi) alors l'utilisateur pourras déplacé (très légèrement dans le cas de la maj de label, mais trop quand même) la liste (effet très visible en camembert).
    Donc il fraudais que :
    - soit l'événement de ma classe soit exécuté le 1er.
    - soit que je connaisse la position de la souris au moment de l'appuis et acini la remettre en place avent le relâchement forcé.
    - soit sauvegardé et repositioné les éléments du graph mais je n'es pas trouvé de propriété accésible dans les MSChart pour faire sa non plus

    J'espère avoir été claire sur mon problème

    Bonne prog
    Amicalement

  2. #2
    Nouveau membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 35
    Points : 27
    Points
    27
    Par défaut
    Bon bà la solution est toute bête en faite

    J'utilise l'évènement "mouse_down" qui reçois le X et Y du pointeur en pixel sur le form. Il suffi donc de les sauvegarder pour les restaurer le moment voulut.
    Ma fonction de placement du pointeur (Toujours en VB6) :

    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
     
    Private Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long
     
     
    Public Sub MousePlaceSourisForm(ByVal ScaleX As Long, ByVal ScaleY As Long, ByRef FormParent As Form, Optional ModePositionXY As ScaleModeConstants = vbTwips)
        Dim Xpos As Long
        Dim Ypos As Long
     
        Dim TailleBordure As Long
        Dim TailleTitre As Long
     
        TailleBordure = FormParent.ScaleX(FormParent.Width, vbTwips, vbPixels)
        TailleBordure = TailleBordure - FormParent.ScaleX(FormParent.ScaleWidth, FormParent.ScaleMode, vbPixels)
        TailleBordure = TailleBordure / 2
     
        TailleTitre = FormParent.ScaleY(FormParent.Height, vbTwips, vbPixels)
        TailleTitre = TailleTitre - FormParent.ScaleY(FormParent.ScaleHeight, FormParent.ScaleMode, vbPixels)
        TailleTitre = TailleTitre - TailleBordure
     
        Xpos = FormParent.ScaleX(ScaleX, ModePositionXY, vbPixels)
        Xpos = Xpos + FormParent.ScaleX(FormParent.left, vbTwips, vbPixels) + TailleBordure
     
        Ypos = FormParent.ScaleY(ScaleY, ModePositionXY, vbPixels)
        Ypos = Ypos + FormParent.ScaleY(FormParent.tOp, vbTwips, vbPixels) + TailleTitre
     
        SetCursorPos Xpos, Ypos
    End Sub
    Bonne prog à tous

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

Discussions similaires

  1. service windows et detection d'appui sur le bouton "del" du clavier?
    Par Jayceblaster dans le forum Windows Forms
    Réponses: 25
    Dernier message: 06/11/2007, 16h32
  2. [Lazarus] Attendre l'appui sur un bouton
    Par Brupio dans le forum Lazarus
    Réponses: 4
    Dernier message: 20/06/2007, 21h23
  3. Tester l'appui sur un bouton de 3s
    Par themacprod dans le forum C
    Réponses: 5
    Dernier message: 31/05/2007, 11h01
  4. Intercepter l'appuie sur le bouton "Envoyer" d'Outlook
    Par Charette dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 14/10/2005, 14h24
  5. Comment détecter quand un utilisateur appuie sur le bouton Power ?
    Par Millenod dans le forum API, COM et SDKs
    Réponses: 7
    Dernier message: 22/09/2005, 21h05

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