Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3121 connectés 

 


Dernière réponse
Sujet : [VC++] obtenir le point de clickage?
Tetragrammaton IHVH

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]


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Tetragrammaton IHVH

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]

Slash- 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 ? :)
Tetragrammaton IHVH

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.

Slash- 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***
Tetragrammaton IHVH

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...  :??:

verdoux Un "clickage", c'est pas un événement ?
Slash- 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
Tetragrammaton IHVH 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]

Slash- la fonction que je fais n'est pas dans le wizard c'est malin ca!!! sinon je l'aurai fait
verdoux Ben utilise le wizard dans un premier temps alors.
Slash- ben c'est ce que j'essaye de faire...
verdoux Tu connais les évenements et la prog graphique sous windows ?
Slash- 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

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)