SetSystemCursor

Le
Joël
Bonjour a tous,
je souhaiterais savoir s'il est possible de modifier le curseur sur une form
par code
et uniquement sur la form car j'ai essayer SetSystemCursor(lecurseur,
OCR_NORMAL)
c'est interresant pour mettre un curseur animé pendant l'execution d'une
tache
mais sa ne s'aplique pas qu'a ma form mais a tous xp. ce qui n'est pas le
resultat attendu.
voici un bout de mon code:
' je récupère le curseur en cours d'abord pour pouvoir le restitier
curseurpresent = GetCursor()
iconcurseurpresent = CopyIcon(curseurpresent)
'
' j'applique le nouveau curseur (ex: drum.ani)
Call SetSystemCursor(lenouveaucurseur, OCR_NORMAL)
'
' pour le restituer tel qu'il était
Call SetSystemCursor(iconcurseurpresent, OCR_NORMAL)
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
LE TROLL
Le #15416041
Bonjour, si jamais j'ai compris ???

Screen.MousePointer = vbHourglass
Screen.MousePointer = VBdefault


--
Site de MES LOGICIELS
http://irolog.free.fr
Site éditeur de MES ROMANS édités
http://irolog.free.fr/romans
mon adresse EMail
http://irolog.free.fr/ecrire/index.htm
------------------------------------------------------------------------------------
"Joël" 45e6db98$0$27395$
Bonjour a tous,
je souhaiterais savoir s'il est possible de modifier le curseur sur une
form par code
et uniquement sur la form car j'ai essayer SetSystemCursor(lecurseur,
OCR_NORMAL)
c'est interresant pour mettre un curseur animé pendant l'execution d'une
tache
mais sa ne s'aplique pas qu'a ma form mais a tous xp. ce qui n'est pas le
resultat attendu.
voici un bout de mon code:
' je récupère le curseur en cours d'abord pour pouvoir le restitier
curseurpresent = GetCursor()
iconcurseurpresent = CopyIcon(curseurpresent)
'
' j'applique le nouveau curseur (ex: drum.ani)
Call SetSystemCursor(lenouveaucurseur, OCR_NORMAL)
'
' pour le restituer tel qu'il était
Call SetSystemCursor(iconcurseurpresent, OCR_NORMAL)



Joël
Le #15416011
bonjour, merci pour la reponse mais avec Screen.MousePointer
on ne peut pas mettre un curseur animé...(format invalide)
ce que je souhaite pendant l'execution d'une tache.


"LE TROLL" Of5$
Bonjour, si jamais j'ai compris ???

Screen.MousePointer = vbHourglass
Screen.MousePointer = VBdefault


--
Site de MES LOGICIELS
http://irolog.free.fr
Site éditeur de MES ROMANS édités
http://irolog.free.fr/romans
mon adresse EMail
http://irolog.free.fr/ecrire/index.htm
------------------------------------------------------------------------------------
"Joël" 45e6db98$0$27395$
Bonjour a tous,
je souhaiterais savoir s'il est possible de modifier le curseur sur une
form par code
et uniquement sur la form car j'ai essayer SetSystemCursor(lecurseur,
OCR_NORMAL)
c'est interresant pour mettre un curseur animé pendant l'execution d'une
tache
mais sa ne s'aplique pas qu'a ma form mais a tous xp. ce qui n'est pas le
resultat attendu.
voici un bout de mon code:
' je récupère le curseur en cours d'abord pour pouvoir le restitier
curseurpresent = GetCursor()
iconcurseurpresent = CopyIcon(curseurpresent)
'
' j'applique le nouveau curseur (ex: drum.ani)
Call SetSystemCursor(lenouveaucurseur, OCR_NORMAL)
'
' pour le restituer tel qu'il était
Call SetSystemCursor(iconcurseurpresent, OCR_NORMAL)







Vincent Guichard
Le #15415981
Joël a écrit :
bonjour, merci pour la reponse mais avec Screen.MousePointer
on ne peut pas mettre un curseur animé...(format invalide)
ce que je souhaite pendant l'execution d'une tache.



L'idée est de jouer avec les deux options, et de ne pas modifier le
curseur par défaut comme tu le fait, mais un autre curseur (vbHourGlass
semble ici une bonne idée).

Cf. code ci-dessous, pompé en grande partie sur l'API Guide, et
légèrement modifiés par mes soins:

Private Declare Function GetWindowsDirectory Lib "kernel32" Alias
"GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long)
As Long
Private Declare Function CopyIcon Lib "user32" (ByVal hIcon As Long) As Long
Private Declare Function LoadCursorFromFile Lib "user32" Alias
"LoadCursorFromFileA" (ByVal lpFileName As String) As Long
Private Declare Function SetCursor Lib "user32" (ByVal hCursor As Long)
As Long
Private Declare Function SetSystemCursor Lib "user32" (ByVal hcur As
Long, ByVal id As Long) As Long
Private Declare Function GetCursor Lib "user32" () As Long
Private Const OCR_NORMAL As Long = 32512
Private Const OCR_WAIT As Long = 32514
Private currenthcurs As Long
Private tempcurs As Long
Private newhcurs As Long

Private Sub Command1_Click()
Screen.MousePointer = vbHourglass
Dim myDir As String
Dim lDir As Long
myDir = Space(255)
currenthcurs = GetCursor()
tempcurs = CopyIcon(currenthcurs)
myDir = "G:ProjetsGlobe.ico"
newhcurs = LoadCursorFromFile(myDir)
Call SetSystemCursor(newhcurs, OCR_WAIT)
End Sub
Private Sub Command2_Click()
Call SetSystemCursor(tempcurs, OCR_WAIT)
Screen.MousePointer = vbArrow
End Sub
Joël
Le #15415951
bonjour Vincent et merci pour ta reponse, sa fonctionne parfaitement.


"Vincent Guichard" news: 45e6f2f6$0$27374$
Joël a écrit :
bonjour, merci pour la reponse mais avec Screen.MousePointer
on ne peut pas mettre un curseur animé...(format invalide)
ce que je souhaite pendant l'execution d'une tache.



L'idée est de jouer avec les deux options, et de ne pas modifier le
curseur par défaut comme tu le fait, mais un autre curseur (vbHourGlass
semble ici une bonne idée).

Cf. code ci-dessous, pompé en grande partie sur l'API Guide, et légèrement
modifiés par mes soins:

Private Declare Function GetWindowsDirectory Lib "kernel32" Alias
"GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As
Long
Private Declare Function CopyIcon Lib "user32" (ByVal hIcon As Long) As
Long
Private Declare Function LoadCursorFromFile Lib "user32" Alias
"LoadCursorFromFileA" (ByVal lpFileName As String) As Long
Private Declare Function SetCursor Lib "user32" (ByVal hCursor As Long) As
Long
Private Declare Function SetSystemCursor Lib "user32" (ByVal hcur As Long,
ByVal id As Long) As Long
Private Declare Function GetCursor Lib "user32" () As Long
Private Const OCR_NORMAL As Long = 32512
Private Const OCR_WAIT As Long = 32514
Private currenthcurs As Long
Private tempcurs As Long
Private newhcurs As Long

Private Sub Command1_Click()
Screen.MousePointer = vbHourglass
Dim myDir As String
Dim lDir As Long
myDir = Space(255)
currenthcurs = GetCursor()
tempcurs = CopyIcon(currenthcurs)
myDir = "G:ProjetsGlobe.ico"
newhcurs = LoadCursorFromFile(myDir)
Call SetSystemCursor(newhcurs, OCR_WAIT)
End Sub
Private Sub Command2_Click()
Call SetSystemCursor(tempcurs, OCR_WAIT)
Screen.MousePointer = vbArrow
End Sub


Publicité
Poster une réponse
Anonyme