Tenter de simuler le déplacement de la fenêtre basée sur la zone client en renvoyant HTCAPTION sous WM_NCHITTEST (sauf les zones appropriées HTCLIENT &) fonctionne parfaitement lorsqu'il est utilisé avec une fenêtre parente - mais présence de fenêtres enfant comme les tabulations des espaces réservés, même lorsque le style étendu WS_EX_TRANSPARENT est défini, les clics échouent à transmettre les messages WM_NCHITTEST à la fenêtre parente (et tenter de traiter les messages WM_NCHITEST locaux de la même manière produit l'effet attendu de faire glisser la fenêtre enfant parent plutôt que le parent lui-même).C++ WINAPI: glisser le parent de la zone client avec des fenêtres de tabulation enfant obscur
Étant donné que tous les domaines dans cette fenêtre d'enfant onglet semble être considéré comme espace client, le traitement WM_LBUTTONDOWN semble plutôt produire l'effet désiré (voir ci-dessous):
case WM_LBUTTONDOWN: {
SendMessage(mainWnd.hWnd, WM_NCLBUTTONDOWN, HTCAPTION, lParam);
break;
}
Où mainWnd.hWnd est le parent handle de fenêtre (hWnd est un membre d'une classe d'aide de propriétés window)
Bien que cela produise l'effet désiré, je suis confus à savoir si WS_EX_TRANSPARENT est réellement destiné à permettre aux clics de passer aux fenêtres sous-jacentes, et s'il y a une solution plus appropriée?