La plus grande taille du curseur Windows

J’ai un curseur de la taille de la taille 128×128, mais quand j’ai utilisé LoadCursor pour le charger et le montrer, il ne dispose que de 32×32. Quelle API peut le faire correctement? Il semble que MS le redimensionne. Merci.

Windows XP n’inclut aucun curseur de système supérieur à 32×32. (Si des curseurs plus grands étaient inclus, ils seraient étendus à 32×32 lorsque les API standard chargeraient les curseurs).

Pour les systèmes à haute résolution, Windows XP a ajusté les valeurs SM_CXCURSOR et SM_CYCURSOR à 64×64 pixels. Cet ajustement de la taille permet d’éviter que le pointeur de la souris ne disparaisse pratiquement car il est trop petit pour être utilisé efficacement. Bien que les autres aspects du système évoluent avec DPI, le pointeur de la souris n’est pas mis à l’échelle. Microsoft n’essaie pas d’imposer une taille indépendante du DPI pour le pointeur de la souris.

Le système fournit également la fonction API SetSystemCursor que vous pouvez utiliser pour modifier le curseur système pour des catégories spécifiques. Vous pouvez utiliser cette fonction pour définir un curseur de n’importe quelle taille. Toutefois, vous devez appeler la fonction par programme et vous ne pouvez l’utiliser que pour définir un curseur pour une catégorie spécifique. Vous ne pouvez pas l’utiliser pour rendre tous les curseurs du système de la même taille.

http://support.microsoft.com/kb/307213

N’utilisez pas LoadCursor, utilisez LoadImage () à la place.

SM_CXCURSOR par SM_CYCURSOR est la seule taille de curseur que le système peut actuellement utiliser. Utilisez GetSystemMesortingcs pour connaître ces valeurs.