IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

Utiliser un curseur animé


Sujet :

MFC

  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2006
    Messages : 71
    Par défaut Utiliser un curseur animé
    Bonjour,

    Quelqu'un sait-il comment remplacer le curseur par un curseur animé ? (petit sablier windows qui tourne afin de montrer que l'appli n'a pas plantée)

    J'ai lu sur la msdn qu'il faut importer un fichier .ani en tant que resource binaire. Mais ensuite je ne sais pas quoi faire avec. En tout cas, LoadCursor() ne fonctionne pas.

    Une suggestion ?

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    303
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 303

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2006
    Messages : 71
    Par défaut
    Mais il bouge pas ton tit curseur là !

    Tout ça pour que l'utilisateur paniqué ne s'imagine pas que l'appli est plantée pdt le traitement.

  4. #4
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    En quoi le curseur "bouge pas" avec BeginWaitCursor() (Ou mieux, la classe CWaitCursor) ?
    Es-tu sûr au moins que ton curseur d'attente de tes paramètres souris de Windows est bien un curseur animé ?

    Si tu tiens à utiliser ton curseur personnel au lieu du curseur choisi par l'utilisateur, tu peux essayer LoadAnimatedCursor()...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    303
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 303
    Par défaut
    Si il ne bouge pas c'est que tu monopolises toutes les resources système sans rendre la main.
    Place donc quelques PumpMessages() (cfr. FAQ) dans ton code pour rendre la main et permettre le redraw de ta fenetre

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2006
    Messages : 71
    Par défaut


    Oui effectivement ça fonctionne quand je choisis les curseurs animés pour windows..
    Je ne savais pas que les curseurs de l'appli étaient définis par windows !

    Bon ben merci bien je crois que mon problème est réglé, et j'ai meme une piste pour soigner la présentation de mon appli qui a des petits problèmes de rafraichissement.

    Merci !

  7. #7
    Membre chevronné Avatar de stephdim
    Profil pro
    Inscrit en
    Août 2007
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 462
    Par défaut
    Je crois pas que le PumpMessage() ait un rapport avec ton curseur animé.
    Pour BeginWaitCursor() et EndWaitCursor(), il y a une classe qui fait tout ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    class CWaitCursor;
    juste besoin de la déclarer. le constructeur et destructeur s'occupe déjà de faire le BeginWaitCursor() et le EndWaitCursor(). Et au moins t'es sur de ne pas oublier de faire un EndWaitCursor().

    @+

  8. #8
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2006
    Messages : 71
    Par défaut
    Ok merci pour le tips.

    Effectivement mon problème n'avait rien a voir avec PumpMessages().

    Aussi, petite précision, même avec avec BeginWaitCursor() appelé en début de fonction, le programme remet automatiquement le curseur normal lorsqu'on ressort de cette fonction !

  9. #9
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    À mon avis, ce n'est pas "lorsque l'on ressort de la fonction", car BeginWaitCursor() retourne void.
    C'est sans doute "lorsqu'on retourne dans la pompe à messages" ou un truc de ce style...

    Edit: La doc de BeginWaitCursor() dit explicitement que le curseur d'attente peut être instable.
    Je conseille de TOUJOURS mettre le EndWaitCursor(), ou d'utiliser la classe CWaitCursor à la place.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Utilisation de curseur..
    Par Nadaa dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 26/07/2006, 10h49
  2. [Débutant] Utilisation de curseurs
    Par snoopy69 dans le forum Oracle
    Réponses: 17
    Dernier message: 14/06/2006, 08h50
  3. Réponses: 2
    Dernier message: 16/05/2006, 09h57
  4. [TChart] Comment utiliser le curseur sur une courbe ?
    Par marsupilami34 dans le forum Composants VCL
    Réponses: 4
    Dernier message: 29/09/2005, 16h49
  5. utilisation de curseur
    Par diunisu06 dans le forum Sybase
    Réponses: 5
    Dernier message: 26/06/2003, 12h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo