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.NET Discussion :

Curseurs: position du pixel qui renvoi e.x,e.y


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 44
    Par défaut Curseurs: position du pixel qui renvoi e.x,e.y
    Salut à tous !

    Toujours mes problèmes de curseurs…

    Comme une icône, un curseur se définit géométriquement par la position de son angle supérieur gauche, et la dimension de ses 2 cotés , mais il doit aussi renvoyer les coordonnées de la souris qui varient selon le curseur :
    Le centre pour cur_cross ,la pointe de la flèche située au 2/3 pour le curseur courant etc…

    Comment obtenir (ou définir lorsque l’on crée un curseur), la position de ce point de « Cliquage » ?

  2. #2
    Inactif  
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    497
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 497
    Par défaut
    Si j'ai bien compris, récuperer la position du Click de la souris, dans une composant ?

    tu traites l'evenement ClickMouse, qui récupere a cette instant les positions de x,y !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub MouseClickPosition(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles "NomComposant".MouseClick
            MsgBox(e.X & "-" & e.Y)
        End Sub
    "NomComposant" = Un label, ou une image, ou un Formulaire, ou une Form, ect ...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 44
    Par défaut
    Non, ce n ‘est pas ça.

    Quant tu regarde un curseur sur ton écran, tu ne vois que la partie qu’on veut bien te montrer, le flèche, la croix, mais ton curseur est un petit carré sur lequel est dessinée cette image. Si tu ne vois pas le carré, c’est qu‘il est transparent (en fait à chaque déplacement, on repeint le fond d’écran autour de l’image).
    Sur ce carré, il y a un point, un pixel important, la pointe de la flèche, le centre de la croix par exemple : ce sont les coordonnées de ce point qui sont renvoyés par la souris et non les coordonnées du coin haut gauche(1).
    Ce pixel n’est pas le même d’un curseur à un autre. Pour la « cross » il est au milieu, pour le « default », il est au 1/3 en x et y, pour « size_all » ailleurs encore.

    C’est la position de ce pixel par rapport au bord supérieur gauche, que je n’arrive pas à récupérer.

    N’ayant pas réussi à «cloner » le curseur, je l’ai dessiné dans une picturebox transparente que je déplace simulant ainsi le curseur. Mais je ne récupère que le bord supérieur gauche. Il me faut corriger ces coordonnées, car je n’ai pas pointé avec le bord supérieur gauche, mais avec un détail de l’image du curseur ,la pointe de la flèche par exemple (qui n’est pas toujours le milieu du carré!).

    J ‘ espère avoir été plus clair ?

    Merci d’avance !


    (1) constaté expérimentalement.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 44
    Par défaut
    Eurêka !

    J’ai la solution !
    Mon pixel particulier porte le nom de zone réactive.
    Il peut être obtenu par la propriété hotspot.

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim instancecursor As Cursor = Cursors.Default
    MsgBox(instancecursor.HotSpot.X & " " & instancecursor.HotSpot.Y)
    End Sub

    Msdn

    De plus en l'utilitaire de création de curseurs fourni avec visual studio vous permet de définir connaître ou modifier cette zone réactive.

    Lire MSDN

    http://msdn2.microsoft.com/fr-fr/lib...x8(VS.80).aspx


    Merci à tous,
    A bientôt


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

Discussions similaires

  1. qui renvoi toujours la valeur positive d'un nombre
    Par juJuv51 dans le forum Langage
    Réponses: 4
    Dernier message: 06/03/2007, 04h17
  2. Position en pixel du curseur dans un TextBox
    Par nihaoma dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 02/02/2007, 13h51
  3. [9i] PLS-00320 avec une fonction qui renvoi un curseur
    Par hoaxpunk dans le forum Oracle
    Réponses: 5
    Dernier message: 09/02/2006, 17h04
  4. Problème requête qui renvoie plusieurs
    Par dai.kaioh dans le forum Langage SQL
    Réponses: 6
    Dernier message: 01/04/2004, 10h07
  5. [VB6] Comment faire une fonction qui renvoie 2 résultats
    Par tazarine dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 15/01/2004, 00h13

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