Bonjour,
J'ai besoin d'un curseur spécifique dans une application.
J'ai donc créé un fichier "Releve.cur". Jusque là tout va bien.
J'ai ensuite cherché à l'incorporer dans les ressources (Visual Studio Community 2015) .
Premier problème : Dans les propriétés du projet, section Ressources, on trouve à ajouter des images, des icônes, des fichiers textes, des chaines, de l'audio... mais pas de curseur.
J'ai donc opté pour le type "Autre", puis cliqué sur "Fichier existant". Le fichier s'affiche dans la liste des ressources, mais sous la forme d'un type indéterminé (pas d'icône représentant le curseur). Bon, c'est peut-être normal.
Le problème vient ensuite pour utiliser ce curseur.
Après maintes recherches sur le web, je n'ai trouvé aucune méthode qui fonctionne.
L’écueil se place au niveau de la création de l'objet curseur.
1er essai : la solution Microsoft :
this.Cursor = new Cursor(GetType(), "Releve");
Résultat : le compilateur souligne GetType() en rouge et annonce :
"Erreur : Un initialiseur de champ ne peut pas faire référence au champ, à la méthode ou à la propriété non statique"
Après réflexion, j'ai ajouté "this." devant GetType. Plus d'alarme compilateur, mais lorsque j'exécute le code, j'ai l’exception : "La référence d'objet n'est pas définie à une instance d'un objet.",.
2ème essai : code trouvé sur ce forum :
curReleve = new Cursor(Properties.Resources.ResourceManager.GetStream("Releve"));
Cette fois j'ai une exception : "La ressource 'Releve' n'était pas un Stream - appel GetObject à la place".
Le fait de rajouter ".cur" à Releve provoque le problème de référence non définie.
J'ai donc remplacé GetStream par GetObjet. Là, le compilateur dit :
"Erreur : Argument 1 : conversion impossible de 'object' en 'System.IntPtr'".
J'avoue être sec.
Dans l'arborescence des ressources, mon curseur est vu comme byte[].
J'ai fait l'essai avec un des curseurs originaux de Windows. Même résultat.
Je pense que le problème est que ma version de VS ne connait pas les curseur (???) puisque ce type ne figure pas dans la liste des ressources à incorporer.
Pour des raisons de de publication, je ne souhaite pas publier le curseur comme un fichier externe.
Quelqu'un saurait-il m'aider ?
Merci
Partager