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 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
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 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
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
Rejoignez-nous