begin process at 2012 05 29 15:10:59
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Graphique

 > 

pb d'actualisation d'affichage.


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

pb d'actualisation d'affichage.

lundi 19 décembre 2005 à 22:17:45 | pb d'actualisation d'affichage.

gege1024

j'ai un programme qui fais bcp de choses (lol)
pour pimenter le tout j'ai fais un menu pour personnaliser l'interface (couleur du fond, couleur des controles...)

le pb est que lorsque je choisi une image sur le disque (parcours du disque dur et selection), mon dialogue ne s'actualise pas.
par contre lorsque je choisi une couleur perso ou une image qui est dans les ressources pour le fond -> pas de probleme.

PS: le changement se fait à la volée grace à un RedrawWindow(). si je quitte mon prog et que je le réouvre, là pas de probleme (je gere les sauvegardes) car mon appli passe par OnInitDialog -> OnPaint() .....

PS2: quel sont les messages successifs interceptés par windows de l'init d'un dialog à la femeture ?.


gege

lundi 19 décembre 2005 à 22:31:21 | Re : pb d'actualisation d'affichage.

BruNews

Administrateur CodeS-SourceS
ouh là, des dizaines...
Mets WM_xxx das MSDN et tu auras la liste devant toi.

ciao...
[ Lien ]
BruNews, MVP VC++
lundi 19 décembre 2005 à 22:38:30 | Re : pb d'actualisation d'affichage.

gege1024

je met un peu de code ici, je ne comprend pas pourquoi ca marche pas avec le cas 1.
j'au un bouton sur le dialogue qui fait un RedrawWindow().
si qq'un pouvais essayer ca ?
(il faut un groupe de radio et un bouton qui fait RedrawWindow() )

BOOL CDialog::OnEraseBkgnd(CDC* pDC)
{

 if (m_radio_fond == 0)
 {
  // COULEUR DU FOND
  // Fixe une brosse avec la couleur de fond choisie
  CBrush BkClrBrush(RGB(coul_fond_r, coul_fond_v, coul_fond_b));

  // Sauvegarde l’ancienne brosse.
  CBrush* pOldBrush = pDC->SelectObject(&BkClrBrush);
  CRect rect;
  pDC->GetClipBox(&rect);    // récupère la zone a effacer.

  pDC->PatBlt(rect.left, rect.top, rect.Width(),rect.Height(), PATCOPY);
  pDC->SelectObject(pOldBrush);// restitue l’ancienne brosse.
  return true;
 }

 else if (m_radio_fond == 1)
 { 
  // CHARGE IMAGE FICHIER
  CPaintDC hdc(this);
  HBITMAP bit;
  BITMAP bitmap;
  CRect rect;
  GetClientRect(&rect);
  
  bit= (HBITMAP) LoadImage(NULL, fic_img_abs, IMAGE_BITMAP,0,0, LR_DEFAULTSIZE | LR_LOADFROMFILE);
  GetObject(bit, sizeof(BITMAP), &bitmap);
  HDC bit_dc = CreateCompatibleDC(hdc);
  SelectObject(bit_dc, bit);
  StretchBlt(hdc,0,0,rect.Width(),rect.Height(),bit_dc,0,0,bitmap.bmWidth,bitmap.bmHeight, SRCCOPY );
  DeleteObject(bit);
  DeleteDC(bit_dc); 
  return true;
  
 }

  CBitmap bmp;
  CBitmap *ptrBmpOld;
  CDC dcMemory;
  BITMAP bm;
  CRect rect;
  int nHor,nVer;

  bmp.LoadBitmap(IDB_BITMAP_CONF);
  bmp.GetBitmap(&bm);
  GetClientRect(rect);
  nHor = rect.Width()/bm.bmWidth+1;
  nVer = rect.Height()/bm.bmHeight+1;
  dcMemory.CreateCompatibleDC(pDC);
  ptrBmpOld=dcMemory.SelectObject(&bmp);

  // etirer l'image (contrairement à bitblt)
  pDC->StretchBlt(0,0,rect.Width(),rect.Height(),&dcMemory,0,0,bm.bmWidth,bm.bmHeight, SRCCOPY );
  dcMemory.SelectObject(ptrBmpOld);
  return TRUE;
}


gege

lundi 19 décembre 2005 à 22:51:46 | Re : pb d'actualisation d'affichage.

gege1024

Trouvé
c'est dans OnPaint() qu'il faut faire mon cas 1
merci msdn

gege



Cette discussion est classée dans : pb, couleur, fond, affichage, actualisation


Répondre à ce message

Sujets en rapport avec ce message

couleur de fond CListCtrl [ par julok2 ] Bonjour,est-il possible de définir dans une CListCtrl ( j'utilise VC++6.0 et les MFC) une couleur de fond différente pour chaque case?Merci bien Couleur de fond (DEV-C++) [ par Jcedric42 ] Salut tous,J'aimerez avoir comment il faut faire pour metre une couleur d'arriere plan en sortie MS-DOS,avec Dev-C++ .Merci D'avance pb affichage BITMAP [ par pichu ] Sur certains PC, le bitmap ne s'affiche pas notamment lorsque je fais le code suivant alors que sur d'autres PC cela il s'affiche bien:CBitmap h ;h.Lo pb affichage de polygone [ par dbtm ] J'essaie d'afficher un polygone. Quand je fait tourner le polygone, il disparaît par moment.Si j'aligne le polygone sur les axes et que je le tourne, CheckListBox en couleur [ par garslouche ] Bonjour,je voudrais modifier la couleur de fond d'une CCheckListBox.J'ai bien essayé d'utiliser OnCtlColor mais ça ne marche pas (alors qu'avec un CLi [TC++3.0] pb d'affichage de l'heure du systeme!!!!! [ par kobee12 ] J'ai essaye d'afficher l'heure du systeme avec la structure 'dostime_t'. Seulement a chaque fois que j'affiche l'heure il m'ecrit un truc du style : ' ListCtrl couleur de fond des cases [ par gus2647 ] Bonjour, Je viens de creer une listctrl et j aimerais changer le bkgcolor de la case en fonction de la valeur quelle contient (vert si positif, rouge Pb affichage BMP en VC++ 6.0 [ par gastoudou ] Bonjour à tous,J'ai un problème d'affichage avec mes BMP. Elles sont complètement explosées quand je les affiche à l'écran...Quelqu'un peut-il me dire couleur de fond d'une DialogBox [ par glipper ] Bonjour,Je cherche un moyen de changer la couleur de fond d'une dialogbox simplement ! A defaut d'une solution simple, serait-il possible d'avoir une Affichage d'un fond + de petits tiles avec SDL [ par cyberlewis ] Slt à tous,Qui peut m'aider la dessus svp ?Vla j'ai un blem, j'arrive afficher une image de fond avec SDL,et aussi un tile, même plusieurs ...Mais j'a


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,858 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales