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

Windows Discussion :

Création d'une pause au milieu d'une application


Sujet :

Windows

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 90
    Points : 52
    Points
    52
    Par défaut Création d'une pause au milieu d'une application
    Je viens d'écrire un programme utilisant des API win32 affichant, sous forme d'une boite de dialogue, une image relativement chargée.
    Au cours de ce programme, j'appelle très fréquemment une routine d'affichage qui me donne dans une fenêtre, sous forme d'un texte, l'état de différentes valeurs en cours de traitement.
    Dans cette routine, je dois donc bloquer son exécution le temps de lire les données. J'utilise pour cela une fonction MessageBox(...). Mais cette fonction affiche sa boite de dialogue avec son bouton en plein milieu de l'écran c'est à dire par dessus les infos qui m'interessent.
    J'aimerais utiliser un bouton personnel pour remplacer cet appel à MessageBox. Ce bouton, je sais bien l'utilser à partir de la procédure de création de ma propre boite de dialogue mais je ne vois pas comment lui faire commander une pause au milieu de ma routine???

  2. #2
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 83
    Points : 71
    Points
    71
    Par défaut
    Sleep(tps en milliseconde)?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 90
    Points : 52
    Points
    52
    Par défaut Pause au milieu d'une application
    Merci, effectivement cela marche, mais je pense que mon utilisation du terme "pause" pouvait prêter à confusion. En fait, mon problème se décrit mieux comme une interruption du programme en cours. Ce dernier se mettant en attente, par exemple, d'une action sur un bouton.
    En fait, j'ai résolu la chose en appelant dans ma routine une nouvelle boite de dialogue uniquement constituée d'un bouton. Ensuite, une boucle classique d'attente de message se met en action, attendant un clic sur le bouton en question.
    Cela est peut-être un peu "lourd" mais fonctionne...

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Ce que j'utilise généralement pour interrompre complètement un programme graphique, c'est quelque chose encore plus lourd mais qui a le mérite de bloquer complètement Le déroulement de l'application (alors qu'une simple boite de message génère deux pompes à message imbriquées et ne bloque pas complètement la fenêtre derrière) :
    Lors de l'interruption, je crée un nouveau thread qui lui, appelle MessageBox(). Le thread appelant est complètement bloqué sur un WaitForSingleObjetc() qui attend la fin du thread de la boite de message.
    Ainsi, la boite de message est complètement indépendante de la fenêtre (hWndParent doit être NULL) et je suis sûr que RIEN ne se passe dans le thread appelant (et dans la fenêtre) pendant ce temps-là...
    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.

Discussions similaires

  1. Réponses: 3
    Dernier message: 22/08/2010, 17h40
  2. Réponses: 4
    Dernier message: 04/12/2008, 19h53
  3. Réponses: 1
    Dernier message: 07/10/2007, 10h53
  4. Réponses: 4
    Dernier message: 24/04/2007, 16h07
  5. Marquer une pause avant de lancer une action
    Par PrinceMaster77 dans le forum ASP
    Réponses: 1
    Dernier message: 12/07/2006, 11h50

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