Déplacement d'une dlg sans barre de titre ?

cs_liv Messages postés 49 Date d'inscription lundi 17 mai 2004 Statut Membre Dernière intervention 26 avril 2006 - 5 oct. 2004 à 09:59
cs_liv Messages postés 49 Date d'inscription lundi 17 mai 2004 Statut Membre Dernière intervention 26 avril 2006 - 5 oct. 2004 à 13:52
Bonjour,

Je suis sous Visual C++ .NET en MFC et j'ai une boîte de dialogue sans barre de titre que je souhaiterais pouvoir déplacer quand je clique sur le bouton gauche de la souris que je bouge ensuite.

Le problème est que sur ma dlg j'ai un ActiveX qui prend toute la fenêtre.
En conséquence les évènements WM_LBUTTONDOWN, WM_MOUSEMOVE, WM_NCMOUSEMOVE ne réagissent pas lorsque je suis à n'importe quel endroit de ma dlg. C'est l'ActiveX qui doit récupérer ces évènements....dont je n'ai pas l'accès.

Ce que je voudrais c'est pouvoir cliquer à n'importe quel endroit de ma dlg et effecter le déplacement. En gros...y-a t'il un moyen de savoir si la souris est située au niveau de ma zone de dlg ?

Quelqu'un a une idée ?

3 réponses

ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
5 oct. 2004 à 12:29
Essai en traitant le message WM_NCHITTEST et en renvoyant HTCAPTION (simulation zone barre de titre) ou HTCLIENT (reste du dialogue) en fonction de la position de la souris.
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
5 oct. 2004 à 13:41
Pourquoi WM_NCHITTEST serait-il recu?
0
cs_liv Messages postés 49 Date d'inscription lundi 17 mai 2004 Statut Membre Dernière intervention 26 avril 2006
5 oct. 2004 à 13:52
Merci ça marche...
L'évènement OnMouseActivate est perçu lui aussi.

Ma problématique suivante est d'arriver à déplacer ma dlg en suivant le déplacement de la souris après la capture d'un ou l'autre des ces évènements.

Tu vois le truc?
0
Rejoignez-nous