Coordonnées du curseur de la souris suite à clic hors form [Résolu]

Signaler
-
 Utilisateur anonyme -
Bonsoir,
Mon but est de faire une sorte de règle à pixel. On clique en deux endroits sur l'écran et on obtient les deux valeurs en X.
Mon problème est que j'arrive désormais à connaître la position du curseur sur mon écran mais je n'arrive pas, par un clic (gauche par exemple) de souris à valider cette valeur.
Comment détecter un clic de souris hors form ?
Merci.
Je travaille sous Visual Basic Express 2010.

14 réponses

Messages postés
728
Date d'inscription
samedi 4 avril 2009
Statut
Membre
Dernière intervention
30 mars 2014
6
Bonjour frankinfo,

Ce que tu demandes n'est pas évident, c'est de détecter hors form un clique, mais justement, hors form tu es hors ton programme "classique" pour détecter le clique...

Alors il est sans doute possible avec un programme résident de tester en permanence la position absolue de la souris, mais bon... en plus je ne sais pas le faire...

Pour ce qui te concerne, suffit de prendre tout l'écran avec ta form pour avoir une position de souris n'importe où.

Voici le code pour avoir (dans ta form) la position relative de la souris suite à un clique gauche :


Sub Form1_MouseClick(sender As Object, e As MouseEventArgs) Handles Me.MouseClick
 If e.Button <> Windows.Forms.MouseButtons.Left Then Exit Sub
 MsgBox("Position dans la form : " & e.Location.X.ToString & " : " & e.Location.Y.ToString)
End Sub



Par contre je ne vois pas trop pourquoi tu veux faire ça, certes "pour faire une règle", oui mais, une règle pour faire quoi ?

Cordialement, Joe.
Merci pour le code dans la form.
Mon but est "simple". J'ai besoin de mesurer sur une image une distance en pixel. Cette mesure me permettra de calculer l’échantillonnage, grosso modo, la finesse de cette image. A partir de là, je serais si mon montage optique est correcte. Pour info, il s'agit d'une image planétaire acquise avec mon télescope et ma caméra (exemple ici : http://blogastro.free.fr/picture.php?/1227/category/18).
A ce jour, j'arrive à voir la position de mon curseur sur tout mon écran (en X et Y). J'ai "simplement" besoin de mémoriser ces valeurs quand je clique gauche souris.
Une alternative serait de mettre mon background de ma form transparent, de recouvrir l'image, et donc de cliquer dans ma form.
Mais pas pratique, non ?

Bonjour,

Le moyen le plus simple est d'utiliser un SplashScreen (ajout formulaire/ écran de démarrage) avec le code ci-dessous sur lequel tu pourras récupérer facilement toutes les coordonnées souhaitées voir même faire des dessins (comme si l'on dessinait sur l'écran) :
Public NotInheritable Class SplashScreen1
    Private Sub SplashScreen1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        With Me
            'agrandissement à tout l'écran
            .WindowState = FormWindowState.Maximized
            'toujours visible
            .TopMost = True
            'transparence du formulaire (plus le chiffre est bas et
               'plus il y a de transparence
            .Opacity = 0.2
        End With
    End Sub

    Private Sub SplashScreen1_MouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDoubleClick
        'fermeture au double clic
        Me.Close()
    End Sub
End Class


Et de le lancer comme ceci :
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Dim sc As New SplashScreen1
    sc.ShowDialog()
End Sub
Ok, merci pour ces infos. Je vais effectivement faire mon background transparent et cliquer dans ma for, plus simple.
Merci à vous.
Dernière question, vous savez comment maintenir la form toujours au dessus de n'importe quelle fenêtre ? Je voudrais qu’elle soit toujours visible.

Si tu avais testé mon code, tu le saurais déjà.

Ou du moins pris la peine de le lire, car c'est écrit dedans (TopMost)
Ca m'apprendra à me casser la tête pour rien.
Heu, désolé mais j'ai bien lu ton code... Seulement, je n'ai pas fais un copier/coller mais essayer de re-écrire de mon côté pour bien comprendre.
J'ai donc zappé cette commande vu que cela marchait.
Faut pas se rater les gars hein ?

Seulement, je n'ai pas fais un copier/coller mais essayer de re-écrire de mon côté pour bien comprendre.

Et comment voulais tu que je le sache
Faut pas se rater les gars hein ?

J'ai le droit ne m'énerver quand je veux et où je veux
Messages postés
728
Date d'inscription
samedi 4 avril 2009
Statut
Membre
Dernière intervention
30 mars 2014
6
Bonsoir Franck,

T'as énervé Banana, tu vas te faire jeter dans un trou noir

C'est vrai que t'aurais pu tester avant de répondre...

J'ai fait ça en astronomie (heu, "on a faitr") :

http://irolog.free.fr/irolog_vente/astronomie_v/astronomie.htm

Cordialement, Joe.

Bonsoir EhJoe,

C'est toi qui a développé cette appli ?
C'est pas mal du tout
Bon dimanche.
Messages postés
728
Date d'inscription
samedi 4 avril 2009
Statut
Membre
Dernière intervention
30 mars 2014
6
Bonsoir Banana n°32,

Oui, moi, nous... moi j'ai fait le code, un collègue de (sur le forum vb6) qui avait une agrégation de math a posé les calculs, et on s'est servi de deux livres de calculs d'astrophysique...

Pour faire ça tout seul, faut un BTS d'analyste-programmeur et un Master d'astrophysique...

Six mois de travail pour moi, le second logiciel le plus difficile après le jeu de tarot (neuf mois)...

Cordialement, Joe.
Comme je le disais, le copier-coller sans comprendre, bôf, je n'y vois pas bcp d'intérêt.
J'ai donc lu le code, essayer de comprendre et essayer de le refaire chez moi. J'ai donc zapper quelques lignes...
Mais pas de souci, je comprends la réaction
Sinon, belle appli en astronomie !
Perso, ma demande concernait cette appli :
http://villageduciel.free.fr/index.php/astrophotographie/utilitaire-de-calcul-dechantillonnage/
Le but est de mesurer la taille d'une planète sur une image que l'on a prise avec son télescope et caméra. A partir de là, on calcule l'échantillonage qui nous permettra de savoir si la caméra ne perds pas de détails par rapport au télescope. On adaptera alors la focale en fonction.
Merci pour vos conseils car cette appli fonction très bien.

Ne t'inquiète pas pour moi je m'en suis très bien remis et j'ai même repris du cassoulet
Ok, pas de souci, no problem.