[VC++] obtenir le point de clickage?

obtenir le point de clickage? [VC++] - Programmation

Marsh Posté le 24-03-2002 à 16:36:19    

Salut,
 
en visual c++ quand on cree une fonction soi meme (pas par le wizard), comment faire pour passer comme parametre a cette fonction le point de clickage dans la fenetre (var de type CPoint)?
 
merci

Reply

Marsh Posté le 24-03-2002 à 16:36:19   

Reply

Marsh Posté le 24-03-2002 à 16:51:14    

Tu connais les évenements et la prog graphique sous windows ?

Reply

Marsh Posté le 24-03-2002 à 16:52:46    

ben c'est ce que j'essaye de faire...

Reply

Marsh Posté le 24-03-2002 à 16:53:27    

Ben utilise le wizard dans un premier temps alors.

Reply

Marsh Posté le 24-03-2002 à 17:00:29    

la fonction que je fais n'est pas dans le wizard c'est malin ca!!! sinon je l'aurai fait

Reply

Marsh Posté le 24-03-2002 à 17:03:00    

tu choppes les evenements WM_MOUSEMOVE et  
LOWORD(lParam), HIWORD(lParam) donne la position en coordonnées du client.
 
Sinon le wizard peut le faire à ta place.

 

[jfdsdjhfuetppo]--Message édité par Tetragrammaton IHVH--[/jfdsdjhfuetppo]


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
Reply

Marsh Posté le 24-03-2002 à 17:28:07    

desole mais j'arrive vraiment pas
 
en fait je fais une fonction qui n'est pas declenche avec un evenement de le souris mais dans le code de celle ci j'ai besoin de savoir ou est la souris justement

Reply

Marsh Posté le 24-03-2002 à 17:30:00    

Un "clickage", c'est pas un événement ?

Reply

Marsh Posté le 24-03-2002 à 17:31:29    

Slash- a écrit a écrit :

desole mais j'arrive vraiment pas
 
en fait je fais une fonction qui n'est pas declenche avec un evenement de le souris mais dans le code de celle ci j'ai besoin de savoir ou est la souris justement  




 
???????????  
WM_MOUSEMOVE est appelé du moment où la souris bouge.  
Je ne vois pas ce qu'il te faut de plus...  :??:


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
Reply

Marsh Posté le 24-03-2002 à 17:37:57    

sisi d'accord mais bon... a mon avis j'ai du mal a m'exprimer
 
bon voici la fonction en question
 
void CCoursView::OnMenuFlottant(UINT nID)
{
 m_bmpEtudiant.DeleteObject(); vec[0][0].occupe = 0;
 ::InvalidateRect(this->m_hWnd,vec[0][0].rect,TRUE);
 
 m_bmpEtudiant.DeleteObject(); vec[5][4].occupe = 0;
 ::InvalidateRect(this->m_hWnd,vec[5][4].rect,TRUE);
}
 
bon j'explique, je fais apparaitre un menu flottant, le menu n'a qu'un seul choix (d'ou le fait de ne pas avoir de switch case dans la fonction du dessus), et cette fonction ne doit faire que les 2 premieres lignes ou les 2 dernieres lignes suivant ou se trouve le point de cliquage et c'est la que je bloque... je comprends pas comment faire.... si je prends le wizard et que je choisi WM_MOUSEMOVE ou WM_LBUTTONDOWN, ca me cree une nouvelle fonction et ca ne m'interesse pas... svp aidez moi chuis vraiment dans la m***

Reply

Marsh Posté le 24-03-2002 à 17:37:57   

Reply

Marsh Posté le 24-03-2002 à 17:46:27    

Slash- a écrit a écrit :

sisi d'accord mais bon... a mon avis j'ai du mal a m'exprimer
 




 
Euh tu veux faire quoi, je comprends rien ? Ton but, c'est bien réagir à un clic souris, non ?
Si c'est le cas alors tu dois intercepter WM_LBUTTONDOWN.  
Si tu veux faire ça d'une autre manière, je te conseille de lire des docs sur la façon de programmer les GUI.


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
Reply

Marsh Posté le 24-03-2002 à 17:55:37    

bon je vais poser ma question autrement alors
 
imaginez que j'ai 2 fonctions differentes a programmer qui demande toutes les 2 de connaitre le point de clickage
 
comment je fais pour donner le message WM_LBUTTONDOWN aux 2 fonctions?
 
plus clair ainsi ou toujours pas ? :)

Reply

Marsh Posté le 24-03-2002 à 18:03:30    

Slash- a écrit a écrit :

bon je vais poser ma question autrement alors
 
imaginez que j'ai 2 fonctions differentes a programmer qui demande toutes les 2 de connaitre le point de clickage
 
comment je fais pour donner le message WM_LBUTTONDOWN aux 2 fonctions?
 
plus clair ainsi ou toujours pas ? :)  




 
Si c'est très clair : tu n'as pas compris le principe de la programmation evenementielle. Il y a UNE seule fonction qui a à répondre au message WM_LBUTTONDOWN, ensuite, en fonction du contexte (flag d'état etc...) tu agis différemment (tu appelles une de tes 2 fonctions sus-nommées)
 
Si les comportements sont très différents selon les elements présents dans la fenêtre, tu fais plusieurs classes pour chaque contrôle/child window qui dérivent de CWnd et qui interceptent séparemment le WM_LBUTTONDOWN, etc...

 

[jfdsdjhfuetppo]--Message édité par Tetragrammaton IHVH--[/jfdsdjhfuetppo]


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed