begin process at 2012 02 13 02:25:12
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

System

 > 

Curseur invisible avec SetCursor(NULL)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Curseur invisible avec SetCursor(NULL)

mardi 7 octobre 2008 à 09:04:57 | Curseur invisible avec SetCursor(NULL)

Leucistic

Bonjour,

J'ai cherché sur la MSDN, puis sur le net pour cacher le curseur, et les deux me disent : SetCursor(NULL);
J'ai essayé au début de mon main, mais mon curseur est toujours visible. J'ai alors fait quelques tests pour essayer de comprendre d'où venait le problème, notamment en faisant :

SetCursor(NULL);
if (GetCursor() == NULL)
   printf ("NULL");
else
   printf("Autre");

Et ceci m'affiche bien "NULL", pourtant le curseur est visible.

Quelqu'un y comprend quelque chose ?


L'ouverture de l'esprit n'est pas une fracture du crâne

mardi 7 octobre 2008 à 11:20:32 | Re : Curseur invisible avec SetCursor(NULL)

jeffy131

Oui, c'est une FAQ Win32 api
voir sur le newsgroup pro des apis Win32 :
news://194.177.96.26/fr.comp.os.ms-windows.programmation
où ça a maintes fois été discuté, même en 16-bits en 1992...
mardi 7 octobre 2008 à 20:00:10 | Re : Curseur invisible avec SetCursor(NULL)

Leucistic



L'ouverture de l'esprit n'est pas une fracture du crâne

mardi 7 octobre 2008 à 23:02:34 | Re : Curseur invisible avec SetCursor(NULL)

racpp

Administrateur CodeS-SourceS
Salut,
jeffy131 >> Si tu ne connais pas la réponse ou tu ne comprends pas le problème évoqué, ce n'est pas la peine de balancer des liens inutiles.
Leucistic >> Cela dépend de ce que tu veux faire exactement.
- SetCursor() et ShowCursor() ne fonctionnent qu'avec les fenêtres.
- Pour cacher le curseur du système, y compris celui des fenêtres et consoles, tu peux utiliser SetSystemCursor() en passant le handle d'un curseur transparent comme premier paramètre.
- Tu peux mettre le curseur de la souris en bas à droite de l'écran et l'empêcher de se déplacer en faisant comme ceci:
    int largeur=GetSystemMetrics(SM_CXSCREEN);
    int hauteur=GetSystemMetrics(SM_CYSCREEN);
    SetCursorPos(largeur,hauteur);
    RECT rect;
    SetRect(&rect,largeur,hauteur,largeur,hauteur);
    ClipCursor(&rect);

 et pour le libérer tu fais:
    ClipCursor(0);
- Pour cacher le curseur seulement dans la console, je ne sais pas.


mercredi 8 octobre 2008 à 10:41:20 | Re : Curseur invisible avec SetCursor(NULL)

Leucistic

Merci racpp !!!
Je pensais avoir mal cherché dans les news, mais apparemment non.

J'arrive a faire fonctionner le code qui met le curseur en bas à droite, mais ca ne correspond pas à mes attentes. Je m'explique : Je dispose d'une dalle tactile, l'utilisation de la souris est donc supprimée. En revanche, en touchant l'écran qui engendrera un simple clic, je souhaite ne pas voir le curseur. Or, avec la solution du curseur en bas à droite, il ne semble pas être capable de sélectionner quelque chose.

C'est donc la fonction SetSystemCursor mais je n'arrive pas à comprendre les paramètres à lui envoyer...
J'ai bien compris qu'il fallait le handle du curseur et par quoi le remplacer, j'ai donc essayer :
SetSystemCursor(NULL, NULL);
SetSystemCursor(GetCursor(), NULL);
Mais sans succès !

L'ouverture de l'esprit n'est pas une fracture du crâne

jeudi 9 octobre 2008 à 01:05:36 | Re : Curseur invisible avec SetCursor(NULL)

nanonavich



// cache mouse cursor
    ShowCursor(false);

// voir mouse cursor
    ShowCursor(true);


ou si tu est un peut fou tu prend un dessinateur tu dessine un cursor avec la couleur invisible et tu le load comme cursor (:

jeudi 9 octobre 2008 à 01:58:11 | Re : Curseur invisible avec SetCursor(NULL)

racpp

Administrateur CodeS-SourceS
nanonavich >> Il est en mode console. Comme je l'ai précisé plus haut, ShowCursor() ne fonctionne qu'avec les fenêtres. Il veut cacher le curseur système.
Leucistic >> SetSystemCursor() requiert comme premier paramètre le handle d'un curseur. Ce dernier peut être soit créé par programmation soit récupéré comme ressource de l'exécutable. Je vais faire un petit exemple et le poster comme code source.

jeudi 9 octobre 2008 à 02:35:37 | Re : Curseur invisible avec SetCursor(NULL)

racpp

Administrateur CodeS-SourceS
Je viens de déposer le code source. Le zip contient un curseur transparent.
CACHER LES CURSEURS SYSTEME

jeudi 9 octobre 2008 à 08:48:06 | Re : Curseur invisible avec SetCursor(NULL)

Leucistic

Euh ...
C'est normal si il me dit que le code source est désactivé ?
jeudi 9 octobre 2008 à 19:18:48 | Re : Curseur invisible avec SetCursor(NULL)

racpp

Administrateur CodeS-SourceS
C'est bizarre car aucun admin ne l'a désactivé. Je viens de le réactiver tu peux donc le consulter.


Cette discussion est classée dans : printf, visible, curseur, invisible, setcursor


Répondre à ce message

Sujets en rapport avec ce message

Curseur invisible [ par Naze ] Salut,comment fais-on pour facilement masquer le curseurs souris? Merci setcursor marche pas [ par mouss8 ] je voulais changer l'image du curseur de la souris par la commande SetCursor(LoadCursor(NULL,IDC_SIZEWE)); mais ça ne marche pas .comment faire pour m rendre un exe invisible [ par julien20vt ] Voila, j'ai un programme programmé avec visual C++ utilisant les MFC, et il n'a aucun interface graphique, je voudrais qu'il soit invisible, donc que Aide fichier :) [ par asnow ] Salut a tous :)Voila mon tit code pour ouvrir un fichiervoid Ouverture () {char nomf[20]; printf("Entrez le nom du fichier :"); scanf("%s", nomf curseur [ par ToToL ] Comment enlever le curseur sous dev c++ puis le remmetre ? je trouve pas les fonctionhelp me plz----------------------------------------------Programm programmation joystick [ par MadNomad53 ] J'ai un probleme de linkage avec ce programme:voici le source:#include #include // pour printf#include // pour les fonctions du joystickvoid main(){ CORRECTION HELP PLEASE NOOB [ par ziziboss ] #include #include #include int main (){ int nb_alea = 0; int nb_choisi = 0; randomize (); nb_alea = random(101); do { clrscr (); printf("Vous conversion de syntaxe en compilateur [ par laulau10 ] int i=1;do printf("coucou");whil(i=1);on peux me dire commen,t convertir ceci pour que ca fonctionne sous dev-c++ void Fa() { asm{ MOV AX,3 INT 0x33 Bouton visible ou non __vite!!! [ par curator68 ] Salut,J'aimerai pouvoir rendre visible ou non un bouton, en cliquant sur un autre, comment faire????Je trouve nul part.Merci d'avance.Curator68<img sr [C] lecture d'un fichier [ par GazGaz ] lu allalors voila en fait je lis un fichier en c et le probleme c'est que ce fichier est composé de lignes dont la taille exècede largement les 80 car


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,822 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales