8
votes

C # Changement de la position du curseur en cliquant / pointage?

Donc, le curseur par défaut est le curseur "flèche" et le haut à gauche de la flèche (où le point est) est la partie qui clique sur ou interagit avec d'autres contrôles. Comment puis-je changer la partie pointée pour dire la queue de la flèche?

Qu'est-ce que j'ai est un curseur personnalisé (une image bitmap) qui est un cercle à la taille de 16x16 et je veux que le centre-soi-compte soit le pointeur. J'ai un autre curseur de flèche personnalisé qui pointe vers le bas vers le bas, laissé également 16x16 et je veux que le coin inférieur gauche du curseur soit le pointeur. Je pense qu'il y a une propriété dans la classe du curseur pour cela, mais je ne suis pas sûr de ce qu'on appelle.


0 commentaires

3 Réponses :



2
votes

Il y a un article assez approfondi sur le sujet ici: http://www.switchtonthecode.com/tatudials/cshaparp-tutorial-how-a-utilisateur-custom-curseurs

Il couvre le réglage du curseur, créant un curseur via une structure personnalisée et un bitmap, et la mettant tous ensemble dans une application.


0 commentaires

1
votes

Ce que vous voulez ne peut pas être fait par code. Je voulais faire la même chose, mais ce n'est pas possible. En fait, le classe de curseur a une propriété appelé hotspot, qui est le point que vous voulez changer. Cependant, cette propriété est réadaptée. Le seul moyen de modifier ceci est au chargement de fichier (sur un fichier .Cur, je vous suggère d'utiliser de la peinture .NET avec un plug-in Curseur et des icônes (recherche sur le Web) pour éditer le curseur). Une chose importante: le curseur doit être un fichier et non une ressource ou des choses comme celle-ci (doit être un fichier sur le système de fichiers) pour le charger. N'oubliez-vous que j'avais des mauvaises fois testés d'une autre manière.

L'idée que j'ai à l'esprit est la suivante: modifier le fichier de curseur Juste lorsque vous devez modifier le hotspot, mais cela vous oblige également à écrire une API qui vous permet de modifier le hotspot sur un fichier de curseur. Je ne sais pas évidemment comment ce fichier est construit, vous devez donc continuer ici.

J'espère que c'était utile


2 commentaires

Ce n'est pas ce question ou tutoriel de Rick crée un curseur à partir d'un bitmap pendant l'exécution (c'est-à-dire par le code)?


Eh bien, vous pouvez créer un bitmap via le code, ce que je ne savais pas, c'est que vous pouvez créer une sorte de poignée sur ce curseur sans qu'il s'agisse d'un fichier (je pensais que vous devez l'enregistrer sur le système de fichiers même si vous le créez au moment de l'exécution ), Je l'ai lu sur une autre question, désolé pour cela. Cependant, vous avez pour reconstruire tout le curseur pour changer son point d'accès, c'est la chose importante que je voulais montrer à lui