ShowCursor 2....

Sujets variés concernant le développement en PureBasic
AWEAR
Messages : 264
Inscription : ven. 28/oct./2005 8:20
Localisation : Mayotte ( 976 ), Océan Indien, France

ShowCursor 2....

Message par AWEAR »

Je suis désolé de reposer la même question (ou presque).
Quelqu'un pourrait-il me dire comment utiliser la fonction ShowCursor de user32.dll sur tout l'écran et pas uniquement sur une fenêtre ?
La vie est une rose dont il faut accepter les épines, mais la mienne est fannée, arrosée par le goût de mes larmes. (Soprano)
AWEAR
Messages : 264
Inscription : ven. 28/oct./2005 8:20
Localisation : Mayotte ( 976 ), Océan Indien, France

Message par AWEAR »

Merci pour vos nombreuses réponses...
La vie est une rose dont il faut accepter les épines, mais la mienne est fannée, arrosée par le goût de mes larmes. (Soprano)
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Même réponse que l'autre jour.

Si tu n'as pas la version enregistrée, tu ne peux pas utiliser cette fonction puisqu'elle fait partie de l'Api.

Et si ta version est enregistrée, c'est :

ShowCursor_(#True) -- Tu vois le curseur
ShowCursor_(#False) -- Tu caches le curseur

C'est exactement ce qu'on t'as dit l'autre fois :?
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

AWEAR a écrit :Merci pour vos nombreuses réponses...
t'exagere , ça fait pas une heure que t'attend !!!

en plus on t'as deja repondu !

la fonction qu'on t'a donné utilise l'API windows , qui elle meme utilise la fonction située dans user32.dll

Achete la version complete de purebasic , et prend nous pas la tete ! :evil:
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Et entre parenthèse, on est pas payé pour poster de l'aide sur le forum.

Alors quand je vois ton premier message posté à 3 h 16 et le suivant posté 1 heure plus tard pour râler que ça ne vas pas assez vite, je prèfère te prévenir, continue comme ça, et tu risque d'attendre des réponses TRES TRES LONGTEMPS.
A bon entendeur!!! :x
AWEAR
Messages : 264
Inscription : ven. 28/oct./2005 8:20
Localisation : Mayotte ( 976 ), Océan Indien, France

Message par AWEAR »

ok désolé de ne pas avoir attendu
mais ce que je veux dire c'est que la fonction marche même avec la démo mais uniquement sur des fenêtres et j'aimerais savoir s'il est possible de l'utiliser sur l'écran entier
La vie est une rose dont il faut accepter les épines, mais la mienne est fannée, arrosée par le goût de mes larmes. (Soprano)
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Ca marche en mode "Plein ecran", en "WindowedScreen", et sur les fenêtres. (En démo, par contre, je ne sais pas)

#True ou 1 pour voir le curseur
#False ou 0 pour le cacher
AWEAR
Messages : 264
Inscription : ven. 28/oct./2005 8:20
Localisation : Mayotte ( 976 ), Océan Indien, France

Message par AWEAR »

Oui je le sais mais ce que j'aurais voulu savoir c'est si on peut l'appliquer sur le bureau par exemple..
désolé si je suis pas clair :(
La vie est une rose dont il faut accepter les épines, mais la mienne est fannée, arrosée par le goût de mes larmes. (Soprano)
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

AWEAR a écrit :Oui je le sais mais ce que j'aurais voulu savoir c'est si on peut l'appliquer sur le bureau par exemple..
désolé si je suis pas clair :(
pourquoi tu veux suprimer le curseur souris du bureau ?
AWEAR
Messages : 264
Inscription : ven. 28/oct./2005 8:20
Localisation : Mayotte ( 976 ), Océan Indien, France

Message par AWEAR »

Ben j'avais trouvé cette fonction par hasard et je me demandais s'il était possible d'enlever le curseur de la souris du bureau comme ça pour le fun mais bon apparement c'est pas la peine d'éssayer.....
La vie est une rose dont il faut accepter les épines, mais la mienne est fannée, arrosée par le goût de mes larmes. (Soprano)
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Pour retirer le curseur, tu peux créer une fenêtre invisible, et lui donner le handle du bureau comme parent, et là, en principe, ça fonctionne.

Il faut faire un executable et le lancer depuis le bureau.

Par exemple.

Code : Tout sélectionner

; Auteur : Le Soldat Inconnu 
; Version de PB : 3.9 
; 
; Explication du programme : 
; Lier une fenêtre au bureau. Ainsi, quand on réduit les applications, cette fenêtre reste visible. 

; J'ai rajouté ça. 
If OpenLibrary(0,"User32.dll") 
  hBureau = CallFunction(0,"GetShellWindow") 
  CloseLibrary(0) 
EndIf 

; Création de la fenêtre liée au bureau 
OpenWindow(0, 0, 0, 100, 100, #PB_Window_BorderLess | #PB_Window_ScreenCentered | #PB_Window_Invisible, "Liée au bureau", hBureau) 
; Il suffit de mettre en parent la fenêtre qui représente le bureau 
; La fonction GetShellWindow_() permet de récupérer le handle du bureau 

; Création de la GadgetList 
; CreateGadgetList(WindowID()) 
; 
; ButtonGadget(0, 0, 0, 100, 100, "Quitter") 
; 
ShowCursor_(0)
Delay(5000)
ShowCursor_(1)

Select MessageRequester("", "")
  Case #IDOK
    End
EndSelect


Repeat 
  Event = WaitWindowEvent() 
  
  If Event = #PB_Event_Gadget 
    Select EventGadgetID() 
      Case 0 ; Appui sur le bouton quitter 
        Event = #PB_EventCloseWindow 
    EndSelect 
  EndIf 
  
Until Event = #PB_EventCloseWindow
J'ai repiqué un code du Soldat Invisible, de toute façon, c'est moi qui lui ai filé le code pour le handle du bureau. Alors...! :lol:

Il faut savoir, aussi, que si tu lances cet exemple depuis un autre endroit que le bureau, ça ne fonctionnera pas.

Le pointeur de la souris n'est caché que pour la fenêtre de l'application qui demande à cacher le pointeur.
AWEAR
Messages : 264
Inscription : ven. 28/oct./2005 8:20
Localisation : Mayotte ( 976 ), Océan Indien, France

Message par AWEAR »

Déja merci d'avoir chercher et d'avoir répondu
Le code marche très bien mais j'aimerais comprendre cette partie du code :
Select MessageRequester("", "")
Case #IDOK
End
EndSelect
qui ne fonctionne pas avec ma démo mais qui n'est pas indispensable au programme
La vie est une rose dont il faut accepter les épines, mais la mienne est fannée, arrosée par le goût de mes larmes. (Soprano)
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

C'est juste pour que tu puisse fermer le programme, pour éviter qu'il ne continue à tourner en tâche de fond pour rien.

Quand tu cliques sur le bouton OK, ça stoppe le prog.

C'est tout

Si ça ne marche pas, remplace #IDOK par 1
AWEAR
Messages : 264
Inscription : ven. 28/oct./2005 8:20
Localisation : Mayotte ( 976 ), Océan Indien, France

Message par AWEAR »

Ha d'accord.......
Avec la version démo pas de problème vu que chaque programme compilé affiche la belle fenêtre "Debugger" qu'il suffit de fermer pour arreter le programme :(
La vie est une rose dont il faut accepter les épines, mais la mienne est fannée, arrosée par le goût de mes larmes. (Soprano)
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Ok!

Et la prochaine fois, essaye d'être un peu plus patient. :wink:
Répondre