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 :

Permanence du curseur d'attente


Sujet :

MFC

  1. #1
    Membre du Club
    Inscrit en
    Avril 2002
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 48
    Points : 46
    Points
    46
    Par défaut Permanence du curseur d'attente
    Bonjour,

    J'ai besoin d'activer un curseur d'attente pour une longue opération qui fait appel à plusieurs sous-fonctions à la fonction où est déclarée le curseur. Or, le curseur, déclaré localement, semble ne plus être actif dès l'instant où le code passe dans les sous-fonctions. Est-il possible de résoudre le problème et d'activer un curseur de façon permanente tant que la totalité des sous-fonctions n'est pas exécutée?


    Bien à vous tous,
    Hugues.

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2004
    Messages : 189
    Points : 126
    Points
    126
    Par défaut
    Moi personnelement j'ai des sous fonction et j'utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    CWaitCursor wait; // curseur d'attente 
     
    // Traitement 
     
    //SousFct()
     
    wait.Restore();
    Et cela fonctionne

  3. #3
    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
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    a condition que le traitement laisse "respirer" l'application

  4. #4
    Membre du Club
    Inscrit en
    Avril 2002
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 48
    Points : 46
    Points
    46
    Par défaut Permanence du curseur d'attente
    Etant donné que ce sont les sous-fonctions appelées qui prennent plusieurs secondes d'exécution, j'ai mis un curseur d'attente dans ces sous-fonctions. Le curseur change alors d'aspect comme souhaité mais ne permet pas d'empêcher la sélection du menu principal, ce que je pensais que ferait le curseur d'attente.

    Voici ce que j'ai alors fait pour résoudre le problème : au début de ma fonction principale qui lance l'exécution de toute la routine, qui se trouve dans la view, je bloque l'accès au frame en faisant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    CMainFrame *pptr = (CMainFrame*) GetParentFrame();
    pptr->EnableWindow(FALSE);
    ce qui empêche l'accès au menu (et à la sélection du contenu de la grille qui se trouve dans ma vue, ce qui est aussi le but).

    Bien sûr, lorsque ma fonction principale se termine, je libère le frame en faisant un pptr->EnablleWindow(TRUE);

    Voilà. Si quelqu'un pense à une meilleure solution, les suggestions sont les bienvenues!

    Bien à vous tous,
    Hugues

  5. #5
    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
    Points : 17 323
    Points
    17 323

  6. #6
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2004
    Messages : 189
    Points : 126
    Points
    126
    Par défaut
    Sinon tu peux capter le message UPDATE_COMMANDE_UI pour chaque partie du menu et dans la fonction associée a ce message tu grisses la partie du menu, ca permet de grisser ceux que tu veux car pas tjs utile de tt griser

  7. #7
    Membre du Club
    Inscrit en
    Avril 2002
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 48
    Points : 46
    Points
    46
    Par défaut Permanence du curseur d'attente
    D'après mes premiers tests, SetCapture() and ReleaseCapture() fonctionnent très bien.... Merci à tous.... pour une question que j'avais déjà posée il y a quelques temps (sans l'avoir appronfondie) et dont Farscape se souvenait puisqu'il m'avait déjà donné la réponse....

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

Discussions similaires

  1. mettre le Curseur en sablier durant l'attente
    Par louvinon dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 17/04/2012, 10h01
  2. Gestion d'un curseur d'attente
    Par magellan94 dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 23/02/2012, 09h57
  3. curseur en mode attente
    Par olivier59820 dans le forum MATLAB
    Réponses: 2
    Dernier message: 29/06/2011, 11h14
  4. Curseur Sablier pour attente
    Par Charly910 dans le forum Débuter
    Réponses: 6
    Dernier message: 03/03/2010, 18h18
  5. [Thread][CDialog] afficher un curseur d'attente
    Par homeostasie dans le forum MFC
    Réponses: 2
    Dernier message: 15/03/2007, 11h22

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