-
Clic de souris
Bonjour,
J'ai créé un évènement panel1_Click(System::Object^ sender, System::EventArgs^ e) dans un System.Windows.Forms.Panel.
Je voudrais récupérer la position de la souris (x,y) sur ce control.
Comme dois-je prosséder ? Avec System::eventargs^ e ?
Merci
-
oui, en le castant en MouseEventArgs
-
clic de souris
Bonjour,
J'ai trouvé un autre code:
Point p=panel1->PointToClient(Control::MousePosition);
Ca marche très bien, mais je pense que s'est plus lent que d'utiliser l'autre méthode.
:)
-
surement, l'événement est fait pour ca, il est judicieux de l'utiliser, tu auras accès également à d'autres infos (type du bouton cliqué, etc ...).
Mais je me rends compte que j'ai dit une connerie, cela se fait sur l'événement mouseDown
-
Clic de souris
Bonjour,
Merci pour tes réponses, je pense avoir trouvé le bon code pour la souris.
:)
-
Clic souris
Bonjour,
Personnellement je reçois comme coordonnées les coordonnées relative à l'écran et non pas relative au forms.
Que recevez-vous comme coordonnées Ecran ou Forms.
D'avance merci.
-
Bonjour,
Je ne sais exactement d'où viens ton problème, mais l'aide est clair:
on utilise pour les coordonnées absolue (écran) la fonction suivante:
Point PointToScreen (Point p) où Point p est remplacé par Point(e->X,e->Y) et e est l'évènement MouseEventArgs^ e récupérer
exemple C++ Visual d'un clic:
Point startPoint;
void Form1_MouseDown( Object^ sender, System::Windows::Forms::MouseEventArgs^ e )
{
// Set the isDrag variable to true and get the starting point
// by using the PointToScreen method to convert form
// coordinates to screen coordinates.
if ( e->Button == ::MouseButtons::Left )
{
isDrag = true;
}
Control^ control = dynamic_cast<Control^>(sender);
// Calculate the startPoint by using the PointToScreen
// method.
startPoint = control->PointToScreen( Point(e->X,e->Y) );
}
;)
-
Clic Souris
Ave helico2,
Merci de tes commentaires et c'est bien ce que je disais. De cette manière on obtient les coordonnées X et Y de la souris RELATIVE à l'écran et non par rapport à la Form dans la fenêtre du programme.
Je me fais peut-être mal comprendre alors un petit exemple :
Par rapport à l'écran la position de la fenêtre est par exemple haut gauche X=115, Y 175 et bas droit X=615, Y=715 (donc la fenêtre a comme dimension 500x600 pixels). Les coordonnées de la souris DANS la fenêtre sont par exemple X=254, Y=378.
Alors par rapport à l'écran les coordonnées seront : X=369 (254+115), Y=553 (378+175).
Les coordonnées que vous avez besoin sont peut-être les coordonnées par rapport à l'écran, personnellemnt ce sont celles par rapport à la fenêtre ou par rapport au "PictureBox" que j'aurais besoin et je n'ai pas encore trouvé l'instruction qui me les donnent.
Si vous connaissez l'instruction, elle m'aiderait grandement.
Encore merci.
-
3 pièce(s) jointe(s)
Bonjour,
Voici un test, en espérant que tu trouve ton code. Ci-joints 2 images du test de coordonées souris:
-
Clic souris
Ave Helico2,
Merci de ta réponse. Je vais l'étudier attentivement et te recontacterai.