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

  FORUM HardWare.fr
  Programmation
  C++

  clignotement d'image lors d'un changement de dim de fenetre

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

clignotement d'image lors d'un changement de dim de fenetre

n°1314748
sebbis
Posté le 27-02-2006 à 19:44:28  profilanswer
 

bonjour,
 
J'ai écrie un programme qui affiche une image dans une application multidocument (MDI) avec les mfc.
lorsque je redimensionne la fenetre qui contient l'image mon image clignote car apperement windows redessine le font de la fenetre avant de faire appel a la fonction ondraw, (et donc efface l'image precedemment affiché juste avant que la fonction ondraw la réaffiche).
Je voudrais savoir s'il est possible de specifier une zone (la zone ou mon image est affiché) ou le font de la fenetre n'est pas redessiné et ainsi eviter ces clignotement.
Pour être plus clais ce que je voudrai, c'est specifier une zone de ma fenêtre enfant qui n'est pas éffacé lorsque j'apelle la fonction ondraw qui va redessiner par dessus.
 
Je met le morceau de code si cela peut aider. Merci d'avance

Code :
  1. void CViewerView::OnDraw(CDC* pDC)
  2. {
  3. CViewerDoc* pDoc = GetDocument();
  4. ASSERT_VALID(pDoc);
  5. if (!pDoc)
  6.  return;
  7. CvImage * working_image=((CViewerDoc *)GetDocument())->GetImage();
  8.     if(working_image!=NULL)
  9. {
  10.         DisplayImage(working_image, pDC);
  11. }
  12. // TODO : ajoutez ici le code de dessin pour les données natives
  13. }


mood
Publicité
Posté le 27-02-2006 à 19:44:28  profilanswer
 

n°1314772
slash33
Posté le 27-02-2006 à 20:08:45  profilanswer
 

La fenêtre clignote parce que le fond est redessiné à chaque modification de la taille. Si tu veux l'éviter tu peux redéfinir le gestionnaire de WM_ERASEBKGROUND pour qu'il ne fasse rien ou dessiner le bitmap à ce moment là (penser à cliper le bitmap pour ne pas dessiner 2 fois d'affilée à l'emplacement du bitmap ce qui produirait le même effet de clignottement)


Message édité par slash33 le 27-02-2006 à 20:09:18
n°1314776
sebbis
Posté le 27-02-2006 à 20:20:27  profilanswer
 

Merci, ca vas bien m'aider, par contre qu'est que tu apelles cliper un bitmap ?

n°1314919
slash33
Posté le 27-02-2006 à 23:32:34  profilanswer
 

GetClipBox, IntersectClipRect, SelectClipRgn...
http://msdn.microsoft.com/library/ [...] g_6583.asp
 
Bref, les joies du GDI!


Message édité par slash33 le 27-02-2006 à 23:33:39
n°1315088
sebbis
Posté le 28-02-2006 à 10:42:28  profilanswer
 

Merci, Ca marche grace à toi ^^

n°1315266
slash33
Posté le 28-02-2006 à 13:18:24  profilanswer
 

Pas de quoi. Mais je n'ai fait que t'indiquer les outils.


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

  clignotement d'image lors d'un changement de dim de fenetre

 

Sujets relatifs
Changement de ligne en CSSProbléme d'acquisition d'image.
Liens ouvrant sur nouvelle fenetreCentrer une image dans un ScrollPane
[C++] Agrandir une imageComment cacher la fenetre (echo off ne fct° pas !)
Transparence d'image cssUn roll over en CSS avec une seule image
Fixer la dimension d'une imagepb upload image
Plus de sujets relatifs à : clignotement d'image lors d'un changement de dim de fenetre


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