Empecher le curseur de sortir du dialog
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)
Code:
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 ;
} |
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...
Quelqu'un saurait-il comment qu'on fait cela ?
SeB