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 :

[Thread][CDialog] afficher un curseur d'attente


Sujet :

MFC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de homeostasie
    Homme Profil pro
    Inscrit en
    Mai 2005
    Messages
    939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 939
    Par défaut [Thread][CDialog] afficher un curseur d'attente
    Bonsoir,

    Voilà, je désire afficher un curseur d'attente à l'intérieur d'un thread mais je me retrouve confronté à un probleme.

    En effet, déclarer directement BeginWaitCursor() puis EndWaitCursor(), une fois le traitement terminé, n'a aucun effet, de même utiliser CWaitCursor.

    J'ai donc posté un message (PostMesage()) en destination de la fenêtre principale pour lancer les deux fonctions de gestion du curseur d'attente en fonction du paramètre transmis. Et là ca fonctionne seulement si pendant le temps de l'opération, on ne bouge plus le curseur. Dans le cas contraire, il redevient "normal".
    Alors j'ai pensé à intercepté le message window OnSetCursor() pour gérer cela lorsque la souris bouge. Ceci fonctionne mais je trouve cette solution vraiment lourde...

    Connaitriez vous une autre méthode pour implémenter cela? ou une astuce?

    Merci

    Nicolas

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    salut,
    essaye de faire :
    mettre le curseur d'attente
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     AfxGetApp()->DoWaitCursor(1);
    remet le curseur normal.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    AfxGetApp()->DoWaitCursor(0);
     AfxGetApp()->DoWaitCursor(-1);

  3. #3
    Membre émérite Avatar de homeostasie
    Homme Profil pro
    Inscrit en
    Mai 2005
    Messages
    939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 939
    Par défaut
    Bonjour,

    Ceci ne fonctionne pas non plus. En fait, si je ne me trompe pas, l'appel aux fonctions BeginWaitCursor() et EndWaitCursor() appellent les fonctions que tu me présentes.

    Je crois que je vais me contenter de la méthode que j'ai implémenté..

    Bonne journée

    Nicolas

Discussions similaires

  1. Afficher le curseur à l'endroit voulu
    Par walid_kerkoub dans le forum Delphi
    Réponses: 1
    Dernier message: 13/08/2006, 18h38
  2. Thread pour afficher dans une CListCtrl
    Par gaudi dans le forum MFC
    Réponses: 14
    Dernier message: 10/08/2006, 12h25
  3. Afficher un message d'attente en SQL Server
    Par bong03 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 10/05/2006, 09h43
  4. Afficher le curseur de la souris
    Par bassim dans le forum C
    Réponses: 3
    Dernier message: 02/12/2005, 17h12
  5. Permanence du curseur d'attente
    Par Depteam1 dans le forum MFC
    Réponses: 6
    Dernier message: 01/12/2004, 11h52

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