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

 C++ Discussion :

Fonction FillRect n'affiche rien!


Sujet :

C++

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 27
    Points : 15
    Points
    15
    Par défaut Fonction FillRect n'affiche rien!
    Bonjour,

    J'essaie d'afficher un carré dans la fenêtre du jeux "Démineur".
    Pour ce faire j'utilise (enfin j'essaie ^^") la fonction FillRect qui trace un solide dans un handle, seulement voilà, rien ne s'affiche... :/

    Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    #include <iostream>
    #include <Windows.h>
     
    using namespace std;
     
    int main()
    {
        /* RECHERCHE FENETRE */
        HWND win_exist;
        do
        {
            win_exist = FindWindow(0, "Démineur");
        }while(win_exist == 0);
        HDC HDC_Desktop = GetDC(win_exist);
        cout << "Demineur ===> " << HDC_Desktop << endl;
     
        /* TRACE RECTANGLE */
        RECT rect = {100, 100, 200, 200};
        HBRUSH brush = CreateSolidBrush(RGB(0, 0, 0));
        FillRect(HDC_Desktop, &rect, brush);
     
     
        return 0;
    }
    Je ne vois vraiment pas mon erreur et même après de nombreuses recherches je ne comprend pas.
    Auriez-vous vu mon erreur?

    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    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 379
    Points : 41 572
    Points
    41 572
    Par défaut
    Je pense que c'est une histoire de clipping: Hors d'un traitement de WM_PAINT, la zone de clipping de la fenêtre est vide car il n'y a rien à rafraichir.
    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.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 27
    Points : 15
    Points
    15
    Par défaut
    Salut Médinoc

    J'ai vérifier et le carré que je cherche à afficher est bien dans la zone de clipping... Donc le problème ne viens pas de là :/

  4. #4
    Membre éclairé
    Inscrit en
    Décembre 2010
    Messages
    290
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 290
    Points : 719
    Points
    719
    Par défaut
    Je n'ai pas le démineur sur mon système, donc j'ai essayé avec la calculatrice, après avoir changé l'intitulé de la fenêtre à trouver.
    Chez moi ça marche.

    Toutefois :
    - Tu oublies un appel à ReleaseDC() après ton dessin.
    - Es-tu sûr que la fenêtre est bien trouvée ? en particulier, "Démineur" contient un accent et suivant tes options de compilations ça peut avoir des effets indésirables.
    - C'est quoi ton objectif exactement ?

Discussions similaires

  1. fonction recherche qui affiche rien
    Par molo1987 dans le forum Langage
    Réponses: 2
    Dernier message: 24/01/2011, 19h41
  2. pourquoi mon quickreport n'affiche rien ?
    Par bertrand_declerck dans le forum Bases de données
    Réponses: 8
    Dernier message: 31/07/2005, 00h59
  3. Fonction permettant d'afficher le chemin d'un fichier
    Par kilinette dans le forum Langage
    Réponses: 4
    Dernier message: 22/06/2004, 10h52
  4. [LG]Programme qui n'affiche rien
    Par ousunas dans le forum Langage
    Réponses: 4
    Dernier message: 17/02/2004, 19h38
  5. Opengl n'affiche rien.
    Par Fugus02 dans le forum OpenGL
    Réponses: 4
    Dernier message: 06/01/2004, 15h41

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