Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Transformer le curseur de la souris en "main"

9 réponses
Avatar
Jefflec
Bonjour,

Comment peut-on transformer le curseur de la souris en main, par exemple
lors du passage sur un bouton ?

Merci

9 réponses

Avatar
Raymond
Bonjour.

regarde les api SetCursor et LoadCursorfromfile si tu peux trouver ta vie.
mais pas évident pour retrouver le curseur standard hors MouseMove.

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Jefflec" a écrit dans le message de
news:e5%23ag$
Bonjour,

Comment peut-on transformer le curseur de la souris en main, par exemple
lors du passage sur un bouton ?

Merci




Avatar
Jefflec
OK, merci...
C'est plutôt décourageant, tout ça...


"Raymond" a écrit dans le message de
news:
Bonjour.

regarde les api SetCursor et LoadCursorfromfile si tu peux trouver ta vie.
mais pas évident pour retrouver le curseur standard hors MouseMove.

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Jefflec" a écrit dans le message de
news:e5%23ag$
Bonjour,

Comment peut-on transformer le curseur de la souris en main, par exemple
lors du passage sur un bouton ?

Merci







Avatar
Raymond
RE.

pourquoi décourageant ? je te donne ci-dessous une procédure minimum à
utiliser, à toi de récupérer ton curseur d'origine et de le recharger à la
fin.
dans ton formulaire, tu places ces fonctions:
Private Sub Commande6_Click()
Curseur_Normal
End Sub

Private Sub Commande6_MouseMove(Button As Integer, Shift As Integer, X As
Single, Y As Single)
Curseur_Main
End Sub

Private Sub Détail_MouseMove(Button As Integer, Shift As Integer, X As
Single, Y As Single)
Curseur_Normal
End Sub

dans un module standard tu places ces fonctions:
Public Declare Function LoadCursorFromFile Lib "user32" Alias
"LoadCursorFromFileA" (ByVal lpFileName As String) As Long
Public Declare Function SetCursor Lib "user32" (ByVal hCursor As Long) As
Long
Public Declare Function SetSystemCursor Lib "user32" (ByVal hcur As Long,
ByVal id As Long) As Long
Private Const OCR_NORMAL As Long = 32512
Private Curseur As Long

Public Sub Curseur_Main()
Curseur = LoadCursorFromFile("c:windowscursorsharrow.cur")
Call SetSystemCursor(Curseur, OCR_NORMAL)
Call SetCursor(Curseur)
End Sub

Public Sub Curseur_Normal()
Curseur = LoadCursorFromFile("c:windowscursorsarrow_l.cur")
Call SetSystemCursor(Curseur, OCR_NORMAL)
Call SetCursor(Curseur)
End Sub

(je mettrais cette procédure sur mon site ce soir)

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Jefflec" a écrit dans le message de
news:
OK, merci...
C'est plutôt décourageant, tout ça...


Avatar
Jefflec
Je disais "décourageant" parce qu'en général l'utilisation des API n'est pas
simple...

Enfin merci beaucoup pour le mal que tu te donnes... :o)

Question de curiosité : tes déclarations sur les API (LoadCursorFromFile
etc...), comment les as tu écrites ?
Enfin, je veux dire... tu ne viens pas de les écrire "de tête" comme ça,
sous nos yeux ébahis ?

@+
Jefflec, Access LVP


"Raymond" a écrit dans le message de
news:
RE.

pourquoi décourageant ? je te donne ci-dessous une procédure minimum à
utiliser, à toi de récupérer ton curseur d'origine et de le recharger à la
fin.
dans ton formulaire, tu places ces fonctions:
Private Sub Commande6_Click()
Curseur_Normal
End Sub

Private Sub Commande6_MouseMove(Button As Integer, Shift As Integer, X As
Single, Y As Single)
Curseur_Main
End Sub

Private Sub Détail_MouseMove(Button As Integer, Shift As Integer, X As
Single, Y As Single)
Curseur_Normal
End Sub

dans un module standard tu places ces fonctions:
Public Declare Function LoadCursorFromFile Lib "user32" Alias
"LoadCursorFromFileA" (ByVal lpFileName As String) As Long
Public Declare Function SetCursor Lib "user32" (ByVal hCursor As Long) As
Long
Public Declare Function SetSystemCursor Lib "user32" (ByVal hcur As Long,
ByVal id As Long) As Long
Private Const OCR_NORMAL As Long = 32512
Private Curseur As Long

Public Sub Curseur_Main()
Curseur = LoadCursorFromFile("c:windowscursorsharrow.cur")
Call SetSystemCursor(Curseur, OCR_NORMAL)
Call SetCursor(Curseur)
End Sub

Public Sub Curseur_Normal()
Curseur = LoadCursorFromFile("c:windowscursorsarrow_l.cur")
Call SetSystemCursor(Curseur, OCR_NORMAL)
Call SetCursor(Curseur)
End Sub

(je mettrais cette procédure sur mon site ce soir)

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Jefflec" a écrit dans le message de
news:
OK, merci...
C'est plutôt décourageant, tout ça...






Avatar
Pierre CFI
Pour infos, c'est Raymond qui a crée la plupart des api's de windows
il n'en parle jamais, mais ......

--
Pierre CFI
Microsoft MVP Access

Pour mieux utiliser microsoft.public.fr.access...
http://users.skynet.be/mpfa/charte.htm

"Jefflec" a écrit dans le message de news:

Je disais "décourageant" parce qu'en général l'utilisation des API n'est
pas

simple...

Enfin merci beaucoup pour le mal que tu te donnes... :o)

Question de curiosité : tes déclarations sur les API (LoadCursorFromFile
etc...), comment les as tu écrites ?
Enfin, je veux dire... tu ne viens pas de les écrire "de tête" comme ça,
sous nos yeux ébahis ?

@+
Jefflec, Access LVP


"Raymond" a écrit dans le message de
news:
RE.

pourquoi décourageant ? je te donne ci-dessous une procédure minimum à
utiliser, à toi de récupérer ton curseur d'origine et de le recharger à
la


fin.
dans ton formulaire, tu places ces fonctions:
Private Sub Commande6_Click()
Curseur_Normal
End Sub

Private Sub Commande6_MouseMove(Button As Integer, Shift As Integer, X
As


Single, Y As Single)
Curseur_Main
End Sub

Private Sub Détail_MouseMove(Button As Integer, Shift As Integer, X As
Single, Y As Single)
Curseur_Normal
End Sub

dans un module standard tu places ces fonctions:
Public Declare Function LoadCursorFromFile Lib "user32" Alias
"LoadCursorFromFileA" (ByVal lpFileName As String) As Long
Public Declare Function SetCursor Lib "user32" (ByVal hCursor As Long)
As


Long
Public Declare Function SetSystemCursor Lib "user32" (ByVal hcur As
Long,


ByVal id As Long) As Long
Private Const OCR_NORMAL As Long = 32512
Private Curseur As Long

Public Sub Curseur_Main()
Curseur = LoadCursorFromFile("c:windowscursorsharrow.cur")
Call SetSystemCursor(Curseur, OCR_NORMAL)
Call SetCursor(Curseur)
End Sub

Public Sub Curseur_Normal()
Curseur = LoadCursorFromFile("c:windowscursorsarrow_l.cur")
Call SetSystemCursor(Curseur, OCR_NORMAL)
Call SetCursor(Curseur)
End Sub

(je mettrais cette procédure sur mon site ce soir)

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Jefflec" a écrit dans le message de
news:
OK, merci...
C'est plutôt décourageant, tout ça...










Avatar
Raymond
C'est pour ça que Bill m'envoie tous les mois un (gros) chèque sur mon
compte numéroté à Zurich. D'ailleurs n'importe qui peut me faire un
virement, je n'en retourne aucun. Je commence à en avoir marre de tous ces
frais de déplacements à Zurich qui me prennent un temps phénoménal.

ceci dit:

Je prend toujours une api existante, je la simplifie et l'adapte au problème
du moment du demandeur, c'est tout. Si c'est une api interessante je la mets
sur mon site. celle-ci est déjà sur
http://perso.wanadoo.fr/access2000/changer_curseur.htm et sera ce soir sur
free.

hé oui, ce n'est pas plus compliqué
--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Pierre CFI" a écrit dans le message de
news:
Pour infos, c'est Raymond qui a crée la plupart des api's de windows
il n'en parle jamais, mais ......

--
Pierre CFI


Avatar
Pierre CFI
et tu touches combien chaque fois qu'on va sur ton site ?

--
Pierre CFI
Microsoft MVP Access

Pour mieux utiliser microsoft.public.fr.access...
http://users.skynet.be/mpfa/charte.htm

"Raymond" a écrit dans le message de news:
#
C'est pour ça que Bill m'envoie tous les mois un (gros) chèque sur mon
compte numéroté à Zurich. D'ailleurs n'importe qui peut me faire un
virement, je n'en retourne aucun. Je commence à en avoir marre de tous ces
frais de déplacements à Zurich qui me prennent un temps phénoménal.

ceci dit:

Je prend toujours une api existante, je la simplifie et l'adapte au
problème

du moment du demandeur, c'est tout. Si c'est une api interessante je la
mets

sur mon site. celle-ci est déjà sur
http://perso.wanadoo.fr/access2000/changer_curseur.htm et sera ce soir sur
free.

hé oui, ce n'est pas plus compliqué
--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Pierre CFI" a écrit dans le message de
news:
Pour infos, c'est Raymond qui a crée la plupart des api's de windows
il n'en parle jamais, mais ......

--
Pierre CFI






Avatar
Jefflec
Ah, c'est toi qui a écrit les ZAPI !?
On le tiens, les gars, les bugs Windows, c'est lui !!! ;oD

Moi qui comptais te faire un virement de quelques milliers d'euros...
Tant pis, je les garde pour moi... lol...!

Plus sérieusement, merci pour ton aide, j'irais voir ce soir sur le Web pour
avoir plus de détails (et par la même occasion sur ton site, même si "j'y ai
déjà allé").

A bientôt,
Jefflec, Access pour les nuls


"Raymond" a écrit dans le message de
news:%
C'est pour ça que Bill m'envoie tous les mois un (gros) chèque sur mon
compte numéroté à Zurich. D'ailleurs n'importe qui peut me faire un
virement, je n'en retourne aucun. Je commence à en avoir marre de tous ces
frais de déplacements à Zurich qui me prennent un temps phénoménal.

ceci dit:

Je prend toujours une api existante, je la simplifie et l'adapte au
problème

du moment du demandeur, c'est tout. Si c'est une api interessante je la
mets

sur mon site. celle-ci est déjà sur
http://perso.wanadoo.fr/access2000/changer_curseur.htm et sera ce soir sur
free.

hé oui, ce n'est pas plus compliqué
--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Pierre CFI" a écrit dans le message de
news:
Pour infos, c'est Raymond qui a crée la plupart des api's de windows
il n'en parle jamais, mais ......

--
Pierre CFI






Avatar
Raymond
Des sommes gastronomiques.

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Pierre CFI" a écrit dans le message de
news:
et tu touches combien chaque fois qu'on va sur ton site ?

--
Pierre CFI