Salut,
J'ai une dialogue qui est ouverte et je voudrais empecher le pointeur de sortir de la fen�tre et d'aller sur d'autre fen�tre (ou peut-�tre simplement d�sactiver une action sur une autre fen�tre qui ne serait pas au premier plan).
J'ai d�j� fais une fonction qui me ram�ne le curseur � l'int�rieur de la fen�tre, il marche mais pas l'ext�rieur de ma dialog (il ne se passe rien, je perd m�me le focus)
Visiblement, il ne faut pas la mettre dans la DLGPROC. Je suis encore un newbiz mais j'ai cru comprendre que lorque l'�v�nement dans la zone non-client WM_NCACTIVATE (ou autre WM_NC...) arrivait l'action �tait envoy� � la fonction g�rant les �v�nements de la fen�tre, et l� rien non plus. Ah bah merde alors...
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 RECT rectposition; POINT pt; void StopCurseur (HWND hwnd) { GetWindowRect(hwnd, &rectposition); GetCursorPos(&pt); if (pt.x > rectposition.right) pt.x = rectposition.right; if (pt.x < rectposition.left) pt.x = rectposition.left; if (pt.y > rectposition.bottom) pt.y = rectposition.bottom; if (pt.y < rectposition.top) pt.y = rectposition.top; SetCursorPos(pt.x,pt.y); return ; }
Quelqu'un saurait-il comment qu'on fait cela ?
SeB
Partager