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

wxWidgets Discussion :

Problème wxStaticBitmap et wxMilliSleep


Sujet :

wxWidgets

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 7
    Par défaut Problème wxStaticBitmap et wxMilliSleep
    Bonjour à tous.
    Voilà le problème : J'ai un wxStaticBitmap et j'ai créé une méthode pour lui afficher une image pendant 500ms puis revenir à l'image de départ.
    Mais j'ai l'impression que le décompte du temps se fait avant l'affichage de la première image ce qui fait qu'elle ne s'affiche pas !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    bool MonBitmap::AllumerJaune()
    {
        // affiche xpmJaune qui est un wxBitmap
        this->SetBitmap(xpmJaune);
     
        // attendre 500ms
        wxMilliSleep(500);
     
        // Revenir à l'image de départ (xpmEteint)
        this->SetBitmap(xpmEteint);
        return true;
    }
    Quelqu'un a-t-il une solution ?

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    717
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 717
    Par défaut
    Le problème est que tu ne redonne pas la main au gestionnaire d'évènements entre les deux, du coup la première image n'est même pas affichée.

    Solution 1 (simple) : utilise wxGetApp().Yield() avant le sleep pour que l'évènement d'affichage de la première image soit traité. Par contre l'application restera bloquée pendant les 500ms.

    Solution 2 (plus propre, l'application ne reste pas bloquée) : utilise un wxTimer one shot qui va générer un évènement au bout de 500ms pour changer d'image.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 7
    Par défaut
    Ok merci beaucoup Sylvain.
    - Solution 1 : ça marche nickel.
    - Solution 2 : ça marche nickel. Je vais l'utiliser.

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

Discussions similaires

  1. Problème d'installation oracle 8.1.7 sous NT
    Par Anonymous dans le forum Installation
    Réponses: 7
    Dernier message: 02/08/2002, 14h18
  2. Problème d'impression
    Par IngBen dans le forum C++Builder
    Réponses: 7
    Dernier message: 22/05/2002, 11h37
  3. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10
  4. Réponses: 6
    Dernier message: 25/03/2002, 21h11

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