Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1535 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Help a propos de la classe CPaintDC !!!!

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Help a propos de la classe CPaintDC !!!!

n°633770
lecoyote
Posté le 06-02-2004 à 17:50:55  profilanswer
 

Dans mon application MFC, je souhaite afficher des images BMP avec un rafraichissement.
Pour ce faire, j'utilise la fct CPaintDC.
Mon soucis, c que je n'arive qu'a l'utiliser qu'une seule fois !  
je m'explique :
Lors du lancement du programme, je souhaite afficher un cadre à l'intérieur duquel il
recevra l'image BMP.
J'ai rempli le code à l'intérieur de OnPaint(), qui est la 1ere fct appelé après la création de l'app.
puis, en cliquant sur un bouton ("image" par ex.), je souhaite afficher l'image BMP.
Le pb, c'est qu'en déclarant un autre objet de CPaintDC, comme la précédente à "toujours la main" sur l'interface graphique,
celle-ci ne s'affiche pas !
Alors, je suis obligé de créé un cadre en meme tps que l'affichage de l'image :(
J'ai pensé mettre l'objet comme donné membre :D , mais lors de l'affectation ("this" ), ca chie ! :(
Y a p-e une solution qui permet de killer l'instance après son utilisation non ?
une solution ?

mood
Publicité
Posté le 06-02-2004 à 17:50:55  profilanswer
 

n°636047
lecoyote
Posté le 09-02-2004 à 14:53:32  profilanswer
 

personne ?
 
sinon, voici le code que je met dans OnPaint() :

Code :
  1. void CAfficheImageDlg::OnPaint() //Cadre noir
  2. {
  3. CPaintDC dh(this);
  4. Rectangle(dh,69,59,361,280);
  5. DeleteDC(dh);
  6. }


 
et dans OnGetImage() (un bouton que g placer moi-meme, qui doit afficher l'image) :

Code :
  1. void CAfficheImageDlg::OnGetImage()
  2. {
  3. CPaintDC dc(this);
  4. Rectangle(dc,69,59,361,280);
  5. HBITMAP bit;
  6. BITMAP bitmap;
  7. bit= (HBITMAP)
  8.  LoadImage(NULL, image, IMAGE_BITMAP,0,0, LR_DEFAULTSIZE|LR_LOADFROMFILE);
  9. HDC bit_dc = CreateCompatibleDC(dc);
  10. GetObject(bit, sizeof(BITMAP), &bitmap);
  11. int LS = bitmap.bmWidth;
  12. int HS = bitmap.bmHeight;
  13. SelectObject(bit_dc, bit);
  14. StretchBlt(dc,70,60,290,219,bit_dc,0,0,LS-x,HS-


 
si j'enleve le code placer ds OnPaint, le bouton marche bien, sinon, ca chie, il fait que le cadre...

n°637206
lecoyote
Posté le 10-02-2004 à 12:45:30  profilanswer
 

  [:atigrou_tt]


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Help a propos de la classe CPaintDC !!!!

 

Sujets relatifs
[LDAP] classe standard avec plusieurs attributs multi valuésles classe std::vector de la STL et cycle de vie des objets
help sur accesshelp flash mw
exercice d'algo noté : help me please !![HELP] Données Access a mettre à jour via un fichier excell
classe templates et amies[MySQL] moyenne pondérée, j'y arrive pas ! (help me please)
HELP, pb d'espace ( le caractère )Include ne fonctionne pas, Problème PHP je pense « HELP
Plus de sujets relatifs à : Help a propos de la classe CPaintDC !!!!


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR