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

Bibliothèques Discussion :

[Win32] L'apparence change avec le temps.


Sujet :

Bibliothèques

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    22
    Points
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 22
    Points : 25
    Par défaut [Win32] L'apparence change avec le temps.
    Bonjour,

    Je suis en train de développer une application (graphique) qui tournera indéfiniment. Pour cela j'utilise Win32 API.

    Le problème c'est que quand je lance mon application, et seulement au bout de quelques dizaines de minutes, elle ne se dessine pas comme il faut. (Elle est redessinée toutes les 3/4 secondes minimum)

    Par exemple :
    - Les rectangles ne se dessinent plus.
    - La police change de taille (plus précisément garde celle utilisée avant car je change souvent de taille durant le WM_PAINT)

    Est-ce que quelqu'un a déjà eu ce problème ou sait comment le régler ?

    Merci d'avance.

  2. #2
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 522
    Points
    20 830
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 522
    Points : 20 830
    Par défaut
    Citation Envoyé par Delabrfi Voir le message
    Bonjour,
    Je suis en train de développer une application (graphique) qui tournera indéfiniment. Pour cela j'utilise Win32 API.
    ah tiens il y a encore des gens qui utilisent l'API win32 sur terre ?

    Citation Envoyé par Delabrfi Voir le message
    Le problème c'est que quand je lance mon application, et seulement au bout de quelques dizaines de minutes, elle ne se dessine pas comme il faut. (Elle est redessinée toutes les 3/4 secondes minimum)

    Par exemple :
    - Les rectangles ne se dessinent plus.
    - La police change de taille (plus précisément garde celle utilisée avant car je change souvent de taille durant le WM_PAINT)
    sans code minimal on ne peut pas t'aider...
    si tu gères WM_PAINT , minimalement on obtient un HDC avec BeginPaint(), il faut appeler EndPaint() et tu dessines avec le HDC.

    Si tu as des problèmes avec la police ( de caractères pas la police municipale ) c'est que les objets GDI alloués sont mal effacés (j'ai déjà eu ce problème) à chaque appel de WM_PAINT donc à chaque rafraichissement de l'écran , donc il faut bien appeler DeleteObject()

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 721
    Points
    10 803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 721
    Points : 10 803
    Par défaut
    Impossible de t'aider : l'affichage de la Win32 on peut écrire un roman tellement il y a des écueils (dans un sens cela a 20 ans maintenant, dans un monde où les cartes graphiques n'existaient pas )

    Mais, ma petite contribution:
    • Si un objet ne se dessine pas c'est : la parent n'est pas le bon, soit il est hors-zone affichage, soit le handle est pourri, soit le parent refuse de se mettre à jour ou alors il le fait mal.
    • Si la fonte est capricieuse, c'est ton HFont qui est pourrit



    Citation Envoyé par Mat.M Voir le message
    ah tiens il y a encore des gens qui utilisent l'API win32 sur terre ?
    Delphi - C++/ bibliothèque VCL

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    22
    Points
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 22
    Points : 25
    Par défaut
    Oui c'est pour que mon programme tourne partout, même sur les vielles machines.
    Question de portabilité..

    J'ai bien le BeginPaint() et EndPaint(). Je créé plusieurs objets que je delete à la fin.

    Cependant je crois avoir trouvé l'erreur..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SelectObject(hdc,CreateFontIndirect(&lf));
    Ainsi j'allouai une nouvelle font à chaque fois que j’exécutai cette ligne..

Discussions similaires

  1. Réponses: 0
    Dernier message: 06/11/2009, 10h45
  2. animation qui change avec le temps
    Par ralf91 dans le forum Flash
    Réponses: 0
    Dernier message: 12/06/2008, 15h20
  3. Problème avec le temps
    Par Vergil dans le forum Windows
    Réponses: 6
    Dernier message: 27/01/2007, 21h57
  4. différence avec du temps, comparaison et erreur
    Par robert_trudel dans le forum Access
    Réponses: 3
    Dernier message: 19/10/2006, 18h40
  5. Réponses: 1
    Dernier message: 18/09/2006, 03h41

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