Curseur - Point Chaud [Résolu]

Signaler
Messages postés
412
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
13 août 2007
-
Messages postés
412
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
13 août 2007
-
Hello!


Est-ce que qqun saurait comment faire pour définir le point chaud (hot spot) d'un curseur qu'on crée soit-même dans le code..... Par défaut il est au centre...

-------------------------
Trambert le vert

3 réponses

Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
85
Voilà :
Dans une réponse au message Set cursor hotspot in cursor created from bitmap : http://www.tech-archive.net/Archive/Development/microsoft.public.win32.programmer.gdi/2004-09/0183.html


<HR>


> I'm trying to create cursors "on the fly" as it were, by creating an
> in-memory bitmap, painting on a graphics object derived from the bitmap, and
> obtaining an Icon handle from the bitmap which is then used to create the
> cursor.
<code snipped>
> This gives me a 32x32 pixel cursor showing a blue box with a nice shadow.
> The problem is that I haven't been able to set the hotspot on the cursor in
> any way.
>
> So if anybody knows how to set the hotspot on a cursor, I'd be good to go.
> Just keep in mind that I need to create the cursor images on the fly...

I don't see anything in the Cursor class information in the MSDN about how to set the hotspot of a cursor, so here's the GDI method:
1) Call GetIconInfo() on the cursor handle (h) to fill an ICONINFO structure
2) Set the xHotspot and yHotspot members of this structure
3) Call CreateIconIndirect() passing back in the ICONINFO structure
4) Call DeleteObject() on the original cursor handle to clean up the GDI resources.
Hope this helps,

Mike


- Microsoft Visual Basic MVP -
E-Mail: EDais@mvps.org
WWW: http://www.mvps.org/EDais/
<!-- body="end" -->


<HR>

Cocoricoooooooo !!!!
coq
MVP Visual C#
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
85
Tu vas devoir passer par les API et recréer un curseur à partir du tiens je crois.
J'avais vu une explication il n'y a pas très longtemps, je la recherche.

Cocoricoooooooo !!!!
coq
MVP Visual C#
Messages postés
412
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
13 août 2007

Yes merci bien.

-------------------------
Trambert le vert