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

frankinfo - 8 déc. 2012 à 00:11 - Dernière réponse :  Utilisateur anonyme
- 10 déc. 2012 à 12:24
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.
Afficher la suite 

Votre réponse

14 réponses

ehjoe 728 Messages postés samedi 4 avril 2009Date d'inscription 30 mars 2014 Dernière intervention - 8 déc. 2012 à 09:07
0
Merci
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.
Commenter la réponse de ehjoe
0
Merci
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 ?
Commenter la réponse de frankinfo
Utilisateur anonyme - 8 déc. 2012 à 13:04
0
Merci
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
Commenter la réponse de Utilisateur anonyme
0
Merci
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.
Commenter la réponse de frankinfo
Utilisateur anonyme - 8 déc. 2012 à 14:47
0
Merci
Si tu avais testé mon code, tu le saurais déjà.
Commenter la réponse de Utilisateur anonyme
Utilisateur anonyme - 8 déc. 2012 à 14:48
0
Merci
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.
Commenter la réponse de Utilisateur anonyme
0
Merci
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 ?
Commenter la réponse de frankinfo
Utilisateur anonyme - 8 déc. 2012 à 15:10
0
Merci
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
Commenter la réponse de Utilisateur anonyme
ehjoe 728 Messages postés samedi 4 avril 2009Date d'inscription 30 mars 2014 Dernière intervention - 8 déc. 2012 à 19:45
0
Merci
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.
Commenter la réponse de ehjoe
Utilisateur anonyme - 8 déc. 2012 à 21:54
0
Merci
Bonsoir EhJoe,

C'est toi qui a développé cette appli ?
C'est pas mal du tout
Bon dimanche.
Commenter la réponse de Utilisateur anonyme
ehjoe 728 Messages postés samedi 4 avril 2009Date d'inscription 30 mars 2014 Dernière intervention - 8 déc. 2012 à 22:08
0
Merci
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.
Commenter la réponse de ehjoe
0
Merci
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.
Commenter la réponse de frankinfo
Utilisateur anonyme - 10 déc. 2012 à 12:24
0
Merci
Ne t'inquiète pas pour moi je m'en suis très bien remis et j'ai même repris du cassoulet
Commenter la réponse de Utilisateur anonyme
-2
Merci
Ok, pas de souci, no problem.
Commenter la réponse de frankinfo

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.