Fenêtre dialog déplaçable "par le fond" [API Win32]

Résolu
stagiairecpp
Messages postés
37
Date d'inscription
jeudi 22 octobre 2009
Statut
Membre
Dernière intervention
10 décembre 2011
- 22 oct. 2009 à 11:31
stagiairecpp
Messages postés
37
Date d'inscription
jeudi 22 octobre 2009
Statut
Membre
Dernière intervention
10 décembre 2011
- 22 oct. 2009 à 23:35
Bonjour,

Je conçois actuellement une petite application et j'aurais besoin d'un renseignement que je ne suis parvenu à trouver ni via google, ni via des investigations personnelles de code. Je dois probablement chercher au mauvais endroit ou avec les mauvais mots clés.

Donc ma question est je pense simple :
Comment faire svp pour qu'une fenêtre (crée via DialogBoxParam()) soit déplaçable par glisser/déposer souris depuis n'importe où (sauf bien sûr zones d'interractions) ?

En gros pour tenter d'être plus clair je souhaiterais pouvoir la 'saisir' depuis n'importe où comme s'il s'agissait d'un clic maintenu sur la barre du menu système (dont je souhaiterais me passer justement).

Merci d'avance.
@+

3 réponses

BruNews
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
22 oct. 2009 à 15:44
Un truc de ce genre:
case WM_MOUSEMOVE: // lParam client area
if(wParam & MK_LBUTTON) SendMessage(hdlg, WM_NCLBUTTONDOWN, HTCAPTION, 0);
return 0;

ciao...
BruNews, MVP VC++
3
racpp
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
14
22 oct. 2009 à 22:42
Salut,
On peut faire aussi:
case WM_LBUTTONDOWN:
return DefWindowProc(hdlg,WM_NCLBUTTONDOWN,HTCAPTION, lParam);
3
stagiairecpp
Messages postés
37
Date d'inscription
jeudi 22 octobre 2009
Statut
Membre
Dernière intervention
10 décembre 2011
15
22 oct. 2009 à 23:35
Bonsoir,

Super les gars, merci beaucoup. ^^
J'avais regardé du côté des styles, des paramètres de la fenêtre sous l'éditeur, des paramètres de création de la fenêtre, SetWindowLong, SetWindowPos, etc... Mais je n'aurais pas eu idée de regarder du côté des messages reçus.

J'ai opté pour ton option racpp et ça fonctionne comme je le souhaitais.
Ton idée BruNews fonctionne également seulement une fois la fenêtre relâchée, le curseur sablier devient fou et la fenêtre plante.
Je n'ai pas encore assez d'expérience pour savoir d'où ça peut bien venir.
D'ailleurs j'ai également un soucis au niveau de la compréhension du fonctionnement du callback de ma dialog mais ça fera l'objet d'une autre question.

Merci.
@+
0