Bonjour,
J'ai crée une fenetre sans bordure et sans barre de titre (elle a une forme un peu spéciale)
Donc on ne peut, à priori, ni la deplacer ni changer sa taille en cliquant sur une bordure ou dans le titre.
J'ai trouvé cette astuce sur le net :
Dans le traitement des messages :
En fait, ça consiste a faire croire à Windows que l'on a cliqué dans le titre ou sur une bordure lorsque l'on clique dans certaines zones....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 case WM_LBUTTONDOWN: if (dansLaZonePourDeplacer) { SendMessage(m_HWND, WM_NCLBUTTONDOWN, HTCAPTION,NULL); } else if (dansLaZonePourChangerLaTailleHorizontale) { SendMessage(m_HWND, WM_NCLBUTTONDOWN, HTTOP,NULL); } else if (dansLaZonePourChangerLaTailleVerticale) { SendMessage(m_HWND, WM_NCLBUTTONDOWN, HTLEFT,NULL); } else { .... } return 0;
Ca marche tres bien, sauf que :
- apres avoir deplacé la fenetre, lorsque l'on relache le bouton de la souris, il faut re-cliquer dans la fenetre pour que celle-ci recoivent les messages à nouveau, sinon elle ne recoit rien
- le curseur ne change pas de forme
Auriez-vous une idée ?
Merci !
Partager