La configuration décrite avec le 2ème moniteur à gauche du primaire entraîne WM_NCHITTEST pour envoyer des valeurs négatives qui ne sont apparemment pas prises en charge selon this après.WM_NCHITTEST et moniteur secondaire à gauche du moniteur principal
J'ai un contrôle personnalisé écrit dans win32 qui est comme un contrôle de groupe. Il a une petite zone cliquable. Aucun événement MOUSE n'arrive à mon contrôle lorsque la fenêtre contenant le contrôle personnalisé se trouve sur un deuxième moniteur à gauche du moniteur principal. SPY ++ affiche les messages WM_NCHITTEST mais pas les messages de la souris. Lorsque la fenêtre est déplacée vers le moniteur principal ou que le moniteur secondaire est positionné à droite du primaire (tous les points sont positifs), tout fonctionne correctement. Voici comment WM_NCHITTEST est géré dans mon contrôle personnalisé. En général, j'en ai besoin pour retourner HTTRANSPARENT afin de ne pas obscurcir les autres contrôles placés à l'intérieur. Quelqu'un at-il des suggestions quelle traduction de coordination géniale je dois faire et quoi retourner en réponse à WM_NCHITTEST pour obtenir des messages de souris traduits et envoyés à mon contrôle dans le cas où il est sur un deuxième moniteur placé à gauche du moniteur principal?
case WM_NCHITTEST:
{
POINT Pt = {LOWORD(lP), HIWORD(lP)};
int i;
ScreenToClient (hWnd, &Pt);
if (PtInRect (&rClickableArea, Pt))
{
return(DefWindowProc(hWnd, Msg, wP, lP));
}
}
lReturn = HTTRANSPARENT;
break;
Génial. J'aime ces solutions faciles! Merci! – AlanKley