Création d'un éditeur graphique sous borland C++

cocanash Messages postés 1 Date d'inscription lundi 11 février 2002 Statut Membre Dernière intervention 10 novembre 2003 - 10 nov. 2003 à 12:59
fredcl Messages postés 547 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 7 octobre 2007 - 12 nov. 2003 à 10:27
Mon but est de créer un logiciel de pilotage d'un système CFAO.
Donc ce qui m'incombre est là partie graphique......
Donc on doit charger un plan préalablement sauvegarder sur le Pc, et grâce à ce même plan on doit via un éditeur graphique on doit siaisr les points de perçage.

void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y)
{
Canvas->MoveTo(X,Y);
}

donc j'ai utilisé un canvas pour les mouvements de la souris (dites moi si je me trompe!!!) et maintenant je voudrais récupérer les valeurs de X et Y pour pouvoir les afficher dans un edit ou autre et ça je ne vois pas comment faire!!!!

par exemple :
la souris est en haut a gauche de ma forme j'aimerais savoir les valeurs qu'a ma souris en haut à gauche de ma form........

je vous remercie

1 réponse

fredcl Messages postés 547 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 7 octobre 2007 1
12 nov. 2003 à 10:27
Bonjour,

pour connaitre la position de la souris dans un controle (ou fenêtre) il faut utiliser la propriété évènement OnMouseMove
exemple extrait de l'aide BCB6 :
// Utiliser ce code comme le gestionnaire d'événement OnMouseMove de la fiche:

void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift, int X, int Y)
{
if (Shift.Contains(ssLeft)) // vérifie que le bouton est enfoncé
{
if (Y > StartY)
{
StatusBar1->Panels->Items[0]->Text = "Haut: " + IntToStr(StartY);
StatusBar1->Panels->Items[2]->Text = "Bas: " + IntToStr(Y);
}
else
{
StatusBar1->Panels->Items[0]->Text = "Haut: " + IntToStr(Y);

StatusBar1->Panels->Items[2]->Text = "Bas: " + IntToStr(StartY);
}
if (X > StartX)
{
StatusBar1->Panels->Items[1]->Text = "Gauche: " + IntToStr(StartX);
StatusBar1->Panels->Items[3]->Text = "Droite: " + IntToStr(X);
}
else
{
StatusBar1->Panels->Items[1]->Text = "Gauche: " + IntToStr(X);
StatusBar1->Panels->Items[3]->Text = "Droite: " + IntToStr(StartX);
}
}
}

A+

Fred
0
Rejoignez-nous