Ca y est j'ai trouvé ! Pour info :
Suffit effectivement de récupérer les coord avec
GetCursorPos(&pos);
puis de les transformer en coord. par rapport a la fiche grace a la fct ScreenToClient :
Xclient = ScreenToClient(pos).x;
Yclient = ScreenToClient(pos).y;
(il existe aussi ClientToScreen)
Voilà, ça fait plaisir quand on trouve (alors si ca peut aider qqn..) !
MLine ;)
-------------------------------
Réponse au message :
-------------------------------
> non lol !! c'est pas du tout flexible comme interface si tu peux pas déplacer les fenetres ...
> MLine ;)
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > ou alors avec GetCursorPos, fais en sorte de ne pas deplacer la form lol, genre form sans les bords :)
> > a+
> >
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > essaye GetCursorValues:
> > >
> > > Passe le nom de chaque constante de curseur prédéfinie à un rappel. > > > > > > Unité > > > > > > Controls > > > > > > Catégorie > > > > > > routines de gestion du curseur > > > > > > extern PACKAGE void __fastcall GetCursorValues(Classes::TGetStrProc Proc); > > > > > > Description > > > > > > Appelez GetCursorValues pour exécuter un rappel pour chaque constante de curseur intégrée à la VCL. Le paramètre Proc est la fonction de rappel appelée pour chaque nom de constante de curseur. > > > > > > Remarque : Pour convertir en curseurs les chaînes passées à la procédure de rappel, utilisez IdentToCursor. Pour convertir un curseur en nom de constante qui puisse être comparé à la chaîne passée à la procédure de rappel, utilisez CursorToIdent. > > > |
> > >
> > > ce texte j'ai trouvé dans l'aide de Borland C++.. regarde tu trouveras ;)
> > >
> > > bonne prog, bdk
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > GetCursorPos() récupère les coordonnées de la souris mais sur l'ensemble de l'écran. Si je déplace la fiche, les coordonnées d'une cellule changent alors que celle-ci n'a pas bougé sur la fiche... En fait il faudrait repérer les coordonnées par rapport au repere de la fiche, peut-on adapter GetCursorPos() ou y-a-t il un autre moyen ?
> > > >
> > > > MLine ;)
> > > >
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > dans ta proc FormClick(...) utilise GetCursorPos(); pour récupérer les coordonnées de la souris:
> > > > >
> > > > > /* Désolé, je ne connait pas Borland alors je ne sait pas
> > > > > si cette proc s'écrit exactement de cette facon */
> > > > > void __fastcall TForm1::FormClick(TObject *Sender)
> > > > > {
> > > > >
> > > > > POINT pos;
> > > > >
> > > > > GetCursorPos(&pos);
> > > > > // Maintenant 'pos' contient les coordonnées de la souris
> > > > > // pos.x et pos.y
> > > > >
> > > > > }
> > > > >
> > > > > GetCursorPos() est déclarer(défini) dans <windef.h> mais
> > > > > inclue dans <windows.h>
> > > > >
> > > > >
> > > > >
> > > > > ~(.:: NitRic ::.)~
> > > > >
> > > > >
> > > > > -------------------------------
> > > > > Réponse au message :
> > > > > -------------------------------
> > > > >
> > > > > > Slut,
> > > > > > Je veux gérer l'evenement OnClick sur la fiche principale (C++ Builder) en enregistrant les coordonnées X et Y de l'endroit où l'utilisateur a cliqué. Le prototype de la fonction est :
> > > > > > void __fastcall TForm1::FormClick(TObject *Sender);
> > > > > > (prototype classique de BCB)
> > > > > >
> > > > > > Alors que par exemple, la fonction FormMouseMove fournit les coordonnées de la souris à tout moment :
> > > > > > void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift, int X, int Y);
> > > > > >
> > > > > > Sachant que je ne peux pas modifier ces prototypes, y-a-t il moyen de récupérer les coordonnées au moment du clic sur la fiche, comme c'est possible de le faire lors du simple mouvement de la souris ?
> > > > > >
> > > > > > MLine ;)
> > > > >
> > > >
> > >
> >
>