J'ai une application GUI Windows normale (faite à l'aide de l'API, pas de MFC) et que je déplace ma souris sur et éteindre l'application et les styles change de souris (comme lorsque vous le déplacez sur la frontière, cela passe à un redimensionnement. Flèche, etc.) Mais parfois, il "colle" dans ce style, de sorte que je puisse déplacer la souris autour et il restera dans une flèche de redimensionnement ou autre, même après sa sortie de la fenêtre. Il se fixe si je le déplace sur un autre contrôle. p>
C'est juste un inconvénient, mais cela semble peu professionnel et je voudrais le réparer. Comment puis-je le faire où il reste à jour tout le temps? P>
3 Réponses :
Définissez une poignée de curseur valide lorsque vous enregistrez la classe de votre fenêtre. Voir wndclasseex :: hcursor code>. Utilisez
loadcursor code> pour charger un curseur valide. Comme,
La réponse de Tenfour est correcte. Voici un peu plus de fond. P>
Lorsque la souris se déplace dans une fenêtre, elle n'est pas capturée, la fenêtre obtiendra un message Une fenêtre peut gérer ce message en appelant Une fenêtre peut également punter en passant le message à (C'est en fait un peu plus compliqué que cela, puisque le Si vous voulez faire quelque chose de dynamique, comme choisissez un curseur en fonction de la variable de l'état, vous devez disposer de gérer le voir wm_setcursor code>. Le nom du message peut être un peu déroutant. Il s'agit essentiellement de la possibilité de définir le curseur, pas une instruction pour définir le curseur. P>
setcursor code> et retourner. p>
DEFWINDOWPROC code> pour obtenir le comportement par défaut. Le comportement par défaut consiste à examiner le champ
hcursor code> dans le
wndclass code> pour la fenêtre. C'est pourquoi la réponse de Tenfour fonctionne. P>
defwindowProc code> donne d'abord la fenêtre mère une chance d'intervenir.) p>
wm_setcursor code> de sorte qu'il appelle
setcursor code> avec tout ce que Le curseur est approprié, puis renvoie
vrai code>. p>
setcursor code >
pour plus de détails. P>